POST

Connect By O Auth


Connects a Wix schedule (SDK | REST) to an external calendar account following OAuth authorization protocol.

Authorization flow

The full authorization flow looks like this:

  1. Call Connect By OAuth with the appropriate parameters.
  2. Redirect the owner of the external calendar account to the returned oAUthUrl.
  3. The account owner authorizes access.
  4. The account owner is automatically redirected to the URL you've provided in redirectUrl of the Connect By OAuth call.
  5. Save the new connectionId. You find it as a query parameter in the URL to which the account owner is redirected.

See this sample flow (SDK | REST) for more details.

Failure consequences

If the attempt to connect fails, the account owner is still redirected to the URL you specify in redirectUrl, but it incudes an error query parameter set to 1 of the following values:

  • reject: The external calendar owner has rejected the authorization request.
  • unsupported: Connecting to the user's external account type is not supported by the provider.
  • internal: An error unrelated to the client or the request that prevents the server from fulfilling the request.

Next steps

After connecting an external calendar account to a Wix schedule, you can do the following.

Check the 2-way-sync settings

Call List Connections (SDK | REST) and filter by the relevant schedule ID.

If needed, call Update Sync Config (SDK | REST) to adjust the syncing configuration.

Retrieve external calendar events

Once a connection is successfully created, you can call List Events (SDK | REST) to obtain an up-to-date list of events in the connected external calendars.

When to call Connect By Credentials instead

You can call Connect By Credentials (SDK | REST) if:

  • The external calendar provider doesn't support OAuth.
  • You don't want to redirect the account owner.

Call List Providers (SDK | REST) for a complete list of external calendar providers supported on the Wix site, including which authorization methods they support.

Authentication

You can only call this method when authenticated as a Wix app or Wix user identity.

Permissions
Manage Bookings - all permissions
Manage External Calendars
Learn more about app permissions.
Endpoint
POST
https://www.wixapis.com/bookings/v2/external-calendars/connections:connectByOAuth

Body Params
scheduleIdstringRequiredformat GUID

ID of the schedule to connect with the external calendar account.


providerIdstringRequiredformat GUID

ID of the external calendar provider. Find this with the List Providers endpoint.


redirectUrlstringRequiredformat WEB_URL

URL to redirect the user to after they authorize access to the external calendar account.

If the connection is successfully established, the user is redirected to this URL with a query parameter connectionId containing the new connection ID. If the attempt to connect fails, the user is redirected to this URL with a query parameter error containing the error type.

Response Object
oauthUrlstringformat WEB_URL

URL of the external calendar authorization page to redirect the user to.

Connect with an external calendar by OAuth
Request
cURL
curl -X POST 'https://www.wixapis.com/bookings/v2/external-calendars/connections:connectByOAuth' \ -H 'Authorization: <AUTH>' \ -H 'Content-Type: application/json' \ --data-raw '{ "providerId": "6c533722-f1f9-4847-95c7-d4c4922ae9b0", "scheduleId": "3e47ec65-2975-447c-a7ed-75041e850d5e", "redirectUrl": "https://mysite.com/oauth_completed" }'
Response
JSON
{ "oauthUrl": "https://authorize-url-to-redirect-user-to.com/..." }
Errors
428Failed Precondition

There is 1 error with this status code.

This method may also return standard errors. Learn more about standard Wix errors.

Did this help?