B Working with Oracle Privileged Account Manager's RESTful Interface

This appendix describes Oracle Privileged Account Manager's RESTful interface, including the specific APIs that are exposed through this interface.

This appendix includes the following sections:

B.1 Overview

While Oracle Privileged Account Manager can be consumed through several client interfaces, its fundamental access mechanism or layer is encapsulated in its RESTful interfaces.

Note:

For information about using Oracle Privileged Account Manager's web-based Console or command line tool to perform tasks described in this appendix, refer to Chapter 4, "Starting and Using the Oracle Privileged Account Manager Console" or Appendix A, "Working with the Command Line Tool."

All interactions with Oracle Privileged Account Manager's server that are being used by external parties, such as a non-Oracle Privileged Account Manager server, are exposed through RESTful interfaces. All externally visible Oracle Privileged Account Manager resources are modeled by URIs, while standard HTTP operations are mapped to relevant Oracle Privileged Account Manager operations on those resources.

Note:

The information provided in this appendix is essentially the same whether you are using Oracle Privileged Account Manager on WebLogic or on IBM WebSphere; however, there are a few minor differences.

For more information, refer to "Differences When Using the Oracle Privileged Account Manager Command Line Tool and REST Interfaces on IBM WebSphere" in the Oracle Fusion Middleware Third-Party Application Server Guide for Oracle Identity and Access Management.

B.2 Server State Resource

This section describes the Get Server State API.

B.2.1 Get Server State

Use this API to retrieve information about the status of a server.

URI

https://opam_server_host:opam_ssl_port/opam/

Method

GET

Content-Type

 

Returns on Success

Status code 200 and JSON representation of the Server State Resource


Example B-1 Example JSON Output of Server Status

{
    "RequestorGroups" : [
        "OPAM_APPLICATION_CONFIGURATOR",
        "OPAM_SECURITY_ADMIN",
        "OPAM_USER_MANAGER",
        "OPAM_SECURITY_AUDITOR"
    ],
    "ServerState" : {
        "Status" : "Oracle Privileged Account Manager Server is up!",
        "StatusCode" : 0
    },
    "Requestor" : "master_user"
    "version":"11.1.2.2.0"
}

Where:

  • RequestorGroups are groups assigned to the user who is making the request.

  • Requestor is the user who is making the request.

  • StatusCode indicates whether the server is working properly.

    • Returns a zero (0) if the server is working properly.

    • Returns a non-zero integral value if the server has encountered some issue.

  • Status is an informative message about the state of the server.

  • version is the Oracle Privileged Account Manager version.

B.3 Configuration Resource

This section describes the following configuration resource APIs:

B.3.1 Global Configuration Resource

The APIs described in this section include:

B.3.1.1 Get Configuration Resource

Use this API to retrieve a configuration object for Oracle Privileged Account Manager.

Note:

You must be an administrator with the User Manager Admin Role, the Security Administrator Admin Role, or the Application Configurator Admin Role to use this API.

URI

https://opam_server_host:opam_ssl_port/opam/config/configid

Method

GET

Content-Type

 

Returns on Success

200 and JSON representation of a config object


Sample URI

https://opam_server_host:opam_ssl_port/opam/config/globalconfig

Example B-2 Sample JSON Representation of a config Object

{
"config":{
"configUID":"globalconfig",
"configType":"config_globalconfig",
"tdemode":[
"true"
],
"policyenforcerinterval":[
"3600"
],
"passwordcyclerinterval":[
"3600"
]
}
}

Where:

  • configUID is a unique identifier for the config object.

  • configType is the type of config object.

  • policyenforcerinterval is the interval (in seconds) in which Oracle Privileged Account Manager checks accounts and then automatically checks-in the accounts that have exceeded the expiration time defined in the Usage Policy.

  • passwordcyclerinterval is the interval (in seconds) in which Oracle Privileged Account Manager checks and then resets the password for any accounts that have exceeded the maximum password age defined in the Password Policy.

  • tdemode is a flag to request that Oracle Privileged Account Manager use TDE or non-TDE mode.

B.3.1.2 Update Configuration Resource

Use this API to modify a configuration object for Oracle Privileged Account Manager.

Note:

You must be an administrator with the Application Configurator Admin Role to use this API.

URI

https://opam_server_host:opam_ssl_port/opam/config/configid

Method

PUT

Content-Type

application/json

Body

JSON representation of Modification

Returns on Success

Status code 200


Example B-3 Example JSON Output of Modification

{
    "modifications":[
        {
            "modification":{
                "tdemode":[
                    "false"
                ]
            }
        }
    ]
}

Where:

  • modifications are an array of modification JSON objects.

  • modification is a JSON object representing the modification of a single configuration object.

  • tdemode is a flag to request that Oracle Privileged Account Manager use TDE or non-TDE mode.

B.3.2 Oracle Privileged Session Manager Configuration Resource

The APIs described in this section include:

B.3.2.1 Get Configuration Resource

Use this API to get a configuration object for Oracle Privileged Session Manager.

URI

https://opam_server_host:opam_ssl_port/opam/config/sessionmgrconfig

Method

GET

Content-Type

 

Returns on Success

Status code 200 and JSON representation of a Session Manager config object


Note:

  • You must be an administrator with the User Manager, the Security Administrator, or the Application Configurator Admin Role to use this API.

  • You cannot run two instances of Oracle Privileged Session Manager on the same machine.

Example B-4 Sample JSON Representation of Session Manager Config

{"config": {
"updateinterval": 60,
"pub-key": "ssh-dss AAAAB3NzaC1kc3MAAACBAN6279V8ozaK\/s6x9ihSyIljEs3EziPtP0yN9dgeFq7VkP5vtj1OBbYDk4\
/MbbcILsx9Ko+qDury2YYuTK\/sn+M+3LURQE2zUJN1FVZ346d+smIVmHfqM58zGZPnjeFr3AFRE7RE0V\/Tt\
/D8Unjacw84aLzSBU3pcThb+bSpV7LnAAAAFQCIDIlCv4EB6T4U5uI6QfFdBxOAUwAAAIAQEJIKlT6Oiwzh+63XilA34ivbMKc
Pqk7oi3FChKZS+NShnt1nR1vd5cIDt8UWy+WcwYWT\/\/hfafRKxhC9OHFXKAlI0R0WF\
/lYRBcfTUa9AOEu8j7Olqiqxm34P1otlS8aHCkUjfY1\
/Vg8eJkHaYE5U1omd4Y7skroVxo9K7bDvwAAAIBzHcvPMCnJARKtWFxtT8UkywXowd3saeZudRmEUsirZbMl08HnM1CV952n
V3aeAFY+8dnQ9HTFiMZt9cjpfMmWXl8LniACAuch+Ex\
/QSV7M5u9RBvCo+iXATSjypK6UMzmoMWR6znnLYPdUDmiELtFx8kYt3RgpsdnfoycCmJK3Q==","prv-key":
"MIIBugIBAAKBgQDetu\/VfKM2iv7OsfYoUsiJYxLNxM4j7T9MjfXYHhau1ZD+b7Y9
\nTgW2A5OPzG23CC7MfSqPqg7q8tmGLkyv7J\/jPty1EUBNs1CTdRVWd+OnfrJiFZh3\n6jOfMxmT543ha9wBURO0RNFf07fw\
/FJ42nMPOGi80gVN6XE4W\/m0qVey5wIVAIgM\niUK\
/gQHpPhTm4jpB8V0HE4BTAoGAEBCSCpU+josM4fut14pQN+Ir2zCnD6pO6Itx
\nQoSmUvjUoZ7dZ0db3eXCA7fFFsvlnMGFk\/\/4X2n0SsYQvThxVygJSNEdFhf5WEQX
\nH01GvQDhLvI+zpaoqsZt+D9aLZUvGhwpFI32Nf1YPHiZB2mBOVNaJneGO7JK6Fca
\nPSu2w78CgYBzHcvPMCnJARKtWFxtT8UkywXowd3saeZudRmEUsirZbMl08HnM1CV
\n952nV3aeAFY+8dnQ9HTFiMZt9cjpfMmWXl8LniACAuch+Ex\/QSV7M5u9RBvCo+iX
\nATSjypK6UMzmoMWR6znnLYPdUDmiELtFx8kYt3RgpsdnfoycCmJK3QIUHexDoyJl
\nS6MlOvKqzYiIJwrEalw=",
"SSH": {
"opamListenPort": 1222,
"sessionchkoutinstructions": "ssh -p <port> <opamuser>:<targetname>:<accountname>@<sessionmgrhost> 
\n Use opam password on password prompt"
},
"configUID": "sessionmgrconfig",
"configType": "config_sessionmgrconfig"
"maxrecordsize" : 10240
}}

Where:

  • configUID is a unique identifier for the config object.

  • configType is the type of config object.

  • updateinterval is the interval (in seconds) in which the Oracle Privileged Session Manager server checks all of the checked-out sessions and updates their transcripts.

  • opamserverurls is an array of Oracle Privileged Account Manager server URLs to which Oracle Privileged Session Manager can connect.

  • pub-key is the Oracle Privileged Session Manager server's public key.

  • maxrecordsize is the maximum recording size that is allowed per session (in KB). When this quota is reached, the session is automatically terminated.

  • prv-key is the Oracle Privileged Session Manager server's private key.

Protocol-specific attributes include:

  • opamListenPort is the listener port for the protocol.

  • sessionchkoutinstructions is the session checkout instructions.

B.3.2.2 Update Configuration Resource

Use this API to update a configuration object for Oracle Privileged Session Manager.

URI

https://opam_server_host:opam_ssl_port/opam/config/sessionmgrconfig

Method

PUT

Content-Type

application/json

Body

JSON representation of Modification

Returns on Success

Status code 200


Note:

You must be an administrator with the Application Configurator Admin Role to use this API.

Example B-5 Sample JSON Modification

{
"modifications": [
{
"modification": {
"updateinterval": 300
}
},
{
"modification": {
"opamserverurls": [
"https://localhost:7002/opam"
]
}
},
{
"modification": {
"SSH": {
"opamListenPort": 1222
}
}
},
{
"modification": {
"SSH": {"sessionchkoutinstructions":"ssh -p <port> 
<opamuser>:<targetname>:<accountname>@<sessionmgrhost> \n Use opam password on password prompt"
}
}
}
]
}

Note:

You can update all of these attributes, except

  • configUID is a unique identifier for the config object.

  • configType is the type of config object.

For the other attribute definitions, refer to Section B.3.2.1, "Get Configuration Resource."

B.4 Policy Resource

This section describes the APIs you use when working with Oracle Privileged Account Manager policies.

The APIs described in this section include:

B.4.1 Search for Policies

Use this API to search for policies. This API is a search, using one or more of the following parameters:

  • policystatus

  • policyname

All of the parameters are optional.

URI

https://opam_server_host:opam_ssl_port/opam/policy/search?param1=val1&param2=val2

Method

GET

Content-Type

 

Body

 

Returns on Success

Status code 200 and JSON representation of policies


Example B-6 Sample JSON Representation of Policies

{
   "usagepolicies":[
      {
         "policyname":"Default Usage Policy",
         "policyid":"usagepolicy1",
         "policystatus":"active",
      }
   ],
   "passwordpolicies":[
      {
         "policyname":"Default Password Policy",
         "policyid":"passwordpolicy2",
         "policystatus":"active",
         "globaldefault":"y"
      }
   ]
}

Where:

  • usagepolicies are an array of Usage Policies.

  • passwordpolicies are an array of Password Policies.

  • policyname is the policy name.

  • policyid is the policy's unique identifier.

  • policystatus is the policy status, where acceptable values are active or disabled.

B.4.2 Get Default Policies

Use this API to get the Default Usage Policy and Default Password Policy.

URI

https://opam_server_host:opam_ssl_port/opam/policy/default

Method

GET

Content-Type

 

Body

 

Returns on Success

Status code 200 and JSON representation of policies


Example B-7 Sample JSON Representation of Policies

{
   "usagepolicies":[
      {
         "policyname":"Default Usage Policy",
         "policyid":"usagepolicy1",
         "policystatus":"active"
      }
   ],
   "passwordpolicies":[
      {
         "policyname":"Default Password Policy",
         "policyid":"passwordpolicy2",
         "policystatus":"active"
      }
   ]
}

Where:

  • usagepolicies is an array of Usage Policies.

  • passwordpolicies is an array of Password Policies.

  • policyname is the policy name.

  • policyid is the policy's unique identifier.

  • policystatus is the policy status, where acceptable values are active or disabled.

This attribute only returns the default policies, Default Usage Policy and Default Password Policy.

B.4.3 Password Policy Resource

The APIs described in this section include:

B.4.3.1 Retrieve a Password Policy

Use this API to retrieve a Password Policy.

Note:

You must be an administrator with the User Manager Admin Role or the Security Administrator Admin Role to use this API.

URI

https://opam_server_host:opam_ssl_port/opam/passwordpolicy/{policyid}

Method

GET

Content-Type

 

Body

 

Returns on Success

Status code 200 and JSON representation of Password Policy


Example B-8 Sample JSON Representation of Password Policy

