Oracle Beehive
  Oracle® Beehive RESTful Web Services API Reference
  Release 2 (2.0.1.7)
  E16658-04

Contents

Principal

Read

Retreive a single Principal.

URI: /comb/v1/d/pcpl/{id}

HTTP Method: GET

Request Parameters: (expand)

Name Style Required Description

projection

Query

Restricted to:

  • BASIC
  • EMPTY
  • EMPTY_WITH_ASSIGNED_ROLES
  • EMPTY_WITH_GROUPS
  • FULL
  • META

the attributes to be fetched when loading the principal

accept

Header

Restricted to:

  • application/json
  • application/xml

Directive to the server, indicating the format of the returned payload (or error class)

runas

Query

Identity under-which to execute this operation. Callers require permission to run as a different identity.

suppress_20x_code

Query

Restricted to:

  • false
  • true

Indicates if HTTP status codes in the 200-299 range are suppressed and always returned as 200. Required when client technology assumes that any return code other than 200 is a fault.

Request Payload: No Request Payload

Response Payload: principal

Fault: restFault

Details: (expand)

HTTP Status Description
400
Error processing "runas" value
400
Format of ID specified is incorrect
400
Id type is incorrect
400
Invalid value specified for query parameter
400
Required header not specified
406
Unsupported value in Accept header
500
Internal error occurred

Sample: (expand)

    // *
    // * This function demonstates reading a single Principal item.
    // *
    // * @param "bhUtils" - Helper object
    // * @param "myBeeId" - beeId of an item to read
    // *
    // * @return The item read
    // *
    read: function(
        bhUtils,
        myBeeId) {
        // The URI for this resource
        var resourceURI = "/comb/v1/d/pcpl/" + myBeeId.id;


        // Create the XMLHttpRequest object. For simplicity, the code within
        // "bhUtils" abstracts the cross-platform differences in creating the
        // XMLHttpRequest object
        var xmlHttpRequest = bhUtils.getXMLHttpRequest();

        // Setup the XMLHttpRequest object for the action required
        // Note that you must use the HTTP GET method for this request
        xmlHttpRequest.open("GET",
            resourceURI,
            false);

        // Tell the server we want the returned object to be in JSON format
        // via the HTTP "Accept" header
        xmlHttpRequest.setRequestHeader("Accept", "application/json");

        // Send the request to the server
        xmlHttpRequest.send(null);

        // Check return code. Anything other than 200 is considered an error
        if (xmlHttpRequest.status != 200) {
            // An error occurred and an object of type "Failure" will be
            // returned. The object will be in JSON format. Deserialize the
            // JSON. Since this is a simple example, the deserialization code
            // has been moved into "bhUtils"
            var failure = bhUtils.deserializeJSON(xmlHttpRequest.responseText);

            // In this simple example, we just throw the failure object
            throw failure;
        }

        // Deserialize the JSON return. Since this is a simple example, the
        // deserialization code has been moved into "bhUtils"
        var result = bhUtils.deserializeJSON(xmlHttpRequest.responseText);

        return result;
    }

Read Batch

Retrieves one or more Principal objects from the server

URI: /comb/v1/d/pcpl/read

HTTP Method: POST

Request Parameters: (expand)

Name Style Required Description

projection

Query

Restricted to:

  • BASIC
  • EMPTY
  • EMPTY_WITH_ASSIGNED_ROLES
  • EMPTY_WITH_GROUPS
  • FULL
  • META

the projection for the snapshot

accept

Header

Restricted to:

  • application/json
  • application/xml

Directive to the server, indicating the format of the returned payload (or error class)

runas

Query

Identity under-which to execute this operation. Callers require permission to run as a different identity.

suppress_20x_code

Query

Restricted to:

  • false
  • true

Indicates if HTTP status codes in the 200-299 range are suppressed and always returned as 200. Required when client technology assumes that any return code other than 200 is a fault.

anticsrf

Query

Specifies the anti-CSRF token

content-type

Header

Restricted to:

  • application/json
  • application/xml

The standard HTTP Content-Type Header, indicating the MIME type of the payload

Request Payload: beeIdList<principal>

Response Payload: list<principal>

Fault: restFault

Details: (expand)

