7 Appendix A- HTTP Response Codes
NsSelection Scenarios & Error Codes
Table 7-1 General Scenarios
| Scenario | Error Code | Error String |
|---|---|---|
| Mandatory query params missing | 400 |
Missing required parameters: <param> |
| Duplicates present in query params | 400 |
Duplicate query param: <param> |
| Unknown Query params | 400 |
Unknown Parameter/Parameters found: <param> |
| Incorrect Json Format | 400 |
Invalid JSON format: <reason> |
| Unrecognized property in Json | 400 |
Unrecognized Property detected: <param> |
| Unsupported PLMN received | 403 |
Unsupported PLMN received |
| Both content-type & accept headers invalid | 415 |
Content Type [application/invalid] not allowed. Allowed types: [application/json] |
| Invalid Accept header | 406 |
Specified Accept Types [application/invalid] not supported. Supported types: [application/json] |
Table 7-2 Initial Registration and UE Configuration Update
| Scenarios | Error Code | Updated Error Response |
|---|---|---|
| Constraint violations for request parameters (multiple validation issues) |
400
|
- Mandatory parameter missing:
<param>.
- Optional parameter
incorrect: Size must be between 1–8
(for requested NSSAI list).
- Optional parameter
incorrect: sd must be a 6-digit
hexadecimal.
- Mandatory parameter incorrect:
sst must be between
0–255.
- Mandatory parameter
incorrect: tac is incorrect — must
match regex `(^([0-9a-fA-F]){4}$)
|
Duplicates present in lists (subscribed /
requested)
|
400
|
Duplicate S-NSSAI present in subscribedNssai
list: {snssai}.
Duplicate S-NSSAI present in
requestedNssai list:
{snssai}.
|
| When AutoConfig is off and no AMF supports any allowed S-NSSAI |
403
|
Unable to find an AMF that supports the allowed S-NSSAIs. |
| No allowed S-NSSAI found |
403
|
Unable to compute AllowedNssai.
|
| No subscribed S-NSSAI is part of configured S-NSSAI |
403
|
Unable to compute AllowedNssai.
|
| No S-NSSAI configured for PLMN |
403
|
Unable to compute AllowedNssai. (With the
re-architectured NsSelection code, AllowedNssai is
computed first; if no S-NSSAI is configured for the PLMN in
plmnInfo.configuredNssai we respond with
Unable to compute AllowedNssai.)
|
Table 7-3 PDU Session Establishment
| Scenarios | Error Code | Updated Error Response |
|---|---|---|
No data configured for requested PLMN
(plmnInfo.configuredNssai is empty)
|
403
|
S-NSSAI is not authorized — PLMN data is not configured for the requested PLMN. (Detailed error will be returned.) |
S-NSSAI not part of plmnInfo.configuredNssai for
requested PLMN
|
403
|
S-NSSAI is not authorized. (Detailed error will be returned.) |
S-NSSAI part of plmnInfo.configuredNssai but
restricted at PLMN
|
403
|
S-NSSAI is not authorized. (Detailed error will be returned.) |
S-NSSAI part of plmnInfo.configuredNssai but
restricted at TAI
|
403
|
S-NSSAI is not authorized. (Detailed error will be returned.) |
AutoConfig is off and SupportedSlicesMapping not
configured for requested TAI
|
403
|
S-NSSAI is not authorized —
SupportedSlicesMapping data is not configured
for the requested TAI. (Detailed error will be returned.)
|
| AutoConfig is off and requested S-NSSAI not supported in the given TAI (operator config) |
403
|
S-NSSAI is not authorized. (Detailed error will be returned.) |
| S-NSSAI not supported by any AMF in the TAI (based on NsAvailability data) |
403
|
S-NSSAI is not authorized — unable to find an AMF that supports the requested S-NSSAI. (Detailed error will be returned.) |
NsAvailability Scenarios & Error Codes
Table 7-4 NsAvailability PUT
| Scenarios | Error Code | Updated Error Response |
|---|---|---|
| Mandatory params missing |
400
|
- Case-1:
• Cause:
MANDATORY_IE_MISSING
• Detail:
Mandatory parameter missing
• Reason: Mandatory
parameter missing: TAI (parameter name fully
capitalized for TAI, PLMN,
SNSSAI, SST,
SD, TAC, MCC,
MNC)
- Case-2:
• Cause: MANDATORY_IE_MISSING
•
Detail: Mandatory parameter missing
• Reason:
Mandatory parameter missing: supportedSnssaiList
(param name in normal text format)
|
| Invalid mandatory params value |
400
|
Cause: MANDATORY_IE_INCORRECT
• Detail: Mandatory parameter incorrect
• Reason: Mandatory parameter incorrect:
<param name> is incorrect
|
| Invalid optional params value |
400
|
Cause: OPTIONAL_IE_INCORRECT
• Detail: Optional IE incorrect
•
Reason: Optional parameter incorrect:
supportedFeatures (param name with message if
required)
|
| Incorrect JSON format |
400
|
Cause: INVALID_INPUT_DATA
• Detail: Invalid JSON format
|
| Unrecognized property in JSON |
400
|
Cause: INVALID_INPUT_DATA
• Detail: Unrecognized property detected:
<param name> |
| Unsupported PLMN received |
403
|
Cause: PLMN_NOT_SUPPORTED
• Detail: Unsupported PLMN(s) received:
<unsupported PLMN details> |
| Unconfigured S-NSSAI received |
403
|
Cause: SNSSAI_NOT_SUPPORTED
• Detail: Unconfigured S-NSSAI(s) found:
SNSSAI <details> for TAI:
<details> |
| Payload too large |
413
|
Cause: PAYLOAD_TOO_LARGE
• Detail: Request payload size is too large,
configured size: <configured size>, requested
payload size: <requested size> |
| Duplicate S-NSSAI in request |
400
|
Cause: INVALID_INPUT_DATA
• Detail: Duplicate entries found in
supportedSnssaiList for SNSSAI
<details> for TAI:
<details> |
| Duplicate TAI in request |
400
|
Cause: INVALID_INPUT_DATA
• Detail: Duplicate TAI found in
supportedNssaiAvailabilityData for TAI:
<details> |
Request with ONSSAI data
(TaiList/TaiRangeList)
|
400
|
Cause: INVALID_INPUT_DATA
• Detail: TaiList must not be
present since ONSSAI is not supportedCause:
UNSUPPORTED_FEATURE
• Detail:
TaiList must not be present since ONSSAI is not
supported
|
| Database error |
500
|
Cause: DB_ERROR
•
Detail: Failed to store data due to database error: <db
exception message>Cause:
DB_QUERY_ERROR
• Detail: Failed
to store data, failed to execute DB queryCause:
DB_CONNECTIVITY_ERROR• Detail:
Failed to store data due to DB connection error: <db
exception message> |
| Invalid supported features value |
400
|
Cause: OPTIONAL_IE_INCORRECT
• Detail: Optional parameter incorrect
• Reason: Optional parameter incorrect:
supportedFeatures |
| Unsupported features value |
400
|
Cause: UNSUPPORTED_FEATURE
• Detail: Unsupported feature requested:
[unsupported feature list] |
| Negotiation feature not enabled |
400
|
Cause: OPTIONAL_IE_INCORRECT
• Detail: Feature negotiation is not enabled on
NSSF
|
Table 7-5 NsAvailability PATCH
| Scenarios | Error Code | Updated Error Response |
|---|---|---|
| Mandatory params missing |
400
|
Cause: MANDATORY_IE_MISSING
• Detail: Mandatory parameter missing
• Reason: Mandatory parameter missing:
path |
| Invalid mandatory params value |
400
|
Cause: MANDATORY_IE_INCORRECT
• Detail: Mandatory parameter incorrect
• Reason: Mandatory parameter incorrect:
TAC is incorrect, the value is not in correct
format (param name with valid message)
|
| Data not found from DB |
404
|
Cause: RESOURCE_NOT_FOUND
• Detail: AMF data not found for amfId:
<id> |
| Patch document missing in request |
400
|
Cause: MANDATORY_IE_MISSING
• Detail: Patch document/List of patch items must
not be empty
|
| Incorrect JSON format |
400
|
Cause: INVALID_INPUT_DATA
• Detail: Invalid JSON format
|
| Incorrect patch requested |
400
|
Cause: INVALID_INPUT_DATA
• Detail: Could not apply patch: Invalid patch
requested
|
| JSON parsing exception while applying patch |
400
|
Cause: INVALID_INPUT_DATA
• Detail: Could not apply patch: Invalid patch
requested
|
| Incorrect path |
400
|
Cause: MANDATORY_IE_INCORRECT
• Detail: Could not apply patch: Invalid
path
|
| Unsupported PLMN received |
403
|
Cause: PLMN_NOT_SUPPORTED
• Detail: Unsupported PLMN(s) received:
<unsupported PLMN details> |
| Unconfigured S-NSSAI received |
403
|
Cause: SNSSAI_NOT_SUPPORTED
• Detail: Unconfigured S-NSSAI(s) found:
SNSSAI <details> for TAI:
<details> |
| Unrecognized property in JSON |
400
|
Cause: INVALID_INPUT_DATA
• Detail: Unrecognized property detected:
<param name> |
| Payload too large |
413
|
Cause: PAYLOAD_TOO_LARGE
• Detail: Request payload size is too large,
configured size: <configured size>, requested
payload size: <requested size> |
| Duplicate S-NSSAI in request |
400
|
Cause: INVALID_INPUT_DATA
• Detail: Duplicate entries found in
supportedSnssaiList for SNSSAI
<details> for TAI:
<details> |
| Duplicate TAI in request |
400
|
Cause: INVALID_INPUT_DATA
• Detail: Duplicate TAI found in
supportedNssaiAvailabilityData for TAI:
<details> |
| Database error |
500
|
Cause: DB_ERROR
•
Detail: Failed to store data due to database error: <db
exception message>Cause:
DB_QUERY_ERROR
• Detail:
Unable to store data, failed to execute DB queryCause:
DB_CONNECTIVITY_ERROR
•
Detail: Unable to store data due to DB connection error:
<db exception message> |
| Patch operation add/replace without value (missing/null) |
400
|
Cause: MANDATORY_IE_INCORRECT
• Detail: Invalid patch request: value must not be
null for <operation name> operation
|
Table 7-6 NsAvailability DELETE
| Scenarios | Error Code | Updated Error Response |
|---|---|---|
| Data not found from DB |
404
|
Cause: RESOURCE_NOT_FOUND
• Detail: AMF data not found for amfId:
<id> |
| Delete with request payload |
400
|
Cause: INVALID_INPUT_DATA
• Detail: DELETE request must not contain a
body
|
NsSubscription Error Scenarios
Table 7-7 NsSubscription POST
| Scenarios | Error Code | Updated Error Response |
|---|---|---|
| Feature negotiation is disabled |
400
|
Cause: OPTIONAL_IE_INCORRECTDetail: Feature negotiation is not enabled from
NSSF side
|
| Invalid supported features value |
400
|
Cause: OPTIONAL_IE_INCORRECTDetail: Optional IE
incorrectinvalidParams:
[{"param":"supportedFeatures","reason":"Optional
parameter incorrect: supportedFeatures"}] |
| Unsupported features value |
400
|
Cause: UNSUPPORTED_FEATUREDetail: Unsupported feature requested
|
| Invalid subscription event |
400
|
Cause: MANDATORY_IE_INCORRECTDetail: Unsupported event received
|
Duplicate TAI in TaiList |
400
|
Cause: MANDATORY_IE_INCORRECTDetail: Duplicate elements detected in TAI list.
Duplicate TAI: {TAI} |
| Unsupported PLMN received |
403
|
Cause: PLMN_NOT_SUPPORTEDDetail: Unsupported PLMN(s) received. PLMN:
<unsupported plmn> |
| Received expiry less than min allowed duration |
400
|
Cause: OPTIONAL_IE_INCORRECTDetail: Requested expiry duration is less than
minimum allowed expiry duration
|
| Received expiry less than current time |
400
|
Cause: OPTIONAL_IE_INCORRECTDetail: Requested expiry time is less than current
time
|
| Error converting subscription data to JSON string |
400
|
Cause: INVALID_INPUT_DATADetail: Failed to convert event subscription data
in JSON object: <exception message> |
Empty taiRangeList received
|
400
|
Cause: OPTIONAL_IE_INCORRECTDetail: taiRangeList cannot be
present when ONSSAI is not supported
|
Valid taiRangeList received
|
400
|
Cause: OPTIONAL_IE_INCORRECTDetail: taiRangeList cannot be
present when ONSSAI is not supported
|
| Location URL missing/invalid |
500
|
Cause: CONFIGURATION_ERRORDetail: Invalid
location/nssfApiRoot URL
|
Invalid 3gpp-Sbi-Binding header
|
400
|
Cause: INVALID_INPUT_DATADetail: Invalid 3gpp-Sbi-Binding
header received.
Supported pattern:
bl=nf-set;
nfset=set<setId>.region<regionId>.amfset.5gc.mnc<mnc>.mcc<mcc>Detail: Invalid setId
<setId> received in header
Detail: Invalid regionId <regionId>
received in header
Detail: Invalid mcc
<mcc> received in header
Detail:
Invalid mnc <mnc> received in header
|
| NSSF not part of NF Set, GR disabled |
500
|
Cause: CONFIGURATION_ERRORDetail: Indirect communication is true but NFs and
GR are not enabled
|
| Invalid NSSF API Root |
500
|
Cause: CONFIGURATION_ERRORtitle: INVALID_LOCATION_URLDetail: Invalid
location/nssfApiRoot URL
|
| Unsupported PLMN part of binding header |
500
|
Cause: PLMN_NOT_SUPPORTEDDetail: Unsupported PLMN(s) received. PLMN:
<unsupported plmn> |
| Failed to compute routing binding header |
500
|
Cause: UNSPECIFIED_NF_FAILUREDetail: Unable to compute
3gpp-Sbi-Binding header for NSSF
|
Table 7-8 NsSubscription PATCH
| Scenarios | Error Code | Updated Error Response |
|---|---|---|
| Subscription not found or deleted |
404
|
Cause: RESOURCE_NOT_FOUNDDetail: Data not found for subscriptionId:
<subId> |
| SUMOD is disabled |
405
|
Cause: METHOD_NOT_ALLOWEDDetail: Request method PATCH is not supported when
SUMOD is false |
| JSON parsing failed |
400
|
Cause: INVALID_INPUT_DATADetail: Could not apply patch. Invalid patch
requested
|
| DB exception |
500
|
Cause: DB_ERROR
Detail: Failed to store data due to database error. <db
exception message>Cause:
DB_QUERY_ERROR Detail: Failed to store data,
failed to execute DB query
Cause:
DB_CONNECTIVITY_ERROR
Detail:
Failed to store data due to DB connection error. <db
exception message> |
| Replication down and Patch/Delete received for another site |
500
|
Cause: REPLICATION_CHANNEL_BROKENDetail: Replication channel is down. Cannot apply
patch
|
| Empty patch document received |
400
|
Cause: MANDATORY_IE_MISSINGDetail: Patch document/List of patch items must
not be empty
|
| Unsupported patch operation received |
400
|
Cause: MANDATORY_IE_INCORRECTDetail: Mandatory parameter
incorrectinvalidParams:
[{"param":"op","reason":"Mandatory parameter incorrect:
must be a valid HTTP PATCH operation"}] |
Table 7-9 Generic Exceptions List
| Scenarios | Error Code | Updated Error Response |
|---|---|---|
| DB exceptions |
500
|
Cause: DB_ERROR
Detail: Failed to store data due to database error. <db
exception message>Cause:
DB_QUERY_ERROR
Detail: Failed
to store data, failed to execute DB query
Cause:
DB_CONNECTIVITY_ERROR
Detail:
Failed to store data due to DB connection error. <db
exception message> |
| Missing param |
400
|
Cause: MANDATORY_IE_MISSINGCause:
OPTIONAL_IE_MISSING |
| Incorrect param |
400
|
Cause: MANDATORY_IE_INCORRECTCause:
OPTIONAL_IE_INCORRECT |
| Unexpected exceptions |
500
|
Cause: INTERNAL_SERVER_EXCEPTIONDetail: <localized error
message> |