{
   "passwordpolicy":{
      "policyid":"passwordpolicy2",
      "policystatus":"active",
      "policyname":"Default Password Policy",
      "description":"Default Password Policy",
      "globaldefault":"y",
      "passwordchangedurationunit":"days",
      "passwordchangedurationvalue":30,
      "passwordhistorydays":30
      "changeoncheckin":"y",
      "changeoncheckout":"y",
      "passwordcharsmin":8,
      "passwordcharsmax":8,
      "passwordalphabeticmin":1,
      "passwordnumericmin":1,
      "passwordalphanumericmin":2,
      "passworduniquemin":1,
      "passworduppercasemin":1,
      "passwordlowercasemin":1,
      "passwordspecialmin":0,
      "passwordspecialmax":0,
      "passwordrepeatedmin":0,
      "passwordrepeatedmax":1,
      "startingchar":"n",
      "isaccountnameallowed":"n",
      "requiredchars":[
         "a",
         "h",
         "j"
      ],
      "allowedchars":[
         "b",
         "t",
         "y",
         "p",
         "u",
         "r",
         "o",
         "k",
         "1",
         "2",
         "=",
         "M",
         "a",
         "h",
         "j"
      ],
      "disalloweddchars":[
         "7",
         "8",
         "l"
      ],
   }
}

Where:

  • passwordpolicy is a passwordpolicy JSON object.

  • policyid is the policy's unique identifier.

  • policystatus is the policy's status, where acceptable values are active or disabled.

  • policyname is the policy name.

  • description is a description of the policy.

  • globaldefault indicates whether the policy is a global default or not.

  • passwordchangedurationunit and passwordchangedurationvalue determine the interval after which the account password must be changed. Where passwordchangedurationunit can have the values: days, hours, or minutes.

  • passwordhistorydays indicates how many days to keep the password history.

  • changeoncheckin indicates whether to change the password on check-in. (Valid values are y and n.)

  • changeoncheckout indicates whether to change the password on checkout. (Valid values are y and n.)

  • startingchar indicates the character with which the password should begin.

  • isaccountnameallowed indicates whether the password can be the same as the account name.

  • requiredchars, allowedchars, disallowedchars are characters that are required, allowed, and disallowed respectively.

  • passwordcharsmin is the minimum number of characters required in the password.

  • passwordcharsmax is the maximum number of characters allowed in the password.

  • passwordalphabeticmin is the minimum number of alphabetic characters required in the password.

  • passwordnumericmin is the minimum number of numeric characters required in the password.

  • passwordalphanumericmin is the minimum number of alphanumeric characters required in the password.

  • passworduniquemin is the minimum number of unique characters required in the password.

  • passworduppercasemin is the minimum number of uppercase characters required in the password.

  • passwordlowercasemin is the minimum number of lowercase characters required in the password.

  • passwordspecialmin is the minimum number of special characters required in the password.

  • passwordspecialmax is the maximum number of special characters allowed in the password.

  • passwordrepeatedmin is the minimum number of repeated characters required in the password.

  • passwordrepeatedmax is the maximum number of repeated characters allowed in the password.

B.4.3.2 Update a Password Policy

Use this API to update a Usage Policy. You can update all of the attributes, except policyid, and you can update multiple attributes at a time.

Note:

You must be an administrator with the Security Administrator Admin Role to use this API.

URI

https://opam_server_host:opam_ssl_port/opam/passwordpolicy/{policyid}

Method

PUT

Content-Type

application/json

Body

JSON representation for Password Policy modification

Returns on Success

Status code 200


Example B-9 Sample JSON Representation of Password Policy Modification

{
   "modifications":[
      {
         "modification":{
            "disalloweddchars":[
               "4",
               "6"
            ]
         }
      },
      {
         "modification":{
            "passwordalphabeticmin":2
         }
      }
   ]
}

Where:

  • modifications is an array of modification JSON objects.

  • modification is a JSON object representing a single attribute.

B.4.3.3 Create a Password Policy

Use this API to create a Password Policy.

Note:

You must be an administrator with the Security Administrator Admin Role to use this API.

URI

https://opam_server_host:opam_ssl_port/opam/passwordpolicy

Method

POST

Content-Type

application/json

Body

JSON representation for Password Policy creation

Returns on Success

Status code 201


Example B-10 Sample JSON Representation for Password Policy Creation

{
   "passwordpolicy":{
      "policystatus":"active",
      "policyname":"Default Password Policy",
      "description":"Default Password Policy",
      "passwordchangedurationunit":"days",
      "passwordchangedurationvalue":30,
      "passwordhistorydays":30
      "changeoncheckin":"y",
      "changeoncheckout":"y",
      "passwordcharsmin":8,
      "passwordcharsmax":8,
      "passwordalphabeticmin":1,
      "passwordnumericmin":1,
      "passwordalphanumericmin":2,
      "passworduniquemin":1,
      "passworduppercasemin":1,
      "passwordlowercasemin":1,
      "passwordspecialmin":0,
      "passwordspecialmax":0,
      "passwordrepeatedmin":0,
      "passwordrepeatedmax":1,
      "startingchar":"n",
      "isaccountnameallowed":"n",
      "requiredchars":[
         "a",
         "h",
         "j"
      ],
      "allowedchars":[
         "b",
         "t",
         "y",
         "p",
         "u",
         "r",
         "o",
         "k",
         "1",
         "2",
         "=",
         "M",
         "a",
         "h",
         "j"
      ],
      "disalloweddchars":[
         "7",
         "8",
         "l"
      ]
   }
}

All attributes are optional, except policyname. For attribute definitions refer to Section B.4.3.1, "Retrieve a Password Policy."

B.4.3.4 Get Accounts for Password Policy

Use this API to retrieve a list of accounts for a Password Policy.

Note:

You must be an administrator with the User Manager Admin Role or the Security Administrator Admin Role to use this API.

URI

https://opam_server_host:opam_ssl_port/opam/passwordpolicy/{policyid}/accounts

Method

GET

Content-Type

 

Body

 

Returns on Success

Status code 200 and JSON representation of accounts


Example B-11 Sample JSON Representation of Accounts

{
    "accounts":[
        {
            "account":{
                "accountUID":"5bb2c74e1655487c92ecefd5b5270e95",
                "accountName":"dsperson1",
                "targetID":"3ba06e568166493384f86aa5cc7152f1",
                "targetName":"sunds_6.3_target",
                "targetDomain":"needtofix",
                "targetType":"ldap"
                }
        },
        {
            "account":{
               "account":{
                    "accountUID":"c67f93d7a7e44844b24aa43d4cd236e9",
                    "accountName":"person2",
                    "targetID":"75a23e9f30ba456b961a1f5d327e67ef",
                    "targetName":"ldap1_target",
                    "targetDomain":"needtofix",
                    "targetType":"ldap"
                    }
               }
        }
     ]
}

For attribute definitions, refer to Section B.5, "Target Resource" and Section B.6, "Account Resource."

B.4.3.5 Delete a Password Policy

Use this API to delete a Password Policy.

Note:

You must be an administrator with the Security Administrator Admin Role to use this API.

URI

https://opam_server_host:opam_ssl_port/opam/passwordpolicy/{policyid}

Method

DELETE

Content-Type

 

Body

 

Returns on Success

Status 200


B.4.4 Usage Policy Resource

The APIs described in this section include:

B.4.4.1 Retrieve a Usage Policy

Use this API to retrieve a Usage Policy.

URI

https://opam_server_host:opam_ssl_port/opam/usagepolicy/{policyid}

Method

GET

Content-Type

 

Body

 

Returns on Success

Status code 200 and JSON representation of Usage Policy


Example B-12 Sample JSON Representation of Usage Policy

{
   "usagepolicy":{
      "policyid":"usagepolicy1",
      "policystatus":"active",
      "policyname":"Default Usage Policy",
      "description":"Default Usage Policy",
      "globaldefault":"y",
      "dateorduration":"duration",
      "expireddateminutesfromcheckout":7200,
      "expireddate":"08\/08\/2088",
      "expireddatehour":0,
      "expireddateminutes":0,
      "expireddateamorpm":"am",
      "timezone":"America\/Los_Angeles",
      "usagedates":[
         {
            "day":"saturday",
            "fromhour":"12",
            "fromminutes":"0",
            "fromamorpm":"am",
            "tohour":"12",
            "tominutes":"0",
            "toamorpm":"am"
         },
         {
            "day":"wednesday",
            "fromhour":"12",
            "fromminutes":"0",
            "fromamorpm":"am",
            "tohour":"12",
            "tominutes":"0",
            "toamorpm":"am"
         },
         {
            "day":"sunday",
            "fromhour":"12",
            "fromminutes":"0",
            "fromamorpm":"am",
            "tohour":"12",
            "tominutes":"0",
            "toamorpm":"am"
         },
         {
            "day":"friday",
            "fromhour":"12",
            "fromminutes":"0",
            "fromamorpm":"am",
            "tohour":"12",
            "tominutes":"0",
            "toamorpm":"am"
         },
         {
            "day":"tuesday",
            "fromhour":"12",
            "fromminutes":"0",
            "fromamorpm":"am",
            "tohour":"12",
            "tominutes":"0",
            "toamorpm":"am"
         },
         {
            "day":"thursday",
            "fromhour":"12",
            "fromminutes":"0",
            "fromamorpm":"am",
            "tohour":"12",
            "tominutes":"0",
            "toamorpm":"am"
         },
         {
            "day":"monday",
            "fromhour":"12",
            "fromminutes":"0",
            "fromamorpm":"am",
            "tohour":"12",
            "tominutes":"0",
            "toamorpm":"am"
         }
      ],
      "allowcheckouttype": "all"
   }
}

Where:

  • usagepolicy is a usagepolicy JSON object.

  • policyid is the Usage Policy's unique identifier.

  • policystatus is set to active or disabled.

  • policyname is a name of the policy

  • description is a description of the policy.

  • globaldefault indicates whether the policy is the global default policy or not.

  • dateorduration indicates how the expiration time is calculated.

    • If set to date, then expireddate, expireddatehour, expireddateminutes, and expireddateamorpm are used.

    • If set to duration, then expireddateminutesfromcheckout is used.

    Where:

    • expireddate is the date of expiration. The format is MM/dd/yyyy.

    • expireddatehour.hour are integer values between 0 and 12.

    • expireddateminutes.minutes are integer values between 0 and 60.

    • expireddateamorpm is am or pm.

    • expireddateminutesfromcheckout are minutes from checkout.

  • timezone is a time zone for the Usage Policy.

  • usagedates is an array, where each value represents the check out time for individual days.

  • day is a day of the week, where acceptable values are sunday, monday, tuesday, wednesday, thursday, friday, and saturday.

Use the following attributes to indicate a range from and to:

  • fromhour is an integer value between 0 and 12.

  • fromminutes is a n integer value between 0 and 60.

  • fromamorpm is am or pm.

  • tohour is a n integer value between 0 and 12.

  • tominutes is a n integer value between 0 and 60.

  • toamorpm is am or pm.

  • allowcheckoutype indicates which type of checkout is permitted for the policy.

    • all: Choose this option to allow users to check out passwords and sessions.

    • password (default): Choose this option to allow users to only check out passwords.

    • session: Choose this option to allow users to only check out sessions.

B.4.4.2 Update a Usage Policy

Use this API to update a Usage Policy. You can update all attributes, except policyid, and you can update multiple attributes at a time.

Note:

You must be an administrator with the User Manager Admin Role or the Security Administrator Admin Role to use this API.

URI

https://opam_server_host:opam_ssl_port/opam/usagepolicy/{policyid}

Method

PUT

Content-Type

application/json

Body

JSON representation of Usage Policy modification

Returns on Success

Status code 200


Example B-13 Sample JSON Representation of Usage Policy Modification

{
   "modifications":[
      {
         "modification":{
            "usagedates":[
               {
                  "day":"saturday",
                  "fromhour":"12",
                  "fromminutes":"0",
                  "fromamorpm":"am",
                  "tohour":"12",
                  "tominutes":"0",
                  "toamorpm":"am"
               },
               {
                  "day":"wednesday",
                  "fromhour":"12",
                  "fromminutes":"0",
                  "fromamorpm":"am",
                  "tohour":"12",
                  "tominutes":"0",
                  "toamorpm":"am"
               }
            ]
         }
      },
      {
         "modification":{
            "expireddatehour":2
         }
      }
   ]
}

Where:

  • modifications are an array of modification JSON objects.

  • modification is a JSON object representing a single attribute.

B.4.4.3 Create a Usage Policy

Use this API to create a Usage Policy.

Note:

You must be an administrator with the User Manager Admin Role or the Security Administrator Admin Role to use this API.

URI

https://opam_server_host:opam_ssl_port/opam/usagepolicy

Method

POST

Content-Type

application/json

Body

JSON representation for Usage Policy creation

Returns on Success

Status code 201


Example B-14 Sample JSON Representation for Usage Policy Creation

