POSTapi.synup.com/api/v4/connected-accounts/connect-apple/bulk
Bulk connect link for Apple
Generates an Apple Business Connect OAuth link that connects multiple locations in a single authorization flow. Unlike Connect link for Apple, no locationId is supplied — the set is account/platform-scoped. Redirect the user to the returned url; the link is valid for 1 day.
Use platform to target local (default) or social, and entityId to supply the brand ID when platform is social.
Apple OAuth link variants:
- Connect link for Apple — single location (
locationId). - Bulk connect link for Apple — multiple locations (this endpoint).
- Renew connect link for Apple — re-authorize an expired/revoked token.
Requires an API key. Send it as
Authorization: API <your-key> — see Getting started.Parameters
Headers
| Name | Type | Required | Description |
|---|---|---|---|
Synup-Version | string | required | API version date (YYYY-MM-DD). |
Body
| Name | Type | Required | Description |
|---|---|---|---|
input | object | required | |
input.successUrl | string | required | Redirect URL on successful authorization. |
input.errorUrl | string | required | Redirect URL on failed authorization. |
input.platform | string | optional | local (default) or social. |
input.entityId | string | optional | Brand ID when platform is social. |
input.onboarding | boolean | optional | |
input.clientMutationId | string | optional |
Request
Request
curl -X POST 'https://api.synup.com/api/v4/connected-accounts/connect-apple/bulk' \
-H 'Authorization: API YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"input": {
"successUrl": "https://app.synup.com/apple/success",
"errorUrl": "https://app.synup.com/apple/error",
"platform": "local"
}
}'const res = await fetch('https://api.synup.com/api/v4/connected-accounts/connect-apple/bulk', {
method: 'POST',
headers: {
Authorization: 'API YOUR_API_KEY',
'Content-Type': 'application/json',
},
body: JSON.stringify({
"input": {
"successUrl": "https://app.synup.com/apple/success",
"errorUrl": "https://app.synup.com/apple/error",
"platform": "local"
}
}),
});
const data = await res.json();import requests
res = requests.post(
"https://api.synup.com/api/v4/connected-accounts/connect-apple/bulk",
headers={
"Authorization": "API YOUR_API_KEY",
"Content-Type": "application/json",
},
json={
"input": {
"successUrl": "https://app.synup.com/apple/success",
"errorUrl": "https://app.synup.com/apple/error",
"platform": "local"
}
},
)
data = res.json()req, _ := http.NewRequest("POST", "https://api.synup.com/api/v4/connected-accounts/connect-apple/bulk", bytes.NewBufferString(payload))
req.Header.Set("Authorization", "API YOUR_API_KEY")
req.Header.Set("Content-Type", "application/json")
res, err := http.DefaultClient.Do(req)Responses
| Status | Description |
|---|---|
200 | Successful response |
401 | Unauthorized - Invalid or missing API key |
Example response (generated from the schema)
{
"data": {
"bulkConnectLinkForApple": {
"success": true,
"url": "string",
"errors": [
{
"code": "string",
"message": "string",
"contextInfo": [
{}
]
}
],
"clientMutationId": "string"
}
}
}Response body
| Name | Type | Required | Description |
|---|---|---|---|
data | object | optional | |
data.bulkConnectLinkForApple | object | optional | |
data.bulkConnectLinkForApple.success | boolean | optional | |
data.bulkConnectLinkForApple.url | string | optional | OAuth link to redirect the user to (1-day TTL). |
data.bulkConnectLinkForApple.errors | array of object | optional | |
data.bulkConnectLinkForApple.errors[].code | string | optional | |
data.bulkConnectLinkForApple.errors[].message | string | optional | |
data.bulkConnectLinkForApple.errors[].contextInfo | array of object | optional | |
data.bulkConnectLinkForApple.clientMutationId | string | optional |