HTTP Status Description
400
Batch size exceeded
400
Error processing "runas" value
400
Format of ID specified is incorrect
400
Id type is incorrect
400
Invalid header specified
400
Invalid payload specified
400
Invalid value specified for query parameter
400
JSON payload received with a wrong data member type
400
No payload specified
400
Required header not specified
400
Required query parameter not specified
400
Type of payload specified does not match what is expected
406
Unsupported value in Accept header
500
Internal error occurred

Sample: (expand)

    // *
    // * This function demonstates reading several Principal items.
    // *
    // * @param "bhUtils" - Helper object
    // * @param "myBeeId1" - beeId of an item to read
    // * @param "myBeeId2" - beeId of an item to read
    // * @param "myBeeId3" - beeId of an item to read
    // *
    // * @return An array containing the items read
    // *
    readBatch: function(
        bhUtils,
        myBeeId1,
        myBeeId2,
        myBeeId3) {
        // The URI for this resource
        var resourceURI = "/comb/v1/d/pcpl/read";

        // Create list of IDs to read
        var myIDs = {
            beeType:"beeIdList",
            beeId: [
                {"beeType": "beeId", "id": myBeeId1.id},
                {"beeType": "beeId", "id": myBeeId2.id},
                {"beeType": "beeId", "id": myBeeId3.id}
            ]
        };


        // Create the XMLHttpRequest object. For simplicity, the code within
        // "bhUtils" abstracts the cross-platform differences in creating the
        // XMLHttpRequest object
        var xmlHttpRequest = bhUtils.getXMLHttpRequest();

        // Setup the XMLHttpRequest object for the action required
        // Note that you must use the HTTP POST method for this request
        xmlHttpRequest.open("POST",
            resourceURI,
            false);

        // Set the content type indicating to the server the payload is JSON
        // format
        xmlHttpRequest.setRequestHeader("Content-type", "application/json");

        // Tell the server we want the returned object to be in JSON format
        // via the HTTP "Accept" header
        xmlHttpRequest.setRequestHeader("Accept", "application/json");

        // Serialize payload as JSON. To simplify these examples, JSON
        // serialization is maintained in bhUtils
        var payload = bhUtils.serializeJSON(myIDs);

        // Send the request to the server
        xmlHttpRequest.send(payload);

        // Check return code. Anything other than 200 is considered an error
        if (xmlHttpRequest.status != 200) {
            // An error occurred and an object of type "Failure" will be
            // returned. The object will be in JSON format. Deserialize the
            // JSON. Since this is a simple example, the deserialization code
            // has been moved into "bhUtils"
            var failure = bhUtils.deserializeJSON(xmlHttpRequest.responseText);

            // In this simple example, we just throw the failure object
            throw failure;
        }

        // Deserialize the JSON return. Since this is a simple example, the
        // deserialization code has been moved into "bhUtils"
        var result = bhUtils.deserializeJSON(xmlHttpRequest.responseText);

        return result;
    }

Resolve

Resolves a name to a principal in the system. Principal names are unique in an enterprise and the name itself is usually a credential name. This method will search the directory for principals matching the supplied name and upon finding a successful match return all the principals for the parent of the matched principal.

URI: /comb/v1/d/pcpl/resolve

HTTP Method: POST

Request Parameters: (expand)

Name Style Required Description

name

Query

The name of the principal

projection

Query

Restricted to:

  • BASIC
  • EMPTY
  • EMPTY_WITH_ASSIGNED_ROLES
  • EMPTY_WITH_GROUPS
  • FULL
  • META

The projection for the returned principals

accept

Header

Restricted to:

  • application/json
  • application/xml

Directive to the server, indicating the format of the returned payload (or error class)

runas

Query

Identity under-which to execute this operation. Callers require permission to run as a different identity.

suppress_20x_code

Query

Restricted to:

  • false
  • true

Indicates if HTTP status codes in the 200-299 range are suppressed and always returned as 200. Required when client technology assumes that any return code other than 200 is a fault.

anticsrf

Query

Specifies the anti-CSRF token

Request Payload: No Request Payload

Response Payload: list<principal>

Fault: restFault

Details: (expand)

HTTP Status Description
400
Error processing "runas" value
400
Invalid value specified for query parameter
400
Required header not specified
400
Required query parameter not specified
406
Unsupported value in Accept header
500
Internal error occurred