{
   "usagepolicy":{
      "policystatus":"active",
      "policyname":"Default Usage Policy",
      "description":"Default Usage Policy",
      "dateorduration":"duration",
      "expireddateminutesfromcheckout":7200,
      "expireddate":"08\/08\/2088",
      "expireddatehour":0,
      "expireddateminutes":0,
      "expireddateamorpm":"am",
      "timezone":"America\/Los_Angeles",
      "usagedates":[
         {
            "day":"saturday",
            "fromhour":"12",
            "fromminutes":"0",
            "fromamorpm":"am",
            "tohour":"12",
            "tominutes":"0",
            "toamorpm":"am"
         },
         {
            "day":"wednesday",
            "fromhour":"12",
            "fromminutes":"0",
            "fromamorpm":"am",
            "tohour":"12",
            "tominutes":"0",
            "toamorpm":"am"
         },
         {
            "day":"sunday",
            "fromhour":"12",
            "fromminutes":"0",
            "fromamorpm":"am",
            "tohour":"12",
            "tominutes":"0",
            "toamorpm":"am"
         },
         {
            "day":"friday",
            "fromhour":"12",
            "fromminutes":"0",
            "fromamorpm":"am",
            "tohour":"12",
            "tominutes":"0",
            "toamorpm":"am"
         },
         {
            "day":"tuesday",
            "fromhour":"12",
            "fromminutes":"0",
            "fromamorpm":"am",
            "tohour":"12",
            "tominutes":"0",
            "toamorpm":"am"
         },
         {
            "day":"thursday",
            "fromhour":"12",
            "fromminutes":"0",
            "fromamorpm":"am",
            "tohour":"12",
            "tominutes":"0",
            "toamorpm":"am"
         },
         {
            "day":"monday",
            "fromhour":"12",
            "fromminutes":"0",
            "fromamorpm":"am",
            "tohour":"12",
            "tominutes":"0",
            "toamorpm":"am"
         }
      "allowcheckouttype": "all"
      ]
   }
}

For attribute definitions, refer to Section B.4.4.1, "Retrieve a Usage Policy."

B.4.4.4 Get Grants for Usage Policy

Use this API to retrieve a list of grants for a Usage Policy.

Note:

You must be an administrator with the User Manager Admin Role or the Security Administrator Admin Role to use this API.

URI

https://opam_server_host:opam_ssl_port/opam/usagepolicy/{policyid}/grantees

Method

GET

Content-Type

 

Body

 

Returns on Success

Status code 200 and JSON representation of grants


Example B-15 Sample JSON Representation of Grants

{
    "grantees":[
        {
            "grantee":{
            "accountUID":"16d245784350469cbe25229a7c45af22",
            "accountName":"oidperson10",
            "targetID":"75a23e9f30ba456b961a1f5d327e67ef",
            "targetName":"ldap1_target",
            "targetDomain":"needtofix",
            "targetType":"ldap",
            "grantee":"CrossDomainConnectors",
            "grantType":"role"
            }
        },
        {
            "grantee":{
            "accountUID":"3a7f105a1e45407284cd887f8774700d",
            "accountName":"openLDAPperson2",
            "targetID":"dd9d7a31b39348c79eb23ac46f04d40d",
            "targetName":"openldap_2.3_target",
            "targetDomain":"needtofix",
            "targetType":"ldap",
            "grantee":"opamuser2",
            "grantType":"user"
            }
        }
    ]
}

For attribute definitions, refer to Section B.5, "Target Resource" and Section B.6, "Account Resource."

B.4.4.5 Delete a Usage Policy

Use this API to delete a Usage Policy.

Note:

You must be an administrator with the User Manager Admin Role or the Security Administrator Admin Role to use this API.

URI

https://opam_server_host:opam_ssl_port/opam/usagepolicy/{policyid}

Method

DELETE

Content-Type

 

Body

 

Returns on Success

Status 200


B.5 Target Resource

The APIs described in this section include:

B.5.1 Get Target Attributes

Use this API to retrieve a list of the attributes that are associated with all of the target types.

You can use the list of supported target types, along with these attributes, to create the JSON object required to add a target. Refer to Section B.5.2, "Add a Target" for more information.

URI

https://opam_server_host:opam_ssl_port/opam/target/attributes

Method

GET

Content-Type

 

Returns on Success

Status code 200 and the JSON representation of target types, along with the attributes associated with them.


Sample URI

https://opam_server_host:opam_ssl_port/opam/target/attributes

Example B-16 JSON Output of Supported Target Types with Attributes

{
   "TargetAttributes":[
      {
         "TargetType":"ldap",
         "DisplayName":"ldap",
         "BasicAttributes":[
            {
               "name":"targetName",
               "type":"string",
               "description":"",
               "label":"Target Name",
               "mask":"false",
               "array":"false",
               "required":"true"
            },
            {
               "name":"description",
               "type":"string",
               "description":"",
               "label":"Description",
               "mask":"false",
               "array":"false",
               "required":"false"
            },
            {
               "name":"organization",
               "type":"string",
               "description":"",
               "label":"Organization",
               "mask":"false",
               "array":"false",
               "required":"false"
            },
            {
               "name":"domain",
               "type":"string",
               "description":"",
               "label":"Domain",
               "mask":"false",
               "array":"false",
               "required":"true"
            },
            {
               "name":"host",
               "type":"string",
               "description":"",
               "label":"Host",
               "mask":"false",
               "array":"false",
               "required":"true"
            },
            {
               "name":"port",
               "type":"int",
               "description":"TCP/IP port number used to communicate with the LDAP server.",
               "label":"TCP Port",
               "default":"",
               "mask":"false",
               "array":"false",
               "required":"true"
            },
            {
               "name":"ssl",
               "type":"boolean",
               "description":"Select the check box to connect to the LDAP server using SSL.",
               "label":"SSL",
               "default":"false",
               "mask":"false",
               "array":"false",
               "required":"true"
            },
            {
               "name":"principal",
               "type":"string",
               "description":"The distinguished name with which to authenticate
                  to the LDAP server.",
               "label":"Principal",
               "default":"",
               "mask":"false",
               "array":"false",
               "required":"true"
            },
            {
               "name":"credentials",
               "type":"string",
               "description":"Password for the principal.",
               "label":"Password",
               "default":"",
               "mask":"true",
               "array":"false",
               "required":"true"
            },
            {
               "name":"baseContexts",
               "type":"string",
               "description":"One or more starting points in the LDAP tree that will be used 
                  when searching the tree. Searches are performed when discovering users from 
                  the LDAP server or when looking for the groups of which a user is a member.",
               "label":"Base Contexts",
               "default":[
 
               ],
               "mask":"false",
               "array":"true",
               "required":"true"
            },
            {
               "name":"accountNameAttribute",
               "type":"string",
               "description":"Attribute which holds the account's user name.",
               "label":"Account User Name Attribute",
               "default":"uid",
               "mask":"false",
               "array":"false",
               "required":"true"
            }
         ],
         "AdvancedAttributes":[
            {
               "name":"uidAttribute",
               "type":"string",
               "description":"The name of the LDAP attribute which is mapped
                  to the Uid attribute.",
               "label":"Uid Attribute",
               "default":"uid",
               "mask":"false",
               "array":"false",
               "required":"false"
            },
            {
               "name":"accountSearchFilter",
               "type":"string",
               "description":"An optional LDAP filter to control which accounts are returned 
                  from the LDAP resource. If no filter is specified, only accounts that include 
                  all specified object classes are returned.",
               "label":"LDAP Filter for Retrieving Accounts",
               "default":"(uid=*)",
               "mask":"false",
               "array":"false",
               "required":"false"
            },
            {
               "name":"passwordAttribute",
               "type":"string",
               "description":"The name of the LDAP attribute which holds the password. 
                  When changing an user's password, the new password is set to this attribute.",
               "label":"Password Attribute",
               "default":"userpassword",
               "mask":"false",
               "array":"false",
               "required":"false"
            },
            {
               "name":"accountObjectClasses",
               "type":"string",
               "description":"The object class or classes that will be used when 
                  creating new user objects in the LDAP tree. When entering more than one 
                  object class, each entry should be on its own line; do not use commas or
                  semi-colons to separate multiple object classes. Some object classes 
                  may require that you specify all object classes in the class hierarchy.",
               "label":"Account Object Classes",
               "default":[
                  "top",
                  "person",
                  "organizationalPerson",
                  "inetOrgPerson"
               ],
               "mask":"false",
               "array":"true",
               "required":"false"
            }
         ]
      }
   ]
}

Where:

  • TargetAttributes is an array of objects, where each object represents a target type.

  • TargetType is the target type.

  • DisplayName is how the target type name should display.

  • BasicAttributes is an array of objects, where each object represents basic attributes for the target type.

  • AdvancedAttributes is an array of objects, where each object represents advanced attributes for the target type.

  • name is the attribute name to use when constructing the target JSON to create a target.

  • type is the attribute type. Acceptable values include string, int, boolean, or lov (list of values).

  • description is a helpful description of the attribute.

  • label is how the attribute name should display.

  • default is a default value for the attribute.

    Specify a single value if the array parameter is false or specify an array of values if array is true.

  • mask hides sensitive values, such as credentials.

    • Specify true to hide attributes.

    • Specify false if hiding attributes is not necessary.

  • array indicates whether the attribute is single-valued or an array of multiple values.

    • Specify true if the attribute is an array of multiple values.

    • Specify false if the attribute is single-valued.

  • required indicates whether the attribute is mandatory or optional.

    • Specify true for mandatory attributes.

    • Specify false for optional attributes.

B.5.2 Add a Target

Use this API to add a target.

Note:

  • You must be an administrator with the Security Administrator Admin Role to use this API.

  • First, you must obtain a list of attributes for the target type as described in Section B.5.1, "Get Target Attributes." You use these attributes to create the JSON object sent in the body.

URI

https://opam_server_host:opam_ssl_port/opam/target

Method

POST

Content-Type

application/json

Body

JSON representation of target for addition/test

Returns on Success

Status code 201 Created and Location


Example B-17 Sample JSON Representation of Target for Addition (ldap TargetType)

{
   "target":{
      "targetType":"ldap",
      "targetName":"ldap1-target",
      "host":"opam_server_host",
      "passwordpolicy" : "passwordpolicy1",
      "domain":"berkeley",
      "description":"Ldap target",
      "organization":"ST-US",
      "credentials":"welcome",
      "uidAttribute":"uid",
      "port":"9876",
      "passwordAttribute":"userpassword",
      "principal":"cn=orcladmin",
      "accountSearchFilter":"(uid=*)",
      "baseContexts":[
         "cn=Users,c=US"
      ],
      "ssl":"false",
      "accountObjectClasses":[
         "top",
         "person",
         "organizationalPerson",
         "inetOrgPerson"
      ],
      "accountNameAttribute":"uid"
   }
}

Example B-18 Sample JSON Representation of Target for Addition (database TargetType)

{
    "target" : {
        "targetType" : "database",
        "targetName" : "db1_target",
        "passwordpolicy" : "passwordpolicy1",
        "passwordrollover" : "true",
        "host" : "afg1140282",
        "domain" : "adc1140282Domain",
        "description" : "Dbase target for the automation",
        "connectionProperties" : "",
        "dbType" : "Oracle",
        "jdbcUrl" : "jdbc:oracle:thin:@afg1140282.us.pk.com:11227:db5474",
        "loginPassword" : "welcome1",
        "loginUser" : "system"
    }
}

Example B-19 Sample JSON Representation of Target for Addition (unix TargetType)

{
    "target" : {
        "targetType" : "unix",
        "targetName" : "BackUpUnixTarget",
        "passwordpolicy" : "passwordpolicy1",
        "passwordrollover" : "true",
        "host" : "adc0345labc.us.mycompany.com",
        "domain" : "US",
        "description" : "Backup system",
        "organization" : "IT",
        "port" : "23",
        "sudoPasswdExpectExpression" : "password",
        "commandTimeout" : "120000",
        "passwordExpectExpressions" :
         "new[\\s](unix[\\s])?password:,new[\\s](unix[\\s])?password([\\s]again)?:",
        "loginShellPrompt" : "$",
        "prePasswdExpectExpression" : "None",
        "sudoAuthorization" : "false",
        "loginUserpassword" : "welcome1",
        "loginUser" : "aime2"
    }
}

Sample Output

https://opam_server_host:opam_ssl_port/opam/target
/9bbcbbb087174ad1900ea691a2573b61 as the Location.

Where:

  • target is the target JSON object.

  • targetName is the name of the target.

  • targetType is the target type.

  • passwordpolicy is the Password Policy identifier of the Password Policy applied to the target.

  • passwordrollover is the flag that indicates whether to enable automatic password recycling for a target's service account.

    If you set this flag to true, then Oracle Privileged Account Manager automatically resets the target's service account password based on the settings specified in the Password Policy that applies.

    Note:

    The passwordrollover flag is currently not supported for ldap or lockbox targets.

All of the other attributes are dynamic and they correspond to the attributes in Section B.5.1, "Get Target Attributes."

B.5.3 Verify a Target

Use this API to verify a target.

Note:

First, you must obtain a list of attributes for the target type. Refer to Section B.5.1, "Get Target Attributes," to create the JSON object to be sent in the body.

URI

https://opam_server_host:opam_ssl_port/opam/target/test

Method

PUT

Content-Type

application/json

Body

JSON representation of target for addition/test

Returns on Success

Status code 200


Example B-20 Sample JSON Representation of Target for Addition/Verification

