You can create a meeting using the Skype for Business User API (UCWA), which is now available for Skype for Business Online (Office 365).
Specifically, you need to make a POST request to the "myOnlineMeetings" resource:
POST https://lyncweb.contoso.com/ucwa/oauth/v1/applications/103...740/onlineMeetings/myOnlineMeetings HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer cwt=AAEB...buHc
[...]
{
"attendanceAnnouncementsStatus":"Disabled",
"description":"hey guys let's do a musical!",
"subject":"holiday party",
"attendees":["sip:[email protected]","sip:[email protected]"],
"leaders":[]
}
In the response, you'll get a "joinURL" that you can give to participants:
HTTP/1.1 200 OK
[...]
{
"accessLevel":"SameEnterprise",
"entryExitAnnouncement":"Disabled",
"attendees":["sip:[email protected]","sip:[email protected]"],
"automaticLeaderAssignment":"Disabled",
"description":"hey guys let's do a musical!",
"expirationTime":"\/Date(136...000)\/",
"leaders":[],
"onlineMeetingId":"DED...367",
"onlineMeetingUri":"sip:[email protected];gruu;opaque=app:conf:focus:id:DED...367",
"onlineMeetingRel":"myOnlineMeetings",
"organizerUri":"sip:[email protected]",
"phoneUserAdmission":"Disabled",
"lobbyBypassForPhoneUsers":"Disabled",
"subject":"holiday party",
"joinUrl":"https://meet.contoso.com/dana/DED...367","56de...4c83":"please pass this in a PUT request",
"_links":{
"self":{"href":"/ucwa/oauth/v1/applications/103...740/onlineMeetings/myOnlineMeetings/DEDX9367"},
"onlineMeetingExtensions":{"href":"/ucwa/oauth/v1/applications/103...740/onlineMeetings/myOnlineMeetings/DED...367/extensions"}
},
"rel":"myOnlineMeeting",
"etag":"891...351"
}
Note that the meeting doesn't have a scheduled time associated with it. It can be used at any time. You can of course place the URL in a calendar appointment (e.g. Outlook does this) but Skype for Business doesn't know about it.
Full details about the "myOnlineMeetings" request are here.