action velopayments_invite_user { label: "Invite a User" description: "Create a User and invite them to the system\n" provider: velopayments method: POST path: "/v2/users/invite" encoding: json input: { type: "object" required: ["email", "mfaType", "primaryContactNumber", "roles", "smsNumber"] properties: { email: { type: "string" format: "email" description: "the email address of the invited user" } entityId: { type: "string" format: "uuid" description: "The payorId or payeeId or null if the user is a backoffice admin\n" } firstName: { type: "string" } lastName: { type: "string" } mfaType: { type: "string" description: "

The MFA type that the user will use

\n

The type may be conditional on the role(s) the user has

\n" enum: ["SMS", "YUBIKEY", "TOTP"] } primaryContactNumber: { type: "string" description: "The main contact number for the user\n" } roles: { type: "array" description: "The role(s) for the user\nThe role must exist\nThe role can be a custom role or a system role but the invoker must have the permissions to assign the role\nSystem roles are: velo.backoffice.admin, velo.payor.master_admin, velo.payor.admin, velo.payor.support, velo.payee.admin, velo.payee.support\n" items: { type: "string" } } secondaryContactNumber: { type: "string" description: "The secondary contact number for the user\n" } smsNumber: { type: "string" description: "The phone number of a device that the user can receive sms messages on\n" } userType: { type: "string" description: "Will default to PAYOR if not provided but entityId is provided" enum: ["BACKOFFICE", "PAYOR", "PAYEE"] } verificationCode: { type: "string" description: "Optional property that MUST be suppied when manually verifying a user\nThe user's smsNumber is registered via a separate endpoint and an OTP sent to them\n" } } } output: { type: "object" additionalProperties: true } }