{
   "target":{
      "targetType":"ldap",
      "targetName":"ldap1-target",
      "host":"opam_server_host",
      "passwordpolicy" : "passwordpolicy1",
      "domain":"berkeley",
      "description":"Ldap target",
      "organization":"ST-US",
      "credentials":"welcome",
      "uidAttribute":"uid",
      "port":"9876",
      "passwordAttribute":"userpassword",
      "principal":"cn=orcladmin",
      "accountSearchFilter":"(uid=*)",
      "baseContexts":[
         "cn=Users,c=US"
      ],
      "ssl":"false",
      "accountObjectClasses":[
         "top",
         "person",
         "organizationalPerson",
         "inetOrgPerson"
      ],
      "accountNameAttribute":"uid"
   }
}

Where:

  • target is the target JSON object.

  • targetName is the name of the target.

  • targetType is the target type.

  • passwordpolicy is the Password Policy identifier of the Password Policy applied to the target.

All of the other attributes are dynamic and they correspond to the attributes in Section B.5.1, "Get Target Attributes."

B.5.4 Retrieve a Target

Use this API to retrieve a target.

URI

https://opam_server_host:opam_ssl_port/opam/target/{targetUID}

Method

GET

Content-Type

 

Body

 

Returns on Success

Status code 200 and JSON representation of target


Example B-21 Sample JSON Representation of Target (ldap Target Type)

{
   "target":{
      "targetUID":"9bbcbbb087174ad1900ea691a2573b61",
      "targetType":"ldap",
      "targetName":"ldap1-target",
      "host":"opam_server_host",
      "domain":"berkeley",
      "description":"Ldap target",
      "organization":"ST-US",
      "credentials":"welcome",
      "uidAttribute":"uid",
      "port":"9876",
      "passwordAttribute":"userpassword",
      "principal":"cn=orcladmin",
      "accountSearchFilter":"(uid=*)",
      "baseContexts":[
         "cn=Users,c=US"
      ],
      "ssl":"false",
      "accountObjectClasses":[
         "top",
         "person",
         "organizationalPerson",
         "inetOrgPerson"
      ],
      "accountNameAttribute":"uid",
   }
}

Example B-22 Sample JSON Representation of Target (database Target Type)

{
    "target" : {
        "targetUID" : "62bcfb98f95d4966ab0ff9a44717a20a",
        "targetType" : "database",
        "targetName" : "db1_target",
        "passwordpolicy" : "passwordpolicy1",
        "passwordrollover" : "true",
        "host" : "afg1140282",
        "domain" : "adc1140282Domain",
        "description" : "Dbase target for the automation",
        "connectionProperties" : "",
        "dbType" : "Oracle",
        "jdbcUrl" : "jdbc:oracle:thin:@afg1140282.us.pk.com:11227:db5474",
        "loginPassword" : "welcome1",
        "loginUser" : "system"
    }
}

Example B-23 Sample JSON Representation of Target (unix Target Type)

{
    "target" : {
        "targetUID" : "a00075b4b7bb453c9482d02535989b53",
        "targetType" : "unix",
        "targetName" : "unix1-target",
        "passwordpolicy" : "passwordpolicy1",
        "passwordrollover" : "true",
        "host" : "adc0345labc.us.mycompany.com",
        "domain" : "US",
        "description" : "Backup system",
        "organization" : "IT",
        "port" : "23",
        "sudoPasswdExpectExpression" : "password",
        "commandTimeout" : "120000",
        "passwordExpectExpressions" :
        "new[\\s](unix[\\s])?password:,new[\\s](unix[\\s])?password([\\s]again)?:",
        "loginShellPrompt" : "$",
        "prePasswdExpectExpression" : "None",
        "sudoAuthorization" : "false",
        "loginUserpassword" : "welcome1",
        "loginUser" : "aime2"
    }
}

Where:

  • target is the target JSON object.

  • targetUID is the target's unique identifier.

  • targetName is the name of the target.

  • targetType is target type.

  • passwordrollover is the flag that indicates whether to enable automatic password recycling for a target's service account.

    If you set this flag to true, then Oracle Privileged Account Manager automatically resets the target's service account password based on the settings specified in the Password Policy that applies.

    Note:

    The passwordrollover flag is currently not supported for ldap or lockbox targets.

All of the other attributes are dynamic and they correspond to the attributes in Section B.5.1, "Get Target Attributes."

B.5.5 Update a Target

Use this API to update a target.

Note:

You must be an administrator with the Security Administrator Admin Role to use this API.

You can change all of the attributes, except targetType and targetUID, and you can change multiple attributes at a time.

URI

https://opam_server_host:opam_ssl_port/opam/target/{targetUID}

Method

PUT

Content-Type

application/json

Body

JSON representation of Target Modification

Returns on Success

Status code 200


Example B-24 Sample JSON Object to Modify Target

   "modifications":[
      {
         "modification":{
            "host":"opam_server_host"
         }
      },
      {
         "modification":{
            "port":"6000"
         }
      }
   ]
}

Where:

  • targetUID is the target's unique identifier.

  • modifications is an array of modification JSON objects.

  • modification is a JSON object representing the modification of a single attribute.

B.5.6 Remove a Target

Use this API to delete a target.

Note:

You must be an administrator with the Security Administrator Admin Role to use this API.

URI

https://opam_server_host:opam_ssl_port/opam/target/{targetUID}

Method

DELETE

Content-Type

 

Body

 

Returns on Success

Status code 200


B.5.7 Search for Targets

Use this API to search for a target using any of the following request parameters:

  • type

  • name

  • hostname

  • domain

  • description

  • org

All of these parameters are optional.

Note:

You must be an administrator with the User Manager Admin Role, Security Administrator Admin Role, or Security Auditor Admin Role to use this API.

URI

https://opam_server_host:opam_ssl_port/opam/target/search?param1=value1&param2=value2

Method

GET

Content-Type

 

Body

 

Returns on Success

Status code 200 and JSON representation of Target Collection


Sample URIs:

https://opam_server_host:opam_ssl_port/opam/target/search?

Returns all targets

https://opam_server_host:opam_ssl_port/opam/target/search?type=ldap&org=us

Returns all targets whose type contains ldap and org contains us.


Example B-25 Sample JSON Representation of Target Collection

{
   "Target Collection":[
      {
         "target":{
            "uri":"https:\/\/opam_server_host:opam_ssl_port\/opam\/target\
               /9bbcbbb087174ad1900ea691a2573b61",
            "type":"ldap",
            "name":"person1-ldap",
            "host":"opam_server_host",
            "domain":"berkeley"
            "description" : "Ldap target"
         }
      },
      {
         "target":{
            "uri":"https:\/\/opam_server_host:opam_ssl_port\/opam\/target\
               /ac246a162ce948c7b1cdcc17dfc92c15",
            "type":"ldap",
            "name":"person1-ldap2",
            "host":"opam_server_host:opam_ssl_port",
            "domain":"berkeley"
            "description" : "Ldap target"
         }
      }
   ]
}

Where:

  • Target Collection is an array of target JSON objects.

  • target is the target JSON object.

  • uri is the target resource URI.

  • type is the target type.

  • hostname is the target's host name.

  • name is the target name.

  • org is the target's organization.

  • domain is the target's domain.

  • description is a description of the target system.

B.5.8 Get Available Accounts

Use this API to retrieve all of the accounts present on the target system.

Note:

You must be an administrator with the Security Administrator Admin Role to use this API.

URI

https://opam_server_host:opam_ssl_port/opam/target/{targetUID}/availableaccounts

Method

GET

Content-Type

 

Body

 

Returns on Success

Status code 200 OK and JSON representation of account collection


Example B-26 Sample JSON Representation of Account Collection

{
   "AvailableAccounts":[
      {
         "accountName":"SCOTT",
         "accountUid":"SCOTT"
      },
      {
         "accountName":"BLAKE",
         "accountUid":"BLAKE "
      },
      {
         "accountName":"JONES",
         "accountUid":"JONES"
      }
   ]
}

Where:

  • AvailableAccounts is an array of the accounts present on the target system.

  • accountName is the account name.

  • accountUID is the account's unique identifier.

B.5.9 Retrieve Accounts Registered on a Target

Use this API to retrieve all the accounts on the target that are registered with Oracle Privileged Account Manager.

Note:

You must be an administrator with the User Manager Admin Role, Security Administrator Admin Role, or Security Auditor Admin Role to use this API.

URI

https://opam_server_host:opam_ssl_port/opam/target/{targetUID}/accounts

Method

GET

Content-Type

 

Body

 

Returns on Success

Status code 200 and JSON representation of URI collection of accounts


Example B-27 Sample JSON Representation of URI Collection of Accounts

{
   "URI Collection":[
      {
         "account":{
            "uri":"https:\/\/opam_server_host:opam_ssl_port\/opam\/account\
               /3740553e999a4f6aa8e8f9286d320cb4",
            "accountName":"sherlock"
         }
      },
      {
         "account":{
            "uri":"https:\/\/opam_server_host:opam_ssl_port\/opam\/account\
               /c11066278022489aad758aec69d9727d",
            "accountName":"root"
         }
      }
   ]
}

Where:

  • URI Collection is an array of accounts on a target that are registered with Oracle Privileged Account Manager.

  • account is the account JSON object.

  • uri is the account's URI.

  • accountName is the account name.

B.5.10 Get Target Types

Use this API to retrieve a list of all supported target types.

URI

https://opam_server_host:opam_ssl_port/opam/target/types

Method

GET

Content-Type

 

Body

 

Returns on Success

Status code 200 and JSON representation of supported target types


Example B-28 Sample JSON Representation of Supported Target Types

{
   "targettypes":[
      "ldap",
      "unix",
      "database",
      "lockbox"
   ]
}

Where:

  • targettypes are the supported target types.

B.5.11 Reset Password

Use this API to reset the password on the target's service account.

Note:

URI

https://opam_server_host:opam_ssl_port/opam/target/{targetUID}/resetpassword

Method

PUT

Content-Type

application/json

Body

 

Returns on Success

Status code 200


Example B-29 Sample JSON Representation of the New Password

{
   "password":"welcome1"
}
 

or

{
   "autogen":"true"
}

Where:

  • targetUID is the target's unique identifier.

  • password is the password to assign to the service account.

  • autogen is the flag that controls whether to automatically generate the password or not. (Default is false.)

B.5.12 Show Service Account Password

Use this API to retrieve and display the service account password.

Note:

URI

https://opam_server_host:opam_ssl_port/opam/target/{targetUID}/showpassword

Method

GET

Content-Type

application/json

Body

 

Returns on Success

Status code 200 and JSON representation of service account


Example B-30 Sample JSON Representation of Account Token

{
  "serviceAccount" : {
    "targetName" : "APILDAP",
    "targetUID" : "ad3163bfb37b4544a4c12ae06a39c2d9",
    "targetAccount" : "cn=admin",
    "targetPassword" : "welcome1",
    "targetPasswordChangeTime" : " 2013-01-27 02:58:13.259"
  }
}

Where:

  • targetUID is the target's unique identifier.

  • targetName is the name of the target.

  • targetAccount is the service account on the target.

  • targetPassword is the service account password.

  • targetPasswordChangeTime is the time when the password was modified.

B.5.13 Show Service Account Password (Deprecated)

Note:

This API has been deprecated. Oracle recommends that you use the Show Service Account Password API in Section B.5.12, "Show Service Account Password."

Use this API to retrieve and display the service account password.

Note:

URI

https://opam_server_host:opam_ssl_port/opam/target/{targetUID}/showpassword

Method

PUT

Content-Type

application/json

Body

 

Returns on Success

Status code 200 and JSON representation of service account


Example B-31 Sample JSON Representation of Account Token

{
  "serviceAccount" : {
    "targetName" : "APILDAP",
    "targetUID" : "ad3163bfb37b4544a4c12ae06a39c2d9",
    "targetAccount" : "cn=admin",
    "targetPassword" : "welcome1",
    "targetPasswordChangeTime" : " 2013-01-27 02:58:13.259"
  }
}

Where:

  • targetUID is the target's unique identifier.

  • targetName is the name of the target.

  • targetAccount is the service account on the target.

  • targetPassword is the service account password.

  • targetPasswordChangeTime is the time when the password was modified.

B.5.14 Show Service Account Password History

Use this API to retrieve and display the service account password history.

Note:

URI

https://opam_server_host:opam_ssl_port/opam/target/{targetUID}/showpasswordhistory

Method

GET

Content-Type

application/json

Body

 

Returns on Success

Status code 200 and JSON representation of service account


Example B-32 Sample JSON Representation of Target Token

{
    "targetToken": {
        "targetName": "SessionMgr_Target",
        "targetUID": "d5ac79483c2a4641adb97f2e72b17f28",
        "passwordHistory": [
            {
                "targetPassword": "welcome1",
                "modificationTime": "1383078344"
            },
            {
                "targetPassword": "4PkVerh7",
                "modificationTime": "1383078329"
            },
            {
                "targetPassword": "l9yAigqj",
                "modificationTime": "1383078314"
            },
            {
                "targetPassword": "welcome1",
                "modificationTime": "1383010874"
            }
        ]
    }
}

Where:

  • targetUID is the target's unique identifier.

  • targetName is the name of the target.

  • passwordHistory is the service account password history.

  • targetPassword is the service account password.

  • modificationTime (UTC time in seconds) is the time when the password was modified.

