Check if target can be assigned to Experience
/experiences/{experienceId}/assignabilityValidates whether a specific Experience is available to the user with a given target (e.g., phone number).
Use this endpoint before attempting to create an Experience Connection.
Scopes: experience-assignability:check
429 response is declared, though the endpoint is rate limited to 100 requests per second per credential (see the Rate limits section of API conventions). The gateway does return 429 when you exceed it, so a client generated from this spec will treat a real, expected response as unexpected. Handle 429 explicitly, and back off rather than retrying immediately. Annotated reference →Gap ID a9b5f8a9fdb3
Path parameters
experienceIdrequired | string | ID of the Experience |
Query parameters
targetTyperequired | TargetType | Filter by target type Allowed: ACCOUNT, PHONE_NUMBER, USER |
targetValuerequired | TargetValue | Filter by target value. Format depends on targetType:• PHONE_NUMBER: E.164 format (e.g., +14155551234)• USER: UUID format (e.g., c07881d7-200f-424e-b760-f24838f31eef)• ACCOUNT: UUID format (e.g., c07881d7-200f-424e-b760-f24838f31eef) |
Responses
200 Assignability checked successfully
| Field | Type | Description |
|---|---|---|
experienceIdrequired | string | ID of the Experience being checked |
targetTyperequired | TargetType | Allowed: ACCOUNT, PHONE_NUMBER, USER |
targetValuerequired | TargetValue | |
assignablerequired | boolean | Whether a specific Experience is available to the user with a given target (e.g., phone number). Return false if the given target cannot be found. |
{
"experienceId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"targetType": "PHONE_NUMBER",
"targetValue": "+14155551234",
"assignable": true
}
400 Bad Request. Possible causes:
• targetType is missing or not a valid enum value
• targetValue is missing
• targetValue format does not match the expected format for the given targetType:
- PHONE_NUMBER requires E.164 format (e.g., +14155551234)
- USER requires UUID format (e.g., c07881d7-200f-424e-b760-f24838f31eef)
- ACCOUNT requires UUID format (e.g., c07881d7-200f-424e-b760-f24838f31eef)
| Field | Type | Description |
|---|---|---|
type | string | URI reference that identifies the problem type |
titlerequired | string | Short human-readable summary of the problem type |
statusrequired | integer | The HTTP status code |
detail | string | Human-readable explanation specific to this occurrence of the problem |
instance | string | URI reference identifying the specific resource or endpoint on which the problem occurred |
traceIdrequired | string | Trace ID for tracking the request |
errors | array of object | Optional list of errors encountered during the request |
{
"title": "Bad Request",
"status": 400,
"detail": "targetType must be one of PHONE_NUMBER, USER, ACCOUNT",
"traceId": "6d4a3a62-0d4b-4b96-9171-8c5070e01c35"
}
401 Unauthorized - Missing or expired access token. Obtain a new token and retry.
| Field | Type | Description |
|---|---|---|
type | string | URI reference that identifies the problem type |
titlerequired | string | Short human-readable summary of the problem type |
statusrequired | integer | The HTTP status code |
detail | string | Human-readable explanation specific to this occurrence of the problem |
instance | string | URI reference identifying the specific resource or endpoint on which the problem occurred |
traceIdrequired | string | Trace ID for tracking the request |
errors | array of object | Optional list of errors encountered during the request |
{
"title": "Unauthorized",
"status": 401,
"detail": "Access token is missing or has expired",
"traceId": "6d4a3a62-0d4b-4b96-9171-8c5070e01c35"
}
403 Forbidden - Experience exists, the authenticated user has authorization to read but no authorization to check assignability for the Experience
| Field | Type | Description |
|---|---|---|
type | string | URI reference that identifies the problem type |
titlerequired | string | Short human-readable summary of the problem type |
statusrequired | integer | The HTTP status code |
detail | string | Human-readable explanation specific to this occurrence of the problem |
instance | string | URI reference identifying the specific resource or endpoint on which the problem occurred |
traceIdrequired | string | Trace ID for tracking the request |
errors | array of object | Optional list of errors encountered during the request |
{
"title": "Forbidden",
"status": 403,
"detail": "The authenticated user does not have authorization to check assignability for this Experience",
"traceId": "6d4a3a62-0d4b-4b96-9171-8c5070e01c35"
}
404 Not Found - Experience does not exist or the authenticated user does not have authorization to access the Experience
| Field | Type | Description |
|---|---|---|
type | string | URI reference that identifies the problem type |
titlerequired | string | Short human-readable summary of the problem type |
statusrequired | integer | The HTTP status code |
detail | string | Human-readable explanation specific to this occurrence of the problem |
instance | string | URI reference identifying the specific resource or endpoint on which the problem occurred |
traceIdrequired | string | Trace ID for tracking the request |
errors | array of object | Optional list of errors encountered during the request |
{
"title": "Resource Not Found",
"status": 404,
"detail": "The requested Experience does not exist",
"traceId": "6d4a3a62-0d4b-4b96-9171-8c5070e01c35"
}
curl -X GET "https://api.b2.alianza.com/experiences/{experienceId}/assignability?targetType=...&targetValue=..." \
-H "Authorization: Bearer $TOKEN"const res = await fetch(
`https://api.b2.alianza.com/experiences/\${experienceId}/assignability` + "?" + new URLSearchParams({ "targetType": "...", "targetValue": "..." }), {
method: "GET",
headers: {
Authorization: `Bearer ${token}`
}
});
const data = await res.json();import requests
resp = requests.get(
f"https://api.b2.alianza.com/experiences/{experienceId}/assignability",
params={"targetType": "...", "targetValue": "..."},
headers={"Authorization": f"Bearer {token}"},
)
resp.raise_for_status()
data = resp.json()Try it
{
"experienceId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"targetType": "PHONE_NUMBER",
"targetValue": "+14155551234",
"assignable": true
}