Why not use the personal meeting url when connecting with a useR?

I’m using the Zoom API to connect doctors with patients. Patients want to set up a Zoom call with doctors. I was wondering why I need to use the create a meeting API endpoint when I can use the personal meeting URL of the doctor? Should I be using the create a meeting endpoint to create a meeting with the patient or is it fine to use the doctor’s personal meeting URL to allow both parties to connect? Does the personal meeting URL ever change?

Also when I try to create a meeting using my app, though it has meeting:write permissions and though the user gave access to the app, I’m still getting ‘Authenticated user has not permitted access to the targeted resource.’ error.

Can someone please help? Here’s my code

var op = {
            method: "POST",
            uri: "https://api.zoom.us/v2/users/" + options.email + "/meetings",
            body: {
                topic: "test.com 1-1 session",
                type: 1,
                settings: {
                    host_video: "true",
                    participant_video: "true"
            auth: {
                bearer: options.refreshToken
            headers: {
                "User-Agent": "Zoom-api-Request",
                "content-type": "application/json"
            json: true //Parse the JSON string in the response

        request.post(op, (error, response, body) => {
            if (error) {
                console.dir("Error " + error);
                return res.json({
                    status: "error",