Password history results are sorted by modification time, where the most recent results will be at the top.

B.6 Account Resource

The APIs described in this section include:

B.6.1 Add an Account to a Target

Use this API to add an account to the target. This API does not create an account on the target system, but it registers the existing account with the Oracle Privileged Account Manager target.

Note:

  • You must never use the same account as the service account and as a privileged account to be managed by Oracle Privileged Account Manager.

  • You must be an administrator with the Security Administrator Admin Role to use this API.

URI

https://opam_server_host:opam_ssl_port/opam/account

Method

POST

Content-Type

application/json

Body

JSON representation for account addition/verification

Returns on Success

Status code 201 and Location


Example B-33 Sample JSON Representation of Account for Addition/Verification

{
   "account":{
      "accountName":"admin",
      "description" : "maintenance account on the machine",
      "password" : "welcome1",
      "passwordpolicy":"passwordpolicy2",
      "shared":"true",
      "targetUID":"9bbcbbb087174ad1900ea691a2573b61"
   }
}

Where:

  • account is the account JSON object.

  • accountName is the name of the account.

  • description is a description of the account. This attribute is optional.

  • password is the account password. This attribute is optional.

  • passwordpolicy is the policy ID of the Password Policy applicable to the account. This parameter is optional. By default, this parameters uses the global Default Password Policy.

  • shared indicates the shared status of the account. This value is a Boolean and the default setting is false.

  • targetUID is the target's unique identifier.

B.6.2 Get Applicable Usage Policy for the Account

Use this API to get the applicable Usage Policy for an account.

URI

https://opam_server_host:opam_ssl_port/opam/account/
accountUID/usagepolicy

Method

GET

Content-Type

 

Returns on Success

Status code 200 and JSON representation of the Usage Policy


Example B-34 Sample JSON Representation of the Usage Policy

{"usagepolicy":
    {
        "policyid":"bafd53072bbb442db185dca18bd00e69",
        "policyname":"usage_policy_anytime"
    }
}

Where:

  • usagepolicy is the Usage Policy JSON object.

  • policyid is the Usage Policy's unique identifier.

  • policyname is a name of the policy

B.6.3 Grant a User/Role Access to an Account

Use this API to grant a user or role access to an account. Multiple users and roles can be granted the access at a time.

Note:

You must be an administrator with the User Manager Admin Role to use this API.

URI

https://opam_server_host:opam_ssl_port/opam/account/{accountUID}

Method

PUT

Content-Type

application/json

Body

JSON representation for adding grantees

Returns on Success

Status code 200


Example B-35 Sample JSON Representation for Adding Grantees

{
   "modifications":[
      {
         "modification":{
            "usagepolicy":"usagepolicy1",
            "role":"opamgroup1",
            "operation":"add"
         }
      },
      {
         "modification":{
            "usagepolicy":"usagepolicy1",
            "user":"opamuser1",
            "operation":"add"
         }
      }
   ]
}

Where:

  • accountUID is the account's unique identifier.

  • modifications are an array of modification JSON objects.

  • modification is a JSON object representing the modification of a single attribute.

  • role indicates that a group has to be granted an access. This parameter value is the group name.

  • user indicates that a user has to be granted an access. This parameter value is the user login id.

  • usagepolicy indicates the Usage Policy identifier to be applied to the grant.

  • operation indicates the type of operation to be performed. Acceptable values include:

    • add indicates grant.

    • delete indicates revocation.

    • replace indicates replacement of usagepolicy with a new value.

B.6.4 Add or Remove a CSF Map-Key for an Account

Use this API to add a CSF map-key to an account or remove the map-key from an account. You can add or remove multiple map-keys at a time.

Note:

You must be an administrator with the Security Administrator Admin Role to use this API.

URI

https://opam_server_host:opam_ssl_port/opam/account/{accountUID}

Method

PUT

Content-Type

application/json

Body

JSON representation for adding keymaps

Returns on Success

Status code 200


Example B-36 Sample JSON Representation for Map-Keys Addition/Removal

{
    "modifications": [
        {
            "modification": {
                "keymap": "[app1][sd45kjlf4g][t3://localhost:7001][weblogic][password]",
                "operation": "add"
            }
        },
        {
            "modification": {
                "keymap": "[hrmap][hrkey2][t3://localhost7001][weblogic][password]",
                "operation": "delete"
            }
        }
    ]
}

Where:

  • accountUID is the account's unique identifier.

  • modifications is an array of modification JSON objects.

  • modification is a JSON object representing the modification of a single attribute.

  • keymap is the map-key to be added or removed. The map-key must be in the following format:

    [csfmap][csfkey][Administration Server Url][username][password]
    
  • operation indicates the type of operation to be performed. Acceptable values include:

    • add indicates addition of map-key.

    • delete indicates removal of map-key.

B.6.5 Search Accounts

Use this API to search accounts using one or more of the following search request parameters:

  • type

  • domain

  • description

  • name

  • accountname

All of these parameters are optional.

Note:

You must be an administrator with the User Manager Admin Role or the Security Administrator Admin Role to use this API.

URI

https://opam_server_host:opam_ssl_port/opam/account/search?

Method

GET

Content-Type

 

Body

 

Returns on Success

Status code 200 and JSON representation of account collection


Example B-37 Sample JSON Representation of Account Collection

{
    "AccountCollection" : [
        {
            "account" : {
            "shared" : false,
            "passwordchangetime" : 1383072107,
            "targetUID" : "eadd96486e9a47b79bd23cf1167bd2b2",
            "domain" : "needtofix",
            "targetName" : "sunds_6.3_target",
            "targetType" : "ldap",
            "accountlevelstatus" : "checkedIn",
            "description" : "",
            "accountName" : "dsperson1",
            "uri" : "https://localhost:7002/opam/account/35e2709edf0443edae8f67727d937bec",
            "accountUID" : "35e2709edf0443edae8f67727d937bec"
        }
            },
        {
            "account" : {
            "shared" : false,
            "passwordchangetime" : 1383072107,
            "targetUID" : "eadd96486e9a47b79bd23cf1167bd2b2",
            "domain" : "needtofix",
            "targetName" : "sunds_6.3_target",
            "targetType" : "ldap",
            "accountlevelstatus" : "checkedIn",
            "description" : "",
            "accountName" : "dsperson10",
            "uri" : "https://localhost:7002/opam/account/0a1ee2cb17e345cdb537a2f05e11e93c",
            "accountUID" : "0a1ee2cb17e345cdb537a2f05e11e93c"
            }
        }
 
    ],
  "count" : 2
}

Where:

  • account is the account JSON object.

  • shared indicates the shared status of the account. This value is a Boolean and the default setting is false.

  • accountlevelstatus indicates whether the account has been checked in by anyone. Acceptable values are checkedIn and checkedOut.

  • description is a description of the account. This attribute is optional.

  • accountName is the name of the account.

  • accountUID is the account's unique identifier.

  • passwordchangetime is the time when the password was modified.

For all other attribute definitions, refer to Section B.5, "Target Resource."

B.6.6 Search Assigned Accounts

Use this API to search assigned accounts using one or more of the following search request parameters:

  • type

  • domain

  • description

  • name

  • accountname

All of these parameters are optional.

URI

https://opam_server_host:opam_ssl_port/opam/account/myaccounts/search?

Method

GET

Content-Type

 

Body

 

Returns on Success

Status code 200 and JSON representation of account collection


Example B-38 Sample JSON Representation of Account Collection

{
  "AccountCollection": [
    {
      "account": {      
        "uri": "https://myhost:7002/opam/account/b0e7ae053afb45658da4e3a0453bffec",
        "accountUID": "b0e7ae053afb45658da4e3a0453bffec",
        "accountName": "dduck",
        "description": "",
        "targetUID": "6e9721709c874c5897d7ea52071f0aac",
        "targetName": "unix1-target",
        "targetType": "unix",
        "domain": "US"
      }
    }
  ],
    "count": 1
}

Where:

  • account is the account JSON object.

  • accountUID is the account's unique identifier.

  • accountName is the name of the account.

  • description is a description of the account. This attribute is optional.

For all other attribute definitions, refer to Section B.5, "Target Resource."

B.6.7 Retrieve an Account

Use this API to retrieve an account.

URI

https://opam_server_host:opam_ssl_port/opam/account/{accountUID}

Method

GET

Content-Type

 

Body

 

Returns on Success

Status code 200 and JSON representation of account


Example B-39 Sample JSON Representation of Account

{
   "account":{
      "accountUID":"3f74a85e39e64432ba917a2e60fa15aa",
      "targetUID":"9bbcbbb087174ad1900ea691a2573b61",
      "accountName":"admin",
      "shared":true,
      "accountlevelstatus":"checkedIn",
      "passwordpolicy":"passwordpolicy2",
      "protocol": "ssh",
      "port": 22
   }
}

Where:

  • account is the account JSON object.

  • accountUID is the account's unique identifier.

  • accountName is the name of the account.

  • passwordpolicy is the policy ID of the Password Policy applicable to the account.

  • shared indicates the shared status of the account. This value is a Boolean and the default setting is false.

  • targetUID is target's unique identifier.

  • accountlevelstatus indicates whether the account has been checked in by anyone. Acceptable values are checkedIn and checkedOut.

  • protocol is the protocol used to connect to the Oracle Privileged Session Manager server.

  • port is the port used to connect to the Oracle Privileged Session Manager server.

B.6.8 Retrieve Grantees on an Account

Use this API to retrieve all the grantees of an account. A grantee can be a user or a role.

Note:

You must be an administrator with the User Manager Admin Role or the Security Administrator Admin Role to use this API.

URI

https://opam_server_host:opam_ssl_port/opam/account/{accountUID}/grantees

Method

GET

Content-Type

 

Body

 

Returns on Success

Status code 200 and JSON representation of Grantees


Example B-40 Sample JSON Representation of Grantees

{
   "grantees":{
      "users":[
         "opamuser1"
      ],
      "roles":[
         "opamgroup1"
      ]
   }
}

Where:

  • grantees are grantees of the account.

  • users are the users who have been granted the account. Each value is the user's login ID/UID.

  • roles are the groups or roles who have been granted the account. Each value is a group name.

B.6.9 Retrieve Users Who Checked Out an Account

Use this API to retrieve a list of all users who have currently checked out an account.

Note:

You must be an administrator with the User Manager Admin Role or the Security Administrator Admin Role to use this API.

URI

https://opam_server_host:opam_ssl_port/opam/account/{accountUID}/whocheckedout

Method

GET

Content-Type

 

Body

 

Returns on Success

Status code 200 and JSON representation of users who checked out the account.


Example B-41 Sample JSON Representation of Users Who Checked Out the Account

{
  "users": [   
    {
        "user": {
        "uid": "user_manager",
        "expiryTime": "1382147587",
        "checkoutTime": "1381715587",
        "checkoutUID": "f499b76719ba4d0aa30487e58316def3",
        "checkoutType": "password",
        "transcriptURL": ""
  }
    },
      {
        "user": {
        "uid": "user_manager",
        "expiryTime": "1382147587",
        "checkoutTime": "1381715587",
        "checkoutUID": "f499b76719ba4d0aa30487e58316def3",
        "checkoutType": "session",
        "transcriptURL": "https://myhost:7002/opam/checkout/dee8383184664ddfa09f454d0a9a023d/
          transcript"
      }
    }
  ]
}

Where:

  • transcriptURL is the URL you use to access the session transcript.

  • checkoutType indicates whether the checkout was a session checkout or a password checkout.

  • checkoutUID is the unique ID for the checkout.

B.6.10 Check Out an Account

Use this API to check out an account.

URI

https://opam_server_host:opam_ssl_port/opam/account/{accountUID}/checkout

Method

PUT

Content-Type

application/json

Body

 

Returns on Success

Status code 200 and JSON representation of account token


Example B-42 Sample JSON Representation of Account Token

{
   "accountToken":{
      "accountName":"admin",
      "accountUID":"3f74a85e39e64432ba917a2e60fa15aa",
      "accountPassword":"GJN8p2ol"
   }
}

Where:

  • accountUID is the account's unique identifier.

  • accountName is the name of the account.

  • accountpassword is the account password.

B.6.11 Get All Checked Out Accounts

Use this API to retrieve a list of all accounts that have been checked out by the logged in user.

URI

https://opam_server_host:opam_ssl_port/opam/account/mycheckouts

Method

GET

Content-Type

 

Body

 

Returns on Success

Status code 200 and JSON representation of account collection


Example B-43 Sample JSON Representation of Account Collection

{
  "Checkouts": [
    {
      "uri": "https://myhost:7002/opam/account/b0e7ae053afb45658da4e3a0453bffec",
      "accountUID": "b0e7ae053afb45658da4e3a0453bffec",
      "accountName": "dduck",
      "status": "checkedOut",
      "targetUID": "6e9721709c874c5897d7ea52071f0aac",
      "targetName": "unix1-target",
      "targetType": "unix",
      "domain": "US",
      "expiryTime": "1371945854",
      "checkoutUID": "b97b2de6a80b40c48f873067027ac476",
      "checkoutType": "session",
      "transcriptURL": "https://myhost:7002/opam/account/checkout/b97b2de6a80b40c48f873067027ac476/
           transcript"
    },
    {
      "uri": "https://myhost:7002/opam/account/b0e7ae053afb45658da4e3a0453bffec",
      "accountUID": "b0e7ae053afb45658da4e3a0453bffec",
      "accountName": "dduck",
      "status": "checkedOut",
      "targetUID": "6e9721709c874c5897d7ea52071f0aac",
      "targetName": "unix1-target",
      "targetType": "unix",
      "domain": "US",
      "expiryTime": "1371940624",
      "checkoutUID": "bf43672ffd3a43018cdfde9b78bf1691",
      "checkoutType": "password",
      "transcriptURL": ""
    }
  ]
}

