Initiate Authorization initiate-authorization

NOTE
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.
NOTE
REST API implementation is bounded by Throttling mechanism

REST API Endpoints clientless-endpoints

<REGGIE_FQDN>:

<SP_FQDN>:

Description description

Obtains authorization response.

Endpoint
Called
By
Input
Params
HTTP
Method
Response
HTTP
Response
<SP_FQDN>/api/v1/authorize
Streaming App

or

Programmer Service
1. requestor (Mandatory)
2. deviceId (Mandatory)
3. resource (Mandatory)
4. device_info/X-Device-Info (Mandatory)
5. deviceType
6. deviceUser (Deprecated)
7. appId (Deprecated)
8. extra parameters (Optional)
GET
XML or JSON containing authorization details or error details if unsuccessful. See samples below.
200 - Success
403 - No Success
Input Parameter
Description
requestor
The Programmer requestorId for which this operation is valid.
deviceId
The device id bytes.
resource
A string that contains a resourceId (or MRSS fragment), identifies the content requested by a user and is recognized by MVPD authorization endpoints.
device_info/

X-Device-Info
Streaming Device information.

Note: This MAY be passed device_info as a URL paramater, but due to the potential size of this paramater and limitations on the length of a GET URL, it SHOULD be passed as X-Device-Info n the http header.

See the full details in Passing Device and Connection Information.
deviceType
The device type (e.g. Roku, PC).

If this parameter is set correctly, ESM offers metrics that are broken down per device type when using Clientless, so that different types of analysis can be performed for e.g. Roku, AppleTV, Xbox etc.

See Benefits of clientless device type parameter in pass metrics

Note: the device_info will replace this parameter.
deviceUser
The device user identifier.
appId
The application id/name.

Note: the device_info replaces this parameter.
extra parameters
The call may also contain optional parameters that enable other functionalities like:

* generic_data - enables the use of Promotional TempPass

Example: generic_data=("email":"email@domain.com")
CAUTION
Streaming Device IP Address

For Client-to-Server implementations, the Streaming Device IP Address is implicitly sent with this call. For Server-to-Server implementations, where the regcode call is made by the Programmer Service and not the Streaming Device, the following header is required to pass the Streaming Device IP Address:
code language-none
X-Forwarded-For : <streaming\_device\_ip>
where <streaming\_device\_ip> is the Streaming Device public IP address.


Example :
code language-none
POST /reggie/v1/{req_id}/regcode HTTP/1.1
X-Forwarded-For:203.45.101.20

Sample Response sample-response

  • Case 1: Success

    • XML:

      code language-xml
      <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
      <authorization>
      <expires>1348148289000</expires>
      <mvpd>sampleMvpdId</mvpd>
      <requestor>sampleRequestorId</requestor>
      <resource>sampleResourceId</resource>
      </authorization>
      
    • JSON:

      code language-json
      {
        "mvpd": "sampleMvpdId",
        "resource": "sampleResourceId",
        "requestor": "sampleRequestorId",
        "expires": "1348148289000"
      }
      
    note important
    IMPORTANT
    When the response comes from a Proxy MVPD, it may include an additional element named proxyMvpd.
  • Case 2: Authorization denied

    code language-json
    <error>
      <status>403</status>
      <message>User not authorized</message>
      <details>Your subscription package does not include the "ASFAFD" channel.
      Please go to http://www.ca.ble/upgrade in order to upgrade your subscription.</details>
    </error>
    
recommendation-more-help
3f5e655c-af63-48cc-9769-2b6803cc5f4b