Check if target can be assigned to Experience
/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
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/experience/experiences/{experienceId}/assignability?targetType=...&targetValue=..." \
-H "Authorization: Bearer $TOKEN"const res = await fetch(
`https://api.b2.alianza.com/experience/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/experience/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
}