Where:

  • accountUID is the account's unique identifier.

  • accountName is the name of the account.

  • checkoutUID is the unique ID for the checkout.

  • checkoutType indicates whether the checkout was a session checkout or a password checkout.

  • transcriptURL is the URL to access the session transcript.

For all other attribute definitions, refer to Section B.5, "Target Resource."

B.6.12 Get Session Checkout Instructions

Use this API to get information to help you perform a session checkout.

Note:

For more information about password and session checkouts, refer to Section 8.5, "Checking Out Privileged Accounts" and Section 8.5.2, "Checking Out Privileged Account Sessions."

URI

https://opam_server_host:opam_ssl_port/opam/account/{accountUID}/checkout/
session/instructions

Method

GET

Content-Type

 

Body

 

Returns on Success

Status code 200 and JSON representation of output


Example B-44 Sample JSON Representation of Session Checkout Instructions

{
  "sessionCheckoutInstructions": {
    "accountName": "dduck",
    "targetName": "bkottaha-unix",
    "port": 1222,
    "instruction": "ssh -p <port> <opamuser>:<targetname>:<accountname>@
       <sessionmgrhost>\n Use opam password on password prompt"
  }
}

Where:

  • accountName is the name of the account.

  • targetName is the name of the target.

  • port is the port that Session Manager listens to for connections.

  • instruction is the information required to perform a session checkout.

B.6.13 Checkout History for an Account

Use this API to search for an account's checkout history using one or more of the following parameters:

  • from: Specify start time in seconds (UTC) (required).

  • to: Specify end time in seconds (UTC) (required).

  • uid: Specify the userID (optional).

  • pattern: Specify the command that was executed or a term in the log (optional).

  • size: Specify the number of array elements to be returned (optional).

Use the from and to parameters to specify the time period in which the checkouts were running.

Note:

You must be an administrator with the User Manager or Security Administrator Admin Role to access this query.

URI

https://opam_server_host:opam_ssl_port/opam/account/{accountUID}/checkouts/
historical/search?param1=val1

Method

GET

Content-Type

 

Body

 

Returns on Success

Status code 200 and JSON representation of output


Sample URL Output

https://myhost:7002/opam/account/8d9e9ce750da4aedac3ffbea0d28a73a/checkouts/historical/search?from=123&to=1372893007&size=2&pattern=ls

Example B-45 Sample JSON Representation of Account Checkout History

{
  "checkouts": [
  {
   "checkout": {
   "accountName": "dduck",
   "targetName": "unix1-target",
   "uid": "user_manager",
   "starttime": "1372883311",
   "endtime": "1372883323",
   "checkoutUID": "9c3c5d687d414a57b7dbda0692c9b06d ",
   "checkoutType": "session",
   "transcriptURL":    "https://myhost:7002/opam/checkout/9c3c5d687d414a57b7dbda0692c9b06d/transcript"
  }
},
{
  "checkout": {
  "accountName": "dduck",
  "targetName": "unix1-target",
  "uid": "user_manager",
  "starttime": "1372812996",
  "endtime": "1372813007",
  "checkoutUID": "60f253f7c8a941309d64fe88787f90ee ",
  "checkoutType": "password",
  "transcriptURL": ""
  }
}
  ],
   "totalcount": 3,
   "returncount": 2
}

Where:

  • transcriptURL is the URL you use to access the session transcript.

  • checkoutType indicates whether the checkout was a session checkout or a password checkout.

  • checkoutUID is the unique ID for the checkout.

  • totalcount is the number of actual search results.

  • returncount is the number of search results that were actually returned (determined by size).

For all other attribute definitions, refer to Section B.6, "Account Resource."

B.6.14 Checkout History

Use this API to search for the checkout history of all accounts, using one or more of the following parameters:

  • from: Specify start time in seconds (UTC) (required).

  • to: Specify end time in seconds (UTC) (required).

  • targetname: Specify the name of a target on which to search (optional).

  • accountname: Specify the name of an account to search (optional).

  • uid: Specify the userID (optional).

  • pattern: Specify the command that was executed or a term in the log (optional).

  • size: Specify the number of array elements to be returned (optional).

Use the from and to parameters to specify the time period in which the checkouts were running.

Note:

You must be an administrator with the Security Auditor Admin Role to access this query.

URI

https://opam_server_host:opam_ssl_port/opam/checkout/historical/search?param1=val1

Method

GET

Content-Type

 

Body

 

Returns on Success

Status code 200 and JSON representation of output


Sample URL

https://myhost:7002/opam/checkout/historical/search?from=123&to=
1472816146&size=2&pattern=ls&accountname=a&targetname=h&uid=u

Example B-46 Sample JSON Representation of Checkout History

{
  "checkouts": [
  {
    "checkout": {
    "accountName": "dduck",
    "targetName": "unix1-target",
    "uid": "user_manager",
    "starttime": "1372883311",
    "endtime": "1372883323",
    "checkoutUID": "9c3c5d687d414a57b7dbda0692c9b06d ",
    "checkoutType": "session",
 
    "transcriptURL": "https://myhost:7002/opam/checkout/9c3c5d687d414a57b7dbda0692c9b06d/transcript"
}
},
{
"session": {
"accountName": "mmouse",
"targetName": "unix1-target",
"uid": "user_manager",
"starttime": "1372880658",
"endtime": "1372880667",
"checkoutUID": "8d2a99d2b34a4e3297b051fb4028652f ",
"checkoutType": "password",
 
"transcriptURL": ""
}
}
],
"totalcount": 4,
"returncount": 2
}

Where:

  • transcriptURL is the URL you use to access the session transcript.

  • checkoutType indicates whether the checkout was a session checkout or a password checkout.

  • checkoutUID is the unique ID for the checkout.

  • totalcount is the number of actual search results.

  • returncount is the number of search results that were actually returned (determined by size).

For all other attribute definitions, refer to Section B.6, "Account Resource."

B.6.15 Check In an Account

Use this API to check in an account.

A checkout can be a password checkout or session checkout. You can individually check in each checkout by using its checkoutUID or you can check in all of the checkouts for an account. (In this publication, the term "account checkout" generally refers to the latter case.)

Note:

To do a force-check in, you must be an administrator with the User Manager Admin Role.

URI

https://opam_server_host:opam_ssl_port/opam/account/{accountUID}/checkin

Method

PUT

Content-Type

application/json

Body

 

Returns on Success

Status code 200


Sample JSON Representations of Account Check Ins

The following examples illustrate different types of Force Check Ins

Example B-47 Self Check In a Password or Session Checkout

{
  "checkoutUID":"9c3c5d687d414a57b7dbda0692c9b06d"
}

Example B-48 Force Account Check In (Both Password and Session) for All Users

{
  "force":"true"
 
}

Example B-49 Force Account Check In (Both Password and Session) for a Single User

{
  "force" : "true",
  "userid" : "person1"
}

Example B-50 Force Check In a Password or Session

{
  "force" : "true",
  "checkoutUID" : "9c3c5d687d414a57b7dbda0692c9b06d",
}

Note:

If you want to perform an account check in (for both password or session), you do not have to provide any content in the JSON body.

Where:

  • force is a flag that indicates a force check-in. (Default is false.)

  • userid is the user who is to be force-checked in. (Default is to force-check in all users that have checked out the account.)

  • checkoutUID is the unique identifier for a checkout.

B.6.16 Verify an Account

Use this API to verify whether the account is present on the target system.

URI

https://opam_server_host:opam_ssl_port/opam/account/test

Method

PUT

Content-Type

application/json

Body

JSON representation for account addition/verification

Returns on Success

Status code 200


Example B-51 Sample JSON Representation of Account Addition/Verification

{
   "account":{
      "accountName":"admin",
      "description" : "maintenance account on the machine"
      "password" : "welcome1"
      "passwordpolicy":"passwordpolicy2",
      "shared":"true",
      "targetUID":"9bbcbbb087174ad1900ea691a2573b61"
   }
}

Where:

  • account is the account JSON object.

  • accountName is the name of the account.

  • description is a description of the account. This attribute is optional.

  • password is the account password. This attribute is optional.

  • passwordpolicy is the policy ID of the Password Policy applicable to the account. This parameter is optional. By default, this parameters uses the global Default Password Policy.

  • shared indicates the shared status of the account. This value is a Boolean and the default setting is false.

  • targetUID is the target's unique identifier.

B.6.17 Update an Account

Use this API to update an account. You can change multiple attributes at a time. Only passwordpolicy, description, and shared attributes can be updated.

Note:

You must be an administrator with the Security Administrator Admin Role to use this API.

URI

https://opam_server_host:opam_ssl_port/opam/account/{accountUID}

Method

PUT

Content-Type

application/json

Body

JSON representation of account modifications

Returns on Success

Status code 200


Example B-52 Sample JSON Representation of Account Modifications

{
   "modifications":[
      {
         "modification":{
            "passwordpolicy":"passwordpolicy2"
         }
      },
      {
         "modification":{
            "shared":"false"
         }
      }
   }
}

Where:

  • accountUID is the account's unique identifier.

  • modifications are an array of modification JSON objects.

  • modification is a JSON object representing the modification of a single attribute.

B.6.18 Remove an Account

Use this API to remove an account.

Note:

You must be an administrator with the Security Administrator Admin Role to use this API.

URI

https://opam_server_host:opam_ssl_port/opam/account/{accountUID

Method

DELETE

Content-Type

 

Body

 

Returns on Success

Status code 200


Where:

  • accountUID is the account's unique identifier.

B.6.19 Remove a User's/Role's Access to an Account

Use this API to remove a user's access or a role's access to an account. You can revoke multiple user and role grants at a time.

Note:

You must be an administrator with the User Manager Admin Role to use this API.

URI

https://opam_server_host:opam_ssl_port/opam/account/{accountUID}

Method

PUT

Content-Type

application/json

Body

JSON representation for removing grantees

Returns on Success

Status code 200


Example B-53 Sample JSON Representation for Removing Grantees

{
   "modifications":[
      {
         "modification":{
            "usagepolicy":"usagepolicy1",
            "role":"opamgroup1",
            "operation":"delete"
         }
      },
      {
         "modification":{
            "usagepolicy":"usagepolicy1",
            "user":"opamuser1",
            "operation":"delete"
         }
      }
   ]
}

Where:

  • accountUID is the account's unique identifier.

  • modifications are an array of modification JSON objects.

  • modification is a JSON object representing a single modification.

  • role indicates that a group has to be granted an access. This parameter value is the group name.

  • user indicates that a user has to be granted an access. This parameter value is the user login id.

  • usagepolicy indicates the Usage Policy identifier to be applied to the grant.

  • operation indicates the type of operation to be performed. Acceptable values include:

    • add indicates a grant.

    • delete indicates a revocation.

    • replace indicates the replacement of the usagepolicy with a new value.

B.6.20 Show Password

Use this API to retrieve and display the password associated with an account.

Note:

You must be an administrator with the Security Administrator Admin Role or you must have checked out the account to use this API.

URI

https://opam_server_host:opam_ssl_port/opam/account/{accountUID}/showpassword

Method

GET

Content-Type

application/json

Body

 

Returns on Success

Status code 200 and JSON representation of account token


Example B-54 Sample JSON Representation of Account Token

{
   "accountToken":{
      "accountName":"admin",
      "accountUID":"3f74a85e39e64432ba917a2e60fa15aa",
      "accountPassword":"GJN8p2ol"
   }
}

Where:

  • accountUID is the account's unique identifier.

  • accountName is the name of the account.

  • accountPassword is the account password.

B.6.21 Show Password (Deprecated)

Note:

This API has been deprecated. Oracle recommends that you use the Show Password API in Section B.6.20, "Show Password."

Use this API to retrieve and display the password associated with an account.

Note:

You must be an administrator with the Security Administrator Admin Role or you must have checked out the account to use this API.

URI

https://opam_server_host:opam_ssl_port/opam/account/{accountUID}/showpassword

Method

PUT

Content-Type

application/json

Body

 

Returns on Success

Status code 200 and JSON representation of account token


Example B-55 Sample JSON Representation of Account Token

{
   "accountToken":{
      "accountName":"admin",
      "accountUID":"3f74a85e39e64432ba917a2e60fa15aa",
      "accountPassword":"GJN8p2ol"
   }
}

Where:

  • accountUID is the account's unique identifier.

  • accountName is the name of the account.

  • accountPassword is the account password.

B.6.22 Show Password History

Use this API to retrieve and display the password history associated with an account.

Note:

You must be an administrator with the Security Administrator Admin Role or you must have checked out the account to use this API.

URI

https://opam_server_host:opam_ssl_port/opam/account/{accountUID}/showpasswordhistory

