Develop
Develop
Select your platform

Group Launch

Feature deprecation notice
Group Launch is deprecated and has been removed from the Platform SDK. For developers working on new apps or updates to existing apps, we strongly recommend using the Invite to App feature (Unity, Unreal, Native) instead.
Group Launch allows developers to create deep link urls for users to coordinate travel into your application together.
There are two types of Group Launches: private and public.
  • Private - These deep launches have exclusive user list that control the visibility and are passed to the deep link.
  • Public - These deep launches have no user list and can be used by anyone. These are the links that can be posted to social media.
These links have a configurable time to live (TTL) with a 7 day default. The associated room can be configured. Deletion is possible, but updating is not. Simply create a new deep link. The content shown on the Oculus website are the image and description from the destination the deep link is configured to.
For more information on deep link handling, see the Meta Quest Destinations and Group Presence developer docs.
To navigate users to destinations using the Meta Horizon mobile app, see Invite Link.

S2S REST requests

Our S2S REST APIs are available as a secure channel to interact with the Meta Horizon platform. For example, you may wish to track and consume coins purchased through in-app purchases on your trusted server. This prevents any client-side tampering to grant unpurchased gems. Using the S2S APIs are not required, but may be used if you wish.
See the Server-to-Server API Basics page for information about interacting with our APIs.
Use this method to create a deep link that any user can join.
URL: https://graph.oculus.com/{app-id}/app_deeplink_public
METHOD: POST
Creating a new public link:
curl -X POST https://graph.oculus.com/$APP_ID/app_deeplink_public -d "access_token=OC|$APP_ID|$APP_SECRET" -d "destination_api_name=the_front_porch" -d "create_room=true" -d "fields=url"

Parameter descriptions

Return parameter descriptions

ParameterDescriptionType
id
The id of the group launch deep link.
integer
Example return:{"id":"012345678911"}

Use this method to create a deep link with a specified leader and a list of users that is not available to the public.
URL: https://graph.oculus.com/{app-id}/app_deeplink_private
POST: /{app-id}/app_deeplink_private
Creating a new private link for a group of users:
curl -X POST https://graph.oculus.com/$APP_ID/app_deeplink_private -d "access_token=OC|$APP_ID|$APP_SECRET" -d "destination_api_name=the_front_porch" -d "create_room=true" -d "fields=url" -d "leader=$USER_ID" -d "users[]=$USER_ID_2&users[]=$USER_ID_3"
Creating a new private link for one person without a room:
curl -X POST https://graph.oculus.com/$APP_ID/app_deeplink_private -d "access_token=OC|$APP_ID|$APP_SECRET" -d "destination_api_name=the_front_porch" -d "create_room=false" -d "fields=url" -d "leader=$USER_ID"

Parameter descriptions

Return parameter descriptions

ParameterDescriptionType
id
The id of the group launch deep link.
integer
Example return:{"id":"012345678910"}

Use this method to get information about an existing group launch deep link.
URL: https://graph.oculus.com/{link_id}
METHOD: GET
Example Request (server authoritative):
GET /{link-id}/?fields=url,expiration_time,users\{alias\}
HTTP/1.1
Host: graph.oculus.com
Authorization: Bearer OC|1234757621998335|1234f7a788b0c0b270f9691d0a06d5a5
Example cURL request:
curl -G https://graph.oculus.com/$GROUP_LAUNCH_ID -d "access_token=OC|$APP_ID|$APP_SECRET" -d  "fields=url,expiration_time,users{alias}"
Parameters
Example return:{"id":"012345678912", "url":"https:\/\/www.oculus.com\/vr\/01234578999\/"}

Delete a Group Launch

Use this method to delete a group launch deep link.
URL: https://graph.oculus.com/{link_id}
METHOD:DELETE
Example request (server authoritative):
GET /{link-id}/?fields=url,expiration_time,users\{alias\}
HTTP/1.1
Host: graph.oculus.com
Authorization: Bearer OC|1234757621998335|1234f7a788b0c0b270f9691d0a06d5a5
Example cURL request:
curl -X DELETE https://graph.oculus.com/$GROUP_LAUNCH_ID -d "access_token=OC|$APP_ID|$APP_SECRET"
ParameterDescriptionType
success
A boolean that defines whether or not the request was successful.
boolean
Example return:{"success":true}

Example scenarios

Two person tournament from website

Two players have signed up on your tournament website to play against each other. You can generate a group launch link for them to launch the app directly into the match, from your website with a request to the following endpoint with parameters like these.
Endpoint: app_deeplink_private
ParameterExample value
destination_api_name
multiplayer_arcade_1v1
deeplink_message_override
tournament_match=1234
leader
5678910
users
%5B"11121314"%5D
valid_for
720
Example curl request:
curl -X POST "https://graph.oculus.com/$APP_ID/app_deeplink_private" -d "access_token=OC|$APP_ID|$APP_SECRET" -d "destination_api_name=multiplayer_arcade_1v1" -d  "deeplink_message_override=tournament_match=1234" -d "leader=$USER_ID" -d "users=['$USER_ID']" -d "valid_for=0"

New skin in your game on social media

You released a new skin in your game and want users to check it out. You can generate a deep link and post it to your Twitter with the following endpoint and parameters like these.
Endpoint: app_deeplink_public
ParameterExample value
destination_api_name
character_editor
deeplink_message_override
item=bunny_ears_5
valid_for
0
Example curl request:
curl -X POST "https://graph.oculus.com/$APP_ID/app_deeplink_private" -d "access_token=OC|$APP_ID|$APP_SECRET" -d "destination_api_name=character_editor" -d  "deeplink_message_override=item=_bunny_ears_5" -d "valid_for=0"
Your app provides a standalone account registration system. Users that have already signed up on your website don’t want to enter their complicated password in VR. You can generate an account linking deep link on-demand, and show it on your website with the following endpoint and parameters like these.
Endpoint:app_deeplink_private
ParameterExample value
destination_api_name
menu
deeplink_message_override
account_nonce=1234abcd56ef
valid_for
1
Example curl request:
curl -X POST "https://graph.oculus.com/$APP_ID/app_deeplink_private" -d "access_token=OC|$APP_ID|$APP_SECRET" -d "destination_api_name=menu" -d  "deeplink_message_override=account_nonce=1234abcd56ef" -d "leader=$USER_ID" -d "valid_for=1"
Did you find this page helpful?