Retrieve preauthorization decisions using specific mvpd
Last update: December 6, 2024
- Topics:
- Authentication
The content on this page is provided for information purposes only. Usage of this API requires a current license from Adobe. No unauthorized use is permitted.
REST API V2 implementation is bounded by the Throttling mechanism documentation.
Request
HTTP
path
/api/v2/{serviceProvider}/decisions/preauthorize/{mvpd}
method
POST
Path Parameters
serviceProvider
The internal unique identifier associated with the Service Provider during onboarding process.
required
mvpd
The internal unique identifier associated with the Identity Provider during onboarding process.
required
Body Parameters
resources
The list of resources that require an MVPD decision before they could be displayed.
required
Headers
Authorization
The generation of the bearer token payload is described in the Authorization header documentation.
required
Content-Type
The accepted media type for the resources being sent.
It must be application/json.
It must be application/json.
required
AP-Device-Identifier
The generation of the device identifier payload is described in the AP-Device-Identifier header documentation.
required
X-Device-Info
The generation of the device information payload is described in the X-Device-Info header documentation.
It is strongly recommended to always use it when the application's device platform allows for the explicit provision of valid values.
When provided, the Adobe Pass Authentication backend will merge explicitly set values with extracted values implicitly (by default).
When not provided, the Adobe Pass Authentication backend will use extracted values implicitly (by default).
It is strongly recommended to always use it when the application's device platform allows for the explicit provision of valid values.
When provided, the Adobe Pass Authentication backend will merge explicitly set values with extracted values implicitly (by default).
When not provided, the Adobe Pass Authentication backend will use extracted values implicitly (by default).
required
X-Forwarded-For
The IP address of the streaming device.
It is strongly recommended to always use it for server to server implementations, particularly when the call is made by the programmer service rather than the streaming device.
For client to server implementations, the IP address of the streaming device is sent implicitly.
It is strongly recommended to always use it for server to server implementations, particularly when the call is made by the programmer service rather than the streaming device.
For client to server implementations, the IP address of the streaming device is sent implicitly.
optional
Adobe-Subject-Token
The generation of the single sign-on payload for the Platform Identity method is described in the Adobe-Subject-Token header documentation.
For more details about single sign-on enabled flows using a platform identity, refer to the Single sign-on using platform identity flows documentation.
For more details about single sign-on enabled flows using a platform identity, refer to the Single sign-on using platform identity flows documentation.
optional
AD-Service-Token
The generation of the single sign-on payload for the Service Token method is described in the AD-Service-Token header documentation.
For more details about single sign-on enabled flows using a service token, refer to the Single sign-on using service token flows documentation.
For more details about single sign-on enabled flows using a service token, refer to the Single sign-on using service token flows documentation.
optional
AP-Partner-Framework-Status
The generation of the single sign-on payload for the Partner method is described in the AP-Partner-Framework-Status header documentation.
For more details about single sign-on enabled flows using a partner, refer to the Single sign-on using partner flows documentation.
For more details about single sign-on enabled flows using a partner, refer to the Single sign-on using partner flows documentation.
optional
Accept
The media type accepted by the client application.
If specified, it must be application/json.
If specified, it must be application/json.
optional
User-Agent
The user agent of the client application.
optional
Response
Code
Text
Description
200
OK
The response body contains a list of decisions with additional information.
400
Bad Request
The request is invalid, the client needs to correct the request and try again. The response body may contain error information that adheres to the Enhanced Error Codes documentation.
401
Unauthorized
The access token is invalid, the client needs to obtain a new access token and try again. For more details refer to the Dynamic Client Registration Overview documentation.
405
Method Not Allowed
The HTTP method is invalid, the client needs to use an HTTP method that is permitted for the requested resource and try again. For more details refer to the Request section.
500
Internal Server Error
The server side encountered an issue. The response body may contain error information that adheres to the Enhanced Error Codes documentation.
Success
Headers
Status
200
required
Content-Type
application/json
required
Body
decisions
JSON containing a list of elements, each element having the following attributes:
Attribute
resource
The resource identifier for which the preauthorization decision is returned.
required
serviceProvider
The internal unique identifier associated with the Service Provider during onboarding process.
required
mvpd
The internal unique identifier associated with the Identity Provider during onboarding process.
required
authorized
The decision status for the resource, which can be either 'true' or 'false'.
required
source
Information about decision source:
The possible values are:
- mvpd
Decision is issued by the MVPD preauthorization endpoint. - degradation
Decision is issued as a result of degraded access. - temppass
Decision is issued as a result of temporary access. - dummy
Decision is issued as a result of dummy preauthorization feature.
required
error
The error provides additional information about the 'Deny' decision that adheres to the Enhanced Error Codes documentation.
optional
required
Error
Headers
Status
400, 401, 405, 500
required
Content-Type
application/json
required
Body
The response body may provide additional error information that adheres to the Enhanced Error Codes documentation.
required
Samples
1. Retrieve preauthorization decisions using specific mvpd
Request
POST /api/v2/REF30/decisions/preauthorize/Cablevision HTTP/1.1
Authorization: Bearer eyJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJjNGZjM2U3ZS0xMmQ5LTQ5NWQtYjc0Mi02YWVhYzhhNDkwZTciLCJuYmYiOjE3MjQwODc4NjgsImlzcyI6ImF1dGguYWRvYmUuY29tIiwic2NvcGVzIjoiYXBpOmNsaWVudDp2MiIsImV4cCI6MTcyNDEwOTQ2OCwiaWF0IjoxNzI0MDg3ODY4fQ.DJ9GFl_yKAp2Qw-NVcBeRSnxIhqrwxhns5T5jU31N2tiHxCucKLSQ5guBygqkkJx6D0N_93f50meEEyfb7frbHhVHHwmRjHYjkfrWqHCpviwVjVZKKwl8Y3FEMb0bjKIB8p_E3txX9IbzeNGWRufZBRh2sxB5Q9B7XYINpVfh8s_sFvskrbDu5c01neCx5kEagEW5CtE0_EXTgEb5FSr_SfQG3UUu_iwlkOggOh_kOP_5GueElf9jn-bYBMnpObyN5s-FzuHDG5Rtac5rvcWqVW2reEqFTHqLI4rVC7UKQb6DSvPBPV4AgrutAvk30CYgDsOQILVyrjniincp7r9Ww
Content-Type: application/json
AP-Device-Identifier: fingerprint YmEyM2QxNDEtZDcxNS01NjFjLTk0ZjQtZTllNGM5NjZiMWVi
X-Device-Info: ewoJInByaW1hcnlIYXJkd2FyZVR5cGUiOiAiU2V0VG9wQm94IiwKCSJtb2RlbCI6ICJUViA1dGggR2VuIiwKCSJtYW51ZmFjdHVyZXIiOiAiQXBwbGUiLAoJIm9zTmFtZSI6ICJ0dk9TIgoJIm9zVmVuZG9yIjogIkFwcGxlIiwKCSJvc1ZlcnNpb24iOiAiMTEuMCIKfQ==
Accept: application/json
User-Agent: Mozilla/5.0 (Apple TV; U; CPU AppleTV5,3 OS 11.0 like Mac OS X; en_US)
Body:
{
"resources": ["resource1", "resource2", "resource3"]
}
Response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
{
"decisions": [
{
"resource": "resource1 ",
"serviceProvider": "REF30",
"mvpd": "Cablevision",
"source": "mvpd",
"authorized": true
},
{
"resource": "resource2",
"serviceProvider": "REF30",
"mvpd": "Cablevision",
"source": "mvpd",
"authorized": true
},
{
"resource": "resource3",
"serviceProvider": "REF30",
"mvpd": "Cablevision",
"source": "mvpd",
"authorized": false,
"error": {
"status": 403,
"code": "preauthorization_denied_by_mvpd",
"message": "The MVPD has returned a \"Deny\" decision when requesting pre-authorization for the specified resource.",
"helpUrl": "https://experienceleague.adobe.com/docs/pass/authentication/auth-features/error-reportn/enhanced-error-codes.html",
"action": "none"
}
}
]
}
2. Retrieve preauthorization decisions using specific mvpd while degradation is applied
Request
POST /api/v2/REF30/decisions/preauthorize/${degradedMvpd} HTTP/1.1
Authorization: Bearer eyJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJjNGZjM2U3ZS0xMmQ5LTQ5NWQtYjc0Mi02YWVhYzhhNDkwZTciLCJuYmYiOjE3MjQwODc4NjgsImlzcyI6ImF1dGguYWRvYmUuY29tIiwic2NvcGVzIjoiYXBpOmNsaWVudDp2MiIsImV4cCI6MTcyNDEwOTQ2OCwiaWF0IjoxNzI0MDg3ODY4fQ.DJ9GFl_yKAp2Qw-NVcBeRSnxIhqrwxhns5T5jU31N2tiHxCucKLSQ5guBygqkkJx6D0N_93f50meEEyfb7frbHhVHHwmRjHYjkfrWqHCpviwVjVZKKwl8Y3FEMb0bjKIB8p_E3txX9IbzeNGWRufZBRh2sxB5Q9B7XYINpVfh8s_sFvskrbDu5c01neCx5kEagEW5CtE0_EXTgEb5FSr_SfQG3UUu_iwlkOggOh_kOP_5GueElf9jn-bYBMnpObyN5s-FzuHDG5Rtac5rvcWqVW2reEqFTHqLI4rVC7UKQb6DSvPBPV4AgrutAvk30CYgDsOQILVyrjniincp7r9Ww
Content-Type: application/json
AP-Device-Identifier: fingerprint YmEyM2QxNDEtZDcxNS01NjFjLTk0ZjQtZTllNGM5NjZiMWVi
X-Device-Info: ewoJInByaW1hcnlIYXJkd2FyZVR5cGUiOiAiU2V0VG9wQm94IiwKCSJtb2RlbCI6ICJUViA1dGggR2VuIiwKCSJtYW51ZmFjdHVyZXIiOiAiQXBwbGUiLAoJIm9zTmFtZSI6ICJ0dk9TIgoJIm9zVmVuZG9yIjogIkFwcGxlIiwKCSJvc1ZlcnNpb24iOiAiMTEuMCIKfQ==
Accept: application/json
User-Agent: Mozilla/5.0 (Apple TV; U; CPU AppleTV5,3 OS 11.0 like Mac OS X; en_US)
Body:
{
"resources": ["REF30", "apasstest1"]
}
Response - AuthNAll Degradation
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
{
"decisions": [
{
"resource": "REF30",
"serviceProvider": "REF30",
"mvpd": "${degradedMvpd}",
"source": "degradation",
"authorized": true
}
{
"resource": "apasstest1",
"serviceProvider": "REF30",
"mvpd": "${degradedMvpd}",
"source": "degradation",
"authorized": true
}
]
}
Response - AuthZAll Degradation
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
{
"decisions": [
{
"resource": "REF30",
"serviceProvider": "REF30",
"mvpd": "${degradedMvpd}",
"source": "degradation",
"authorized": true
}
{
"resource": "apasstest1",
"serviceProvider": "REF30",
"mvpd": "${degradedMvpd}",
"source": "degradation",
"authorized": true
}
]
}
Response - AuthZNone Degradation
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
{
"decisions": [
{
"resource": "REF30",
"serviceProvider": "REF30",
"mvpd": "${degradedMvpd}",
"source": "degradation",
"authorized": false,
"error": {
"status": 403,
"code": "authorization_denied_by_degradation_rule",
"message": "The integration has an AuthZNone rule applied for the requested resources",
"helpUrl": "https://experienceleague.adobe.com/docs/pass/authentication/auth-features/error-reportn/enhanced-error-codes.html",
"action": "none"
}
}
{
"resource": "apasstest1",
"serviceProvider": "REF30",
"mvpd": "${degradedMvpd}",
"source": "degradation",
"authorized": false,
"error": {
"status": 403,
"code": "authorization_denied_by_degradation_rule",
"message": "The integration has an AuthZNone rule applied for the requested resources",
"helpUrl": "https://experienceleague.adobe.com/docs/pass/authentication/auth-features/error-reportn/enhanced-error-codes.html",
"action": "none"
}
}
]
}
recommendation-more-help
3f5e655c-af63-48cc-9769-2b6803cc5f4b