Method

GET

Content-Type

application/json

Body

 

Returns on Success

Status code 200 and JSON representation of account token


Example B-56 Sample JSON Representation of Account Token

{
  "accountName": "opamuser1",
  "accountUID": "c1b054ed0f984e27bd68b8c28b985801",
  "passwordHistory": [
    {
      "accountPassword": "M7aGfNOR",
      "modificationTime": "1382996686"
    },
    {
      "accountPassword": "Dr3z5AGa",
      "modificationTime": "1382996412"
    }
  ]
}

Where:

  • accountUID is the account's unique identifier.

  • accountName is the name of the account.

  • passwordHistory is the account password history.

  • accountPassword is the account password.

  • modificationTime is the time (in UTC seconds) when the password was modified.

B.6.23 Show Password History (Deprecated)

Note:

This API has been deprecated. Oracle recommends that you use the Show Password History API in Section B.6.22, "Show Password History."

Use this API to retrieve and display the password history associated with an account.

Note:

You must be an administrator with the Security Administrator Admin Role or you must have checked out the account to use this API.

URI

https://opam_server_host:opam_ssl_port/opam/account/{accountUID}/showpasswordhistory

Method

PUT

Content-Type

application/json

Body

 

Returns on Success

Status code 200 and JSON representation of account token


Example B-57 Sample JSON Representation of Account Token

{
    "accountName":"admin",
    "accountUID":"3f74a85e39e64432ba917a2e60fa15aa",
    "passwordHistory": [{
            "accountPassword": "Ud2fykRx",
            "modificationTime": "2013-01-27 19:36:32.952"
        }, {
            "accountPassword": "jgs21Z8w",
            "modificationTime": "2013-01-27 19:37:02.449"
        }, {
            "accountPassword": "I3jDRaZb",
            "modificationTime": "2013-01-27 19:37:19.488"
        }, {
            "accountPassword": "5VfKaYZT",
            "modificationTime": "2013-01-28 00:22:37.331"
    }]
}       

Where:

  • accountUID is the account's unique identifier.

  • accountName is the name of the account.

  • passwordHistory is the account password history.

  • accountPassword is the account password.

  • modificationTime is the time when the password was modified.

B.6.24 Reset Password

Use this API to reset the password on the account.

Note:

You must be an administrator with the Security Administrator Admin Role to use this API.

URI

https://opam_server_host:opam_ssl_port/opam/account/{accountUID}/resetpassword

Method

PUT

Content-Type

application/json

Body

JSON representation of the new password

Returns on Success

Status code 200


Example B-58 Sample JSON Representation of the New Password

{
   "password":"welcome1"
}

Or,

{
   "autogen":"true"
}

Where:

  • accountUID is the account's unique identifier.

  • password is the password assigned to the account.

  • autogen is the a flag that controls whether to generate a password automatically or not. (Default is false.)

B.7 UI Resource

The APIs described in this section include:

B.7.1 Search Accounts (Deprecated)

Note:

This API has been deprecated. Oracle recommends that you use the Search Accounts API in Section B.6, "Account Resource."

Use this API to search accounts using one or more of the following search request parameters:

  • type

  • domain

  • description

  • name

  • accountname

All of these parameters are optional.

Note:

You must be an administrator with the User Manager Admin Role or the Security Administrator Admin Role to use this API.

URI

https://opam_server_host:opam_ssl_port/opam/ui/allaccounts/search?param1=val1&param2=val2

Method

GET

Content-Type

 

Body

 

Returns on Success

Status code 200 and JSON representation of account collection


Example B-59 Sample JSON Representation of Account Collection

{
    "AccountCollection" : [
        {
            "account" : {
            "shared" : false,
            "targetUID" : "eadd96486e9a47b79bd23cf1167bd2b2",
            "domain" : "needtofix",
            "targetName" : "sunds_6.3_target",
            "targetType" : "ldap",
            "accountlevelstatus" : "checkedIn",
            "description" : "",
            "accountName" : "dsperson1",
            "uri" : "https://localhost:7002/opam/account/35e2709edf0443edae8f67727d937bec",
            "accountUID" : "35e2709edf0443edae8f67727d937bec"
        }
            },
        {
            "account" : {
            "shared" : false,
            "targetUID" : "eadd96486e9a47b79bd23cf1167bd2b2",
            "domain" : "needtofix",
            "targetName" : "sunds_6.3_target",
            "targetType" : "ldap",
            "accountlevelstatus" : "checkedIn",
            "description" : "",
            "accountName" : "dsperson10",
            "uri" : "https://localhost:7002/opam/account/0a1ee2cb17e345cdb537a2f05e11e93c",
            "accountUID" : "0a1ee2cb17e345cdb537a2f05e11e93c"
            }
        }
 
    ],
    "count" : 2
}

For all other attribute definitions, refer to Section B.5, "Target Resource" and Section B.6, "Account Resource."

B.7.2 Search Assigned Accounts (Deprecated)

Note:

This API has been deprecated. Oracle recommends that you use the Search Assigned Accounts API in Section B.6, "Account Resource."

Use this API to search assigned accounts using one or more of the following search request parameters:

  • type

  • domain

  • description

  • name

  • accountname

All of these parameters are optional.

URI

https://opam_server_host:opam_ssl_port/opam/ui/myaccounts/search?param1=
val1&param2=val2

Method

GET

Content-Type

 

Body

 

Returns on Success

Status code 200 and JSON representation of account collection


Example B-60 Sample JSON Representation of Account Collection

{
    "AccountCollection" : [
        {
            "account" : {
                "status" : "checkedIn",
                "shared" : false,
                "targetUID" : "b7af920f673149f5b0f66da28fdf8253",
                "domain" : "needtofix",
                "targetName" : "ldap1_target",
                "targetType" : "ldap",
                "accountlevelstatus" : "checkedIn",
                "description" : "",
                "accountName" : "person1",
                "uri" : "https://localhost:7002/opam/account/0d755f646bcf4fa08ca515ed3829aadf",
                "accountUID" : "0d755f646bcf4fa08ca515ed3829aadf"
        }
            },
        {
                "account" : {
                "status" : "checkedIn",
                "shared" : false,
                "targetUID" : "b7af920f673149f5b0f66da28fdf8253",
                "domain" : "needtofix",
                "targetName" : "ldap1_target",
                "targetType" : "ldap",
                "accountlevelstatus" : "checkedIn",
                "description" : "",
                "accountName" : "person2",
                "uri" : "https://localhost:7002/opam/account/62c684c3821f4e118790e815ee881e02",
                "accountUID" : "62c684c3821f4e118790e815ee881e02"
            }
        }
    ],
    "count" : 2
}

Where:

  • status indicates whether the requesting user has checked out the account or not.

For all other attribute definitions, refer to Section B.5, "Target Resource" and Section B.6, "Account Resource."

B.7.3 Get All Checked Out Accounts (Deprecated)

Note:

This API has been deprecated. Oracle recommends that you use the Get All Checked Out Accounts API in Section B.6, "Account Resource."

Use this API to retrieve a list of all accounts that have been checked out by the logged in user.

URI

https://opam_server_host:opam_ssl_port/ui/allaccounts/mycheckedout

Method

GET

Content-Type

 

Body

 

Returns on Success

Status code 200 and JSON representation of account collection


Example B-61 Sample JSON Representation of Account Collection

{
   "AccountCollection":[
      {
         "account":{
            "uri":"https:\/\/opam_server_host:opam_ssl_port\/opam\/account\
               /3740553e999a4f6aa8e8f9286d320cb4",
            "accountUID":"3740553e999a4f6aa8e8f9286d320cb4",
            "accountName":"sherlock",
            "status":"checkedOut",
            "targetUID":"9bbcbbb087174ad1900ea691a2573b61",
            "targetName":"ldap1-target",
            "targetType":"ldap",
            "domain":"berkeley",
            "expiryTime":1338765551,
         },
         "count":1
      }
   ]
}

For attribute definitions, refer to Section B.5, "Target Resource" and Section B.6, "Account Resource."

B.8 User Resource

The APIs described in this section include:

B.8.1 Get a User

Use this API to retrieve a user.

Note:

You must be an administrator with the User Manager Admin Role or the Security Administrator Admin Role to use this API.

URI

https://opam_server_host:opam_ssl_port/opam/user/{uid}

Method

GET

Content-Type

 

Body

 

Returns on Success

Status code 200 and JSON representation of user


Example B-62 Sample JSON Representation of User

{
   "user":{
      "uid":"opamuser1",
      "lastname":"opamuser1",
      "usertype":"End-User",
      "opamrole":[
 
      ],
      "dn":"uid=opamuser1,ou=people,ou=myrealm,dc=base_domain",
   }
}

Where:

  • uid is the login ID of the user.

  • lastname is the last name of the user.

  • firstname is the first name of the user.

  • dn is the distinguished name of the user.

  • usertype indicates whether the user has an Administrative Role.

  • opamrole is the user's Admin Role.

B.8.2 Get All Accounts Granted to a User

Use this API to retrieve all of the accounts granted to a user.

Note:

You must be an administrator with the User Manager Admin Role or the Security Administrator Admin Role to use this API.

URI

https://opam_server_host:opam_ssl_port/opam/user/{uid}/accounts

Method

GET

Content-Type

 

Body

 

Returns on Success

Status code 200 and JSON representation of accounts collection


Example B-63 Sample JSON Representation of Accounts Collection

{
    "accounts":[
        {
            "account":{
            "accountUID":"16d245784350469cbe25229a7c45af22",
            "accountName":"oidperson10",
            "targetID":"75a23e9f30ba456b961a1f5d327e67ef",
            "targetName":"ldap1_target",
            "targetDomain":"needtofix",
            "targetType":"ldap"
        }
    },
        {
            "account":{
            "accountUID":"47671a7a4ebc44c496888aac5423dad1",
            "accountName":"oudperson11",
            "targetID":"488d6d656b2c4b96a5fd835c131b4c00",
            "targetName":"oud_11.115_target",
            "targetDomain":"needtofix",
            "targetType":"ldap"
        }
    }
    ]
}

For attribute definitions, refer to Section B.5, "Target Resource" and Section B.6, "Account Resource."

B.8.3 Search Users from Identity Store

Use this API to search for users. This API searches for the searchKeyWord in firstname, lastname, uid, and mail of the user.

Note:

You must be an administrator with the User Manager Admin Role to use this API.

URI

https://opam_server_host:opam_ssl_port/opam/user/search/{searchKeyWord}

Method

GET

Content-Type

 

Body

 

Returns on Success

Status 200 and JSON representation of users


Example B-64 Sample JSON Representation of Users

{
   "users":[
      {
         "user":{
            "uid":"opamenduser1",
            "firstname":"opamenduser1",
            "lastname":"opamenduser1",
            "dn":"uid=opamenduser1,ou=people,ou=myrealm,dc=base_domain"
         }
      },
      {
         "user":{
            "uid":"opamenduser2",
            "lastname":"opamenduser2",
            "dn":"uid=opamenduser2,ou=people,ou=myrealm,dc=base_domain"
         }
      },
      {
         "user":{
            "uid":"opamuser1",
            "lastname":"opamuser1",
            "dn":"uid=opamuser1,ou=people,ou=myrealm,dc=base_domain"
         }
      }
   ]
}

For attribute definitions, refer to Section B.8.1, "Get a User."

B.8.4 Search for Assigned Users

Use this API to search for users. This API is contains a search with the uid parameter.

The uid parameter is optional.

Note:

You must be an administrator with the User Manager Admin Role to use this API.

URI

https://opam_server_host:opam_ssl_port/opam/user/advancedsearch?param1=val1&param2=val2

Method

GET

Content-Type

 

Body

 

Returns on Success

Status 200 and JSON representation of users


Example B-65 Sample JSON Representation of Users

{
   "users":[
      {
         "user":{
            "uid":"OracleSystemUser",
            "lastname":"OracleSystemUser",
            "dn":"uid=OracleSystemUser,ou=people,ou=myrealm,dc=base_domain"
         }
      },
      {
         "user":{
            "uid":"weblogic",
         }
      },
      {
         "user":{
            "uid":"app_config",
            "lastname":"app_config",
            "dn":"uid=app_config,ou=people,ou=myrealm,dc=base_domain"
         }
      },
      {
         "user":{
            "uid":"sec_admin",
            "lastname":"sec_admin",
            "dn":"uid=sec_admin,ou=people,ou=myrealm,dc=base_domain"
         }
      },
      {
         "user":{
            "uid":"user_manager",
            "lastname":"user_manager",
            "dn":"uid=user_manager,ou=people,ou=myrealm,dc=base_domain"
         }
      },
      {
         "user":{
            "uid":"sec_auditor",
            "lastname":"sec_auditor",
            "dn":"uid=sec_auditor,ou=people,ou=myrealm,dc=base_domain"
         }
      },
      {
         "user":{
            "uid":"opamenduser1",
            "firstname":"opamenduser1",
            "lastname":"opamenduser1",
            "dn":"uid=opamenduser1,ou=people,ou=myrealm,dc=base_domain"
         }
      },
      {
         "user":{
            "uid":"opamenduser2",
            "lastname":"opamenduser2",
            "dn":"uid=opamenduser2,ou=people,ou=myrealm,dc=base_domain"
         }
      },
      {
         "user":{
            "uid":"opamuser1",
            "lastname":"opamuser1",
            "dn":"uid=opamuser1,ou=people,ou=myrealm,dc=base_domain"
         }
      }
   ]
}

For attribute definitions, refer to Section B.8.1, "Get a User."

B.9 Group Resource

The APIs described in this section include:

B.9.1 Get Group

Use this API to retrieve a group.

Note:

You must be an administrator with the User Manager Admin Role to use this API.

URI

https://opam_server_host:opam_ssl_port/opam/group/{name}

Method

GET

Content-Type

 

Body

 

Returns on Success

Status code 200 and JSON representation of group


Example B-66 Sample JSON Representation of Group

{
   "group":{
      "name":"opamgroup1",
      "dn":"cn=opamgroup1,ou=groups,ou=myrealm,dc=base_domain",
      "description":"",
   }
}

Where:

  • name is the name of the group.

  • dn is the distinguished name of the group.

  • description is a description of the group.

B.9.2 Get Member Users of a Group

Use this API to retrieve the user members of a group.

Note:

You must be an administrator with the User Manager Admin Role to use this API.

URI

https://opam_server_host:opam_ssl_port/opam/group/{name}/users

Method

GET

Content-Type

 

Body

 

Returns on Success

Status code 200 and JSON representation of user collection


Example B-67 Sample JSON Representation of User Collection

{
    "users":[
        {
            "user":{
            "uid":"master_user",
            "lastname":"master_user",
            "dn":"uid=master_user,ou=people,ou=myrealm,dc=base_domain"
        }
    },
        {
            "user":{
            "uid":"sec_admin",
            "lastname":"sec_admin",
            "dn":"uid=sec_admin,ou=people,ou=myrealm,dc=base_domain"
        }
    }
    ]
}

For attribute definitions, refer to Section B.8.1, "Get a User."

B.9.3 Get Member Groups of a Group

Use this API to retrieve the group members of a group.

Note:

You must be an administrator with the User Manager Admin Role to use this API.

URI

https://opam_server_host:opam_ssl_port/opam/group/{name}/groups

Method

GET

Content-Type

 

Body

 

Returns on Success

Status code 200 and JSON representation of group collection


Example B-68 Sample JSON Representation of Group Collection

{
    "groups":[
        {
            "group":{
                "name":"CrossDomainConnectors",
                "description":"CrossDomainConnectors can make inter-domain calls from foreign domains."
            }
        },
       {
            "group":{
               "name":"Deployers",
               "description":"Deployers can view all resource attributes and deploy applications."
        }
    }
    ]
}

For attribute definitions, refer to Section B.9.1, "Get Group."

B.9.4 Get All Accounts Granted to a Group

Use this API to retrieve the all of the accounts granted to a group.

Note:

You must be an administrator with the User Manager Admin Role to use this API.

URI

https://opam_server_host:opam_ssl_port/opam/group/{name}/accounts

Method

GET

Content-Type

 

Body

 

Returns on Success

Status code 200 and JSON representation of accounts collection


Example B-69 Sample JSON Representation of Accounts Collection

{
    "accounts":[
        {
            "account":{
            "accountUID":"16d245784350469cbe25229a7c45af22",
            "accountName":"oidperson10",
            "targetID":"75a23e9f30ba456b961a1f5d327e67ef",
            "targetName":"ldap1_target",
            "targetDomain":"needtofix",
            "targetType":"ldap"
            }
        },
        {
            "account":{
            "accountUID":"47671a7a4ebc44c496888aac5423dad1",
            "accountName":"oudperson11",
            "targetID":"488d6d656b2c4b96a5fd835c131b4c00",
            "targetName":"oud_11.115_target",
            "targetDomain":"needtofix",
            "targetType":"ldap"
            }
        }
        ]
}

For attribute definitions, refer to Section B.5, "Target Resource" and Section B.6, "Account Resource."

B.9.5 Search Groups from Identity Store

Use this API to search for groups. This API searches for the searchKeyWord in the group names.

Note:

You must be an administrator with the User Manager Admin Role to use this API.

URI

https://opam_server_host:opam_ssl_port/opam/group/search/{searchKeyWord}

Method

GET

Content-Type

 

Body

 

Returns on Success

Status 200 and JSON representation of groups


Example B-70 Sample JSON Representation of Groups

{
   "groups":[
      {
         "group":{
            "name":"opamgroup1",
            "description":"",
         }
      },
      {
         "group":{
            "name":"opamgroup2",
            "description":"",
         }
      },
      {
         "group":{
            "name":"opamsubgroup1",
            "description":"",
         }
      },
      {
         "group":{
            "name":"opamsubgroup2",
            "description":"",
         }
      },
      {
         "group":{
            "name":"OPAM_APPLICATION_CONFIGURATOR",
            "description":"OPAM_APPLICATION_CONFIGURATOR",
         }
      },
      {
         "group":{
            "name":"OPAM_SECURITY_ADMIN",
            "description":"OPAM_SECURITY_ADMIN",
         }
      },
      {
         "group":{
            "name":"OPAM_SECURITY_AUDITOR",
            "description":"OPAM_SECURITY_AUDITOR",
         }
      },
      {
         "group":{
            "name":"OPAM_USER_MANAGER",
            "description":"OPAM_USER_MANAGER",
         }
      }
   ]
}

For attribute definitions, refer to Section B.9.1, "Get Group."

B.9.6 Advanced Search for Assigned Groups

Use this API to search for groups who have been assigned an account. The request parameter is groupname, which is optional.

Note:

You must be an administrator with the User Manager Admin Role to use this API.

URI

https://opam_server_host:opam_ssl_port/opam/group/advancedsearch?param1=val1&param2=val2

Method

GET

Content-Type

 

Body

 

Returns on Success

Status 200 and JSON representation of groups


Example B-71 Sample JSON Representation of Groups

{
   "groups":[
      {
         "group":{
            "name":"opamgroup1",
            "description":"",
         }
      },
      {
         "group":{
            "name":"opamgroup2",
            "description":"",
         }
      },
      {
         "group":{
            "name":"opamsubgroup1",
            "description":"",
         }
      },
      {
         "group":{
            "name":"opamsubgroup2",
            "description":"",
         }
      },
      {
         "group":{
            "name":"OPAM_APPLICATION_CONFIGURATOR",
            "description":"OPAM_APPLICATION_CONFIGURATOR",
         }
      },
      {
         "group":{
            "name":"OPAM_SECURITY_ADMIN",
            "description":"OPAM_SECURITY_ADMIN",
         }
      },
      {
         "group":{
            "name":"OPAM_SECURITY_AUDITOR",
            "description":"OPAM_SECURITY_AUDITOR",
         }
      },
      {
         "group":{
            "name":"OPAM_USER_MANAGER",
            "description":"OPAM_USER_MANAGER",
         }
      }
   ]
}

For attribute definitions, refer to Section B.9.1, "Get Group."

B.10 Plug-In Resource

The APIs described in this section include:

B.10.1 Add Plug-In Configuration

Use this API to add a plug-in configuration.

URI

https://opam_server_host:opam_ssl_port/opam/plugin

Method

POST

Content-Type

application/json

Body

JSON representation of plug-in

Returns on Success

Status code 201 and Location

Returns on Error

 

Example B-72 Sample JSON Representation of Plug-In Configuration Creation

{
    "plugin": {
        "pluginName":"sampleplugin"
        "pluginDescription":"Sample Plugin"
        "pluginEnabled": "true"
        "pluginResource":"account"
        "pluginOperation":"checkout"
        "pluginTiming":"post"
        "pluginOrder":"10"
        "pluginClassName":"EmailNotifyPlugin"
        "pluginClassPath":"/u01/plugins/emailplugin.jar"
        "pluginEnableGroup":["hrgroup", "itgroup"]
        "pluginEnableUser":["admin"]
        "pluginEnableResult":"200"
        "pluginVersion":"1.0.0"
        "pluginFlexSecFields":[
            {
                "pluginFlexSecField": {
                    "attrname":"notificationemail"
                    "attrvalue":"abc@abc.com"
                }
            }
        ]
    }
}

Sample Output

https://opam_server_host:opam_ssl_port/opam/plugin/9bbcbbb087174ad1900ea691a2573b61

B.10.2 Verify Plug-In Configuration

Use this API to validate a plug-in configuration, which includes

  • Testing the uniqueness of the pluginName

  • Testing the uniqueness of the pluginResource, pluginOperation, pluginOrder combination

  • Validating attributes and allowed values

  • Validating the loading of pluginClassName using the pluginClassPath

URI

https://opam_server_host:opam_ssl_port/opam/plugin/test

Method

PUT

Content-Type

application/json

Body

JSON representation of plug-in

Returns on Success

Status code 200

Returns on Error

 

Example B-73 Sample JSON Representation of Plug-In Configuration for Verification

{
    "plugin": {
        "pluginUID":"9bbcbbb087174ad1900ea691a2573b61"
        "pluginName":"sampleplugin"
        "pluginDescription":"Sample Plugin"
        "pluginEnabled": "true"
        "pluginResource":"account"
        "pluginOperation":"checkout"
        "pluginTiming":"post"
        "pluginOrder":"10"
        "pluginClassName":"EmailNotifyPlugin"
        "pluginClassPath":"/u01/plugins/emailplugin.jar"
        "pluginEnableGroup":["hrgroup", "itgroup"]
        "pluginEnableUser":["admin"]
        "pluginEnableResult":"200"
        "pluginVersion":"1.0.0"
        "pluginFlexSecFields":[
            {
                "pluginFlexSecField": {
                    "attrname":"notificationemail"
                    "attrvalue":"abc@abc.com"
                }
            }
        ]
    }
}

B.10.3 Search For Plug-In Configuration

Use this API, with any of the following parameters, to search for plug-in configurations:

  • Name

  • Description

  • Enabled

  • Resource

  • Operation

  • Timing

URI

https://opam_server_host:opam_ssl_port/opam/plugin
/search?param1=value1&param2=value2

Method

GET

Content-Type

 

Body

 

Returns on Success

Status code 200 and JSON representation of plug-in collection


Sample URI

https://opam_server_host:opam_ssl_port/opam/plugin
/search?name=email&enabled=true&timing=post

Example B-74 Sample JSON Representation of Plug-In Collection

{"pluginCollection": [
    {"plugin": {
        "pluginUID":"9bbcbbb087174ad1900ea691a2573b61"
        "pluginDescription":"Sample Plugin"
        "pluginName":"sampleplugin"
        "pluginEnabled": "true"
        "pluginResource":"account"
        "pluginOperation":"checkout"
        "pluginTiming":"post"
        "pluginOrder":"10"
        "pluginClassName":"EmailNotifyPlugin"
        "pluginClassPath":"/u01/plugins/emailplugin.jar"
        "pluginEnableGroup":["hrgroup", "itgroup"]
        "pluginEnableUser":["admin"]
        "pluginEnableResult":"200"
        "pluginVersion":"1.0.0"
        "pluginFlexSecFields":[
            {
                "pluginFlexSecField": {
                    "attrname":"notificationemail"
                    "attrvalue":"abc@abc.com"
                }
            }
        ]
    }}
   ]
}

B.10.4 Retrieve Plug-In Configuration

Use this API to retrieve a plug-in configuration.

URI

https://opam_server_host:opam_ssl_port/opam/plugin
/plugin/{pluginUID}

Method

GET

Content-Type

 

Body

 

Returns on Success

Status code 200 and JSON representation of a plug-in


Example B-75 Sample JSON Representation of Plug-In

{
    "plugin": {
        "pluginUID":"9bbcbbb087174ad1900ea691a2573b61"
        "pluginName":"sampleplugin"
        "pluginDescription":"Sample Plugin"
        "pluginEnabled": "true"
        "pluginResource":"account"
        "pluginOperation":"checkout"
        "pluginTiming":"post"
        "pluginOrder":"10"
        "pluginClassName":"EmailNotifyPlugin"
        "pluginClassPath":"/u01/plugins/emailplugin.jar"
        "pluginEnableGroup":["hrgroup", "itgroup"]
        "pluginEnableUser":["admin"]
        "pluginEnableResult":"200"
        "pluginVersion":"1.0.0"
        "pluginFlexSecFields":[
            {
                "pluginFlexSecField": {
                    "attrname":"notificationemail"
                    "attrvalue":"abc@abc.com"
                }
            }
        ]
    }
}

B.10.5 Update Plug-In Configuration

Use this API to update a plug-in configuration.

URI

https://opam_server_host:opam_ssl_port/opam/plugin/{pluginUID}

Method

PUT

Content-Type

application/json

Body

JSON representation of a plug-in modification

Returns on Success

Status code 200


Example B-76 Sample JSON Representation to Modify Plug-In

{
    "modifications": [
        {
             "modification": {
                 "pluginEnabled":"false"
                 "pluginVersion": "1.0.1"
            }
        }
    ]
}

B.10.6 Remove Plug-In Configuration

Use this API to delete a plug-in configuration.

URI

https://opam_server_host:opam_ssl_port/opam/plugin/{pluginUID}

Method

DELETE

Content-Type

application/json

Body

 

Returns on Success

Status code 200