{
    "swagger":"2.0",
    "info":{
        "version":"2019.09.30",
        "title":"REST API for Oracle Web Services Manager",
        "description":"The OWSM REST APIs enables you to set domain-level configuration properties, manage token issuer trust configurations, and to work with policies and policy sets such as viewing, attaching, detaching, editing and overriding policies and policy sets.",
        "x-summary":"The OWSM REST APIs enables you to set domain-level configuration properties, manage token issuer trust configurations, and to work with policies and policy sets such as viewing, attaching, detaching, editing and overriding policies and policy sets."
    },
    "basePath":"/v2",
    "tags":[
        {
            "name":"ConfigurationProperty",
            "description":"Upon system installation, there are a group of enterprise defined properties and their assigned default values. One can use this set of APIs to view or reset them with desired new values, thus override their default values. These newly set ConfigurationProperty should always be associated with a domain context. A domain context is defined by platform and domain. When they are omitted, the current domain and platform are assumed. Property values that have been reset can be reverted back to its original system default."
        },
        {
            "name":"PolicySet",
            "description":"Use this set of APIs to create/view/delete/update PolicySet (s)"
        },
        {
            "name":"PolicySet/PolicyReference",
            "description":"Use this set of APIs to create/view/delete/upate PolicyReference(s)"
        },
        {
            "name":"PolicySet/PolicyReference/ScopedConfigOverride",
            "description":"Use this set of APIs to create/view/delete/upate scoped ConfigOverride(s) for a specific policy attachment"
        },
        {
            "name":"PolicySet/UnscopedConfigOverride",
            "description":"Use this set of APIs to create/view/delete/upate unscoped ConfigOverride(s) for a specific PolicySet"
        },
        {
            "name":"Trust",
            "description":"Use this set of APIs to create/view/delete/update Trust documents"
        },
        {
            "name":"Trust/TokenAttributeRule",
            "description":"Use this set of APIs to create/view/delete/update TokenAttributeRule (s) of a Trust document"
        },
        {
            "name":"Trust/TokenAttributeRule/NameId",
            "description":"Use this set of APIs to create/view/delete/update NameId (s)"
        },
        {
            "name":"Trust/TokenAttributeRule/NameId/AttributeMapping",
            "description":"Use this set of APIs to create/view/delete/update the NameIdMapping of a NameId of a specific TokenAttributeRule"
        },
        {
            "name":"Trust/TokenAttributeRule/Proxy",
            "description":"Use this set of APIs to create/view/delete/update the Proxy of a specific TokenAttributeRule"
        },
        {
            "name":"Trust/TokenAttributeRule/TokenAttribute",
            "description":"Use this set of APIs to create/view/delete/update TokenAttribute (s)"
        },
        {
            "name":"Trust/TokenAttributeRule/TokenAttribute/AttributeMapping",
            "description":"Use this set of APIs to create/view/delete/update the AttributeMapping of a TokenAttribute of a specific TokenAttributeRule"
        },
        {
            "name":"Trust/TokenAttributeRule/VirtualUser",
            "description":"Use this set of APIs to create/view/delete/update VirtualUser of a sepcific TokenAttributeRule identified by {issuername}/{identifier}  in a named {trustname} Trust document."
        },
        {
            "name":"Trust/TokenAttributeRule/VirtualUser/TokenRoleMapping",
            "description":"Use this set of APIs to create/view/delete/update TokenRoleMapping(s) for the VirtualUser of a sepcific TokenAttributeRule identified by {issuername}/{identifier}  in a named {trustname} Trust"
        },
        {
            "name":"Trust/TokenIssuer",
            "description":"Use this set of APIs to create/view/delete/update TokenIssuer (s)"
        },
        {
            "name":"Trust/TokenIssuer/DiscoveryInfo",
            "description":"Use this set of APIs to create/view/delete/update the DiscoveryInfo of a specific TokenIssuer"
        },
        {
            "name":"Trust/TokenIssuer/RelyingParty",
            "description":"Use this set of APIs to manage the list of RelyingParty of a specific TokenIssuer"
        },
        {
            "name":"Trust/TokenIssuer/TrustedKey",
            "description":"Use this set of APIs to create/view/delete/update the TrustedKey of a specific TokenIssuer"
        },
        {
            "name":"Trust/TokenIssuer/TrustedKey/KeyIdentifier",
            "description":"Use this set of APIs to manage the list of KeyIdentifier of the TrustedKey of a specific TokenIssuer"
        }
    ],
    "schemes":[
        "https"
    ],
    "paths":{
        "/trust/{trustname}/attributerule/{issuername}/{identifier}/attribute/{attrname}/mapping":{
            "get":{
                "tags":[
                    "Trust/TokenAttributeRule/TokenAttribute/AttributeMapping"
                ],
                "summary":"Get the AttributeMapping",
                "description":"of the TokenAttribute named {attrname} of a specific TokenAttributeRule that is identified by {issuername} and {identifier} in the named {trustname} Trust document.",
                "operationId":"attributeMappingGet",
                "consumes":[
                    "application/json"
                ],
                "produces":[
                    "application/json"
                ],
                "parameters":[
                    {
                        "name":"trustname",
                        "in":"path",
                        "description":"Name of the Trust document.",
                        "required":true,
                        "type":"string",
                        "x-example":"myTrustDoc1"
                    },
                    {
                        "name":"issuername",
                        "in":"path",
                        "description":"issuername of the TokenAttributeRule",
                        "required":true,
                        "type":"string",
                        "x-example":"http://abc.com"
                    },
                    {
                        "name":"identifier",
                        "in":"path",
                        "description":"identifier of the TokenAttributeRule",
                        "required":true,
                        "type":"string",
                        "x-example":"xyzIdentifier"
                    },
                    {
                        "name":"attrname",
                        "in":"path",
                        "description":"name of the TokenAttribute",
                        "required":true,
                        "type":"string",
                        "x-example":"name123"
                    }
                ],
                "responses":{
                    "200":{
                        "description":"successful operation",
                        "schema":{
                            "$ref":"#/definitions/AttributeMapping"
                        }
                    },
                    "400":{
                        "description":"User bad request, please correct input data and try again.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "500":{
                        "description":"Operation failed with unexpected error.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    }
                },
                "x-internal-id":"trust-{trustname}-attributerule-{issuername}-{identifier}-attribute-{attrname}-mapping-get",
                "x-filename-id":"trust-trustname-attributerule-issuername-identifier-attribute-attrname-mapping-get"
            },
            "post":{
                "tags":[
                    "Trust/TokenAttributeRule/TokenAttribute/AttributeMapping"
                ],
                "summary":"Create the AttributeMapping",
                "description":"for the TokenAttribute named {attrname} of a specific TokenAttributeRule that is identified by {issuername} and {identifier} in the named {trustname} Trust document.",
                "operationId":"attributeMappingPost",
                "consumes":[
                    "application/json"
                ],
                "produces":[
                    "application/json"
                ],
                "parameters":[
                    {
                        "name":"trustname",
                        "in":"path",
                        "description":"Name of the Trust document.",
                        "required":true,
                        "type":"string",
                        "x-example":"myTrustDoc1"
                    },
                    {
                        "name":"issuername",
                        "in":"path",
                        "description":"issuername of the TokenAttributeRule",
                        "required":true,
                        "type":"string",
                        "x-example":"http://abc.com"
                    },
                    {
                        "name":"identifier",
                        "in":"path",
                        "description":"identifier of the TokenAttributeRule",
                        "required":true,
                        "type":"string",
                        "x-example":"xyzIdentifier"
                    },
                    {
                        "name":"attrname",
                        "in":"path",
                        "description":"name of the TokenAttribute",
                        "required":true,
                        "type":"string",
                        "x-example":"name123"
                    },
                    {
                        "in":"body",
                        "name":"attrMappingObj",
                        "description":"Input data of the AttributeMapping",
                        "required":true,
                        "schema":{
                            "$ref":"#/definitions/AttributeMapping"
                        },
                        "x-examples":{
                            "applicaton/json":"{'userAttribute': 'userAttr1',\n 'userMappingAttribute':'4321'}"
                        }
                    }
                ],
                "responses":{
                    "201":{
                        "description":"successful operation",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "400":{
                        "description":"User bad request, please correct input data and try again.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "500":{
                        "description":"Operation failed with unexpected error.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    }
                },
                "x-internal-id":"trust-{trustname}-attributerule-{issuername}-{identifier}-attribute-{attrname}-mapping-post",
                "x-filename-id":"trust-trustname-attributerule-issuername-identifier-attribute-attrname-mapping-post"
            },
            "delete":{
                "tags":[
                    "Trust/TokenAttributeRule/TokenAttribute/AttributeMapping"
                ],
                "summary":"Delete the AttributeMapping",
                "description":"from the TokenAttribute named {attrname} of a specific TokenAttributeRule that is identified by {issuername} and {identifier} in the named {trustname} Trust document.",
                "operationId":"attributeMappingDelete",
                "consumes":[
                    "application/json"
                ],
                "produces":[
                    "application/json"
                ],
                "parameters":[
                    {
                        "name":"trustname",
                        "in":"path",
                        "description":"Name of the Trust document.",
                        "required":true,
                        "type":"string",
                        "x-example":"myTrustDoc1"
                    },
                    {
                        "name":"issuername",
                        "in":"path",
                        "description":"issuername of the TokenAttributeRule",
                        "required":true,
                        "type":"string",
                        "x-example":"http://abc.com"
                    },
                    {
                        "name":"identifier",
                        "in":"path",
                        "description":"identifier of the TokenAttributeRule",
                        "required":true,
                        "type":"string",
                        "x-example":"xyzIdentifier"
                    },
                    {
                        "name":"attrname",
                        "in":"path",
                        "description":"name of the TokenAttribute",
                        "required":true,
                        "type":"string",
                        "x-example":"name123"
                    }
                ],
                "responses":{
                    "200":{
                        "description":"successful operation",
                        "schema":{
                            "$ref":"#/definitions/AttributeMapping"
                        }
                    },
                    "400":{
                        "description":"User bad request, please correct input data and try again.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "500":{
                        "description":"Operation failed with unexpected error.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    }
                },
                "x-internal-id":"trust-{trustname}-attributerule-{issuername}-{identifier}-attribute-{attrname}-mapping-delete",
                "x-filename-id":"trust-trustname-attributerule-issuername-identifier-attribute-attrname-mapping-delete"
            },
            "patch":{
                "tags":[
                    "Trust/TokenAttributeRule/TokenAttribute/AttributeMapping"
                ],
                "summary":"Update the AttributeMapping",
                "description":"of the TokenAttribute named {attrname} of a specific TokenAttributeRule that is identified by {issuername} and {identifier} in the named {trustname} Trust document.",
                "operationId":"attributeMappingPut",
                "consumes":[
                    "application/json"
                ],
                "produces":[
                    "application/json"
                ],
                "parameters":[
                    {
                        "name":"trustname",
                        "in":"path",
                        "description":"Name of the Trust document.",
                        "required":true,
                        "type":"string",
                        "x-example":"myTrustDoc1"
                    },
                    {
                        "name":"issuername",
                        "in":"path",
                        "description":"issuername of the TokenAttributeRule",
                        "required":true,
                        "type":"string",
                        "x-example":"http://abc.com"
                    },
                    {
                        "name":"identifier",
                        "in":"path",
                        "description":"identifier of the TokenAttributeRule",
                        "required":true,
                        "type":"string",
                        "x-example":"xyzIdentifier"
                    },
                    {
                        "name":"attrname",
                        "in":"path",
                        "description":"name of the TokenAttribute",
                        "required":true,
                        "type":"string",
                        "x-example":"name123"
                    },
                    {
                        "in":"body",
                        "name":"attrMappingObj",
                        "description":"New field values of the AttributeMapping",
                        "required":true,
                        "schema":{
                            "$ref":"#/definitions/AttributeMapping"
                        },
                        "x-examples":{
                            "applicaton/json":"{'userAttribute': 'newUserAttr1',\n 'userMappingAttribute':'xyz'}"
                        }
                    }
                ],
                "responses":{
                    "201":{
                        "description":"successful operation",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "400":{
                        "description":"User bad request, please correct input data and try again.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "500":{
                        "description":"Operation failed with unexpected error.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    }
                },
                "x-internal-id":"trust-{trustname}-attributerule-{issuername}-{identifier}-attribute-{attrname}-mapping-patch",
                "x-filename-id":"trust-trustname-attributerule-issuername-identifier-attribute-attrname-mapping-patch"
            }
        },
        "/trust/{trustname}/attributerule/{issuername}/{identifier}/attribute":{
            "get":{
                "tags":[
                    "Trust/TokenAttributeRule/TokenAttribute"
                ],
                "summary":"Get TokenAttribute(s)",
                "description":"Get a list of TokenAttributes of a specific TokenAttributeRule identified by {issuername} and {identifier} in a named {trustname} Trust document. These TokenAttribute can be further filtered by the query parameter name in the request URL, for example, ?name=attr1Name",
                "operationId":"attributeGet",
                "consumes":[
                    "application/json"
                ],
                "produces":[
                    "application/json"
                ],
                "parameters":[
                    {
                        "name":"trustname",
                        "in":"path",
                        "description":"trustname of the Trust document.",
                        "required":true,
                        "type":"string",
                        "x-example":"myTrustDoc1"
                    },
                    {
                        "name":"issuername",
                        "in":"path",
                        "description":"issuername of the TokenAttributeRule",
                        "required":true,
                        "type":"string",
                        "x-example":"http://abc.com"
                    },
                    {
                        "name":"identifier",
                        "in":"path",
                        "description":"identifier of the TokenAttributeRule",
                        "required":true,
                        "type":"string",
                        "x-example":"xyzIdentifier"
                    },
                    {
                        "name":"name",
                        "in":"query",
                        "description":"name of the TokenAttribute",
                        "required":false,
                        "type":"string",
                        "x-example":"myTokenAttributeName1"
                    }
                ],
                "responses":{
                    "200":{
                        "description":"successful operation",
                        "schema":{
                            "type":"array",
                            "items":{
                                "$ref":"#/definitions/TokenAttribute"
                            }
                        }
                    },
                    "400":{
                        "description":"User bad request, please correct input data and try again.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "500":{
                        "description":"Operation failed with unexpected error.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    }
                },
                "x-internal-id":"trust-{trustname}-attributerule-{issuername}-{identifier}-attribute-get",
                "x-filename-id":"trust-trustname-attributerule-issuername-identifier-attribute-get"
            },
            "post":{
                "tags":[
                    "Trust/TokenAttributeRule/TokenAttribute"
                ],
                "summary":"Create TokenAttribute(s)",
                "description":"Create a list of TokenAttribute objects with or without sub objects: AttributeMapping(s) for the specific TokenAttributeRule identified by {issuername} and {identifier} in the named {trustname} Trust document.",
                "operationId":"attributePost",
                "consumes":[
                    "application/json"
                ],
                "produces":[
                    "application/json"
                ],
                "parameters":[
                    {
                        "name":"trustname",
                        "in":"path",
                        "description":"trustname of the Trust document.",
                        "required":true,
                        "type":"string",
                        "x-example":"myTrustDoc1"
                    },
                    {
                        "name":"issuername",
                        "in":"path",
                        "description":"issuername of the TokenAttributeRule",
                        "required":true,
                        "type":"string",
                        "x-example":"http://abc.com"
                    },
                    {
                        "name":"identifier",
                        "in":"path",
                        "description":"identifier of the TokenAttributeRule",
                        "required":true,
                        "type":"string",
                        "x-example":"xyzIdentifier"
                    },
                    {
                        "in":"body",
                        "name":"tokenAttributeObjs",
                        "description":"The list of TokenAttribute objects to be created that is sent through request body. Each TokenAttribute may or may not contain its sub objects: AttributeMapping",
                        "required":true,
                        "schema":{
                            "type":"array",
                            "items":{
                                "$ref":"#/definitions/TokenAttribute"
                            }
                        },
                        "x-examples":{
                            "applicaton/json":"[{'name': 'attr1',\n   'mapping' : {'userAttribute':'userAttr1',\n                'userMappingAttribute':'userMappingAttr1'},\n   'filter': ['filter11', 'filter12']\n   },\n   {'name': 'attr2',\n    'mapping' : {'userAttribute':'userAttr2',\n                 'userMappingAttribute':'userMappingAttr2'}\n    }]"
                        }
                    }
                ],
                "responses":{
                    "201":{
                        "description":"successful operation",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "400":{
                        "description":"User bad request, please correct input data and try again.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "500":{
                        "description":"Operation failed with unexpected error.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    }
                },
                "x-internal-id":"trust-{trustname}-attributerule-{issuername}-{identifier}-attribute-post",
                "x-filename-id":"trust-trustname-attributerule-issuername-identifier-attribute-post"
            },
            "delete":{
                "tags":[
                    "Trust/TokenAttributeRule/TokenAttribute"
                ],
                "summary":"Delete TokenAttribute(s)",
                "description":"Delete a list of TokenAttributes of a specific TokenAttributeRule identified by {issuername} and {identifier} in a named {trustname} Trust document. These TokenAttribute can be further filtered by the query parameter name in the request URL, for example, ?name=attr1Name",
                "operationId":"attributeDelete",
                "consumes":[
                    "application/json"
                ],
                "produces":[
                    "application/json"
                ],
                "parameters":[
                    {
                        "name":"trustname",
                        "in":"path",
                        "description":"trustname of the Trust document.",
                        "required":true,
                        "type":"string",
                        "x-example":"myTrustDoc1"
                    },
                    {
                        "name":"issuername",
                        "in":"path",
                        "description":"issuername of the TokenAttributeRule",
                        "required":true,
                        "type":"string",
                        "x-example":"http://abc.com"
                    },
                    {
                        "name":"identifier",
                        "in":"path",
                        "description":"identifier of the TokenAttributeRule",
                        "required":true,
                        "type":"string",
                        "x-example":"xyzIdentifier"
                    },
                    {
                        "name":"name",
                        "in":"query",
                        "description":"name of the TokenAttribute",
                        "required":false,
                        "type":"string",
                        "x-example":"myTokenAttributeName1"
                    }
                ],
                "responses":{
                    "200":{
                        "description":"successful operation",
                        "schema":{
                            "type":"array",
                            "items":{
                                "$ref":"#/definitions/TokenAttribute"
                            }
                        }
                    },
                    "400":{
                        "description":"User bad request, please correct input data and try again.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "500":{
                        "description":"Operation failed with unexpected error.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    }
                },
                "x-internal-id":"trust-{trustname}-attributerule-{issuername}-{identifier}-attribute-delete",
                "x-filename-id":"trust-trustname-attributerule-issuername-identifier-attribute-delete"
            },
            "patch":{
                "tags":[
                    "Trust/TokenAttributeRule/TokenAttribute"
                ],
                "summary":"Update TokenAttribute(s)",
                "description":"Update a list of TokenAttribute(s) identified by {issuername} and {identifier} in the named {trustname} Trust document.",
                "operationId":"attributePut",
                "consumes":[
                    "application/json"
                ],
                "produces":[
                    "application/json"
                ],
                "parameters":[
                    {
                        "name":"trustname",
                        "in":"path",
                        "description":"trustname of the Trust document.",
                        "required":true,
                        "type":"string",
                        "x-example":"myTrustDoc1"
                    },
                    {
                        "name":"issuername",
                        "in":"path",
                        "description":"issuername of the TokenAttributeRule",
                        "required":true,
                        "type":"string",
                        "x-example":"http://abc.com"
                    },
                    {
                        "name":"identifier",
                        "in":"path",
                        "description":"identifier of the TokenAttributeRule",
                        "required":true,
                        "type":"string",
                        "x-example":"xyzIdentifier"
                    },
                    {
                        "in":"body",
                        "name":"tokenAttributeDiffObjs",
                        "description":"The list of TokenAttribute objects to be updated through request body. Each TokenAttribute should contain name which identifies an TokenAttribute plus the field filter with the new value to be updated to.",
                        "required":true,
                        "schema":{
                            "type":"array",
                            "items":{
                                "$ref":"#/definitions/TokenAttribute"
                            }
                        },
                        "x-examples":{
                            "applicaton/json":"[{'name': 'attr1',\n   'filter': ['filterXYZ', 'filterABC']\n   },\n   {'name': 'attr2',\n    'filter': ['filter123', 'filter456']\n   }]"
                        }
                    }
                ],
                "responses":{
                    "201":{
                        "description":"successful operation",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "400":{
                        "description":"User bad request, please correct input data and try again.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "500":{
                        "description":"Operation failed with unexpected error.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    }
                },
                "x-internal-id":"trust-{trustname}-attributerule-{issuername}-{identifier}-attribute-patch",
                "x-filename-id":"trust-trustname-attributerule-issuername-identifier-attribute-patch"
            }
        },
        "/policyset/{name}/policyreference/{policyuri}/configoverride":{
            "get":{
                "tags":[
                    "PolicySet/PolicyReference/ScopedConfigOverride"
                ],
                "summary":"Get all Scoped ConfigOverride(s)",
                "description":"Get all ConfigOverride(s) that are scoped to the specific PolicyReference whose URI is {policyuri} in a named {name} PolicySet",
                "operationId":"policyReferenceConfigOverrideGet",
                "consumes":[
                    "application/json"
                ],
                "produces":[
                    "application/json"
                ],
                "parameters":[
                    {
                        "name":"name",
                        "in":"path",
                        "description":"Name of a PolicySet",
                        "required":true,
                        "type":"string"
                    },
                    {
                        "name":"policyuri",
                        "in":"path",
                        "description":"URI of a policy attachment, if it contains '/', escape it with %2F",
                        "required":true,
                        "type":"string",
                        "x-example":"oracle%2Fwss_username_token_service_policy"
                    }
                ],
                "responses":{
                    "200":{
                        "description":"successful operation",
                        "schema":{
                            "type":"array",
                            "items":{
                                "$ref":"#/definitions/ConfigOverride"
                            }
                        }
                    },
                    "400":{
                        "description":"User bad request, please correct input data and try again.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "500":{
                        "description":"Operation failed with unexpected error.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    }
                },
                "x-internal-id":"policyset-{name}-policyreference-{policyuri}-configoverride-get",
                "x-filename-id":"policyset-name-policyreference-policyuri-configoverride-get"
            },
            "post":{
                "tags":[
                    "PolicySet/PolicyReference/ScopedConfigOverride"
                ],
                "summary":"Set Scoped ConfigOverride(s)",
                "description":"Add a list of ConfigOverride(s) that are scoped to the specific PolicyReference whose URI is {policyuri} in the named {name} PolicySet",
                "operationId":"policyReferenceConfigOverridePost",
                "consumes":[
                    "application/json"
                ],
                "produces":[
                    "application/json"
                ],
                "parameters":[
                    {
                        "name":"name",
                        "in":"path",
                        "description":"Name of a PolicySet",
                        "required":true,
                        "type":"string",
                        "x-example":"myPSName1"
                    },
                    {
                        "name":"policyuri",
                        "in":"path",
                        "description":"URI of a policy attachment, if it contains '/', escape it with %2F",
                        "required":true,
                        "type":"string",
                        "x-example":"oracle%2Flog_policy"
                    },
                    {
                        "in":"body",
                        "name":"policyReferences",
                        "description":"The list of PolicyReference Objects sent through request body.",
                        "required":true,
                        "schema":{
                            "type":"array",
                            "items":{
                                "$ref":"#/definitions/ConfigOverride"
                            }
                        },
                        "x-examples":{
                            "applicaton/json":"[{'reference.priority':'3'}, {'enforce.log':'true'}]"
                        }
                    }
                ],
                "responses":{
                    "201":{
                        "description":"successful operation",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "400":{
                        "description":"User bad request, please correct input data and try again.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "500":{
                        "description":"Operation failed with unexpected error.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    }
                },
                "x-internal-id":"policyset-{name}-policyreference-{policyuri}-configoverride-post",
                "x-filename-id":"policyset-name-policyreference-policyuri-configoverride-post"
            },
            "delete":{
                "tags":[
                    "PolicySet/PolicyReference/ScopedConfigOverride"
                ],
                "summary":"Delete all Scoped ConfigOverride(s)",
                "description":"Delete all ConfigOverride(s) that are scoped to the specific PolicyReference whose URI is {policyuri} in a named {name} PolicySet",
                "operationId":"policyReferenceConfigOverrideDelete",
                "consumes":[
                    "application/json"
                ],
                "produces":[
                    "application/json"
                ],
                "parameters":[
                    {
                        "name":"name",
                        "in":"path",
                        "description":"Name of a PolicySet",
                        "required":true,
                        "type":"string",
                        "x-example":"myPSName2"
                    },
                    {
                        "name":"policyuri",
                        "in":"path",
                        "description":"URI of a policy attachment, if it contains '/', escape it with %2F",
                        "required":true,
                        "type":"string",
                        "x-example":"oracle%2Fwss_username_token_client_policy"
                    }
                ],
                "responses":{
                    "200":{
                        "description":"successful operation",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "400":{
                        "description":"User bad request, please correct input data and try again.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "500":{
                        "description":"Operation failed with unexpected error.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    }
                },
                "x-internal-id":"policyset-{name}-policyreference-{policyuri}-configoverride-delete",
                "x-filename-id":"policyset-name-policyreference-policyuri-configoverride-delete"
            }
        },
        "/policyset/{name}/policyreference/{policyuri}/configoverride/{propname}":{
            "delete":{
                "tags":[
                    "PolicySet/PolicyReference/ScopedConfigOverride"
                ],
                "summary":"Delete One Scoped ConfigOverride",
                "description":"Delete the ConfigOverride identified by property {propname} that is scoped to a the specific PolicyReference whose URI is {policyuri} in a named {name} PolicySet",
                "operationId":"policyReferenceConfigOverrideDeleteByPropName",
                "consumes":[
                    "application/json"
                ],
                "produces":[
                    "application/json"
                ],
                "parameters":[
                    {
                        "name":"name",
                        "in":"path",
                        "description":"Name of a PolicySet",
                        "required":true,
                        "type":"string",
                        "x-example":"myPSName3"
                    },
                    {
                        "name":"policyuri",
                        "in":"path",
                        "description":"URI of a policy attachment, if it contains '/', escape it with %2F",
                        "required":true,
                        "type":"string",
                        "x-example":"oracle%2Fwss_username_token_service_policy"
                    },
                    {
                        "name":"propname",
                        "in":"path",
                        "description":"Name of a property",
                        "required":true,
                        "type":"string",
                        "x-example":"csf-key"
                    }
                ],
                "responses":{
                    "200":{
                        "description":"successful operation",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "400":{
                        "description":"User bad request, please correct input data and try again.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "500":{
                        "description":"Operation failed with unexpected error.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    }
                },
                "x-internal-id":"policyset-{name}-policyreference-{policyuri}-configoverride-{propname}-delete",
                "x-filename-id":"policyset-name-policyreference-policyuri-configoverride-propname-delete"
            }
        },
        "/policyset/{name}/configoverride":{
            "get":{
                "tags":[
                    "PolicySet/UnscopedConfigOverride"
                ],
                "summary":"Get all Unscoped ConfigOverride(s)",
                "description":"Get all ConfigOverride(s) that are not scoped to any specific PolicyReference to the named {name}PolicySet",
                "operationId":"policySetConfigOverrideGet",
                "consumes":[
                    "application/json"
                ],
                "produces":[
                    "application/json"
                ],
                "parameters":[
                    {
                        "name":"name",
                        "in":"path",
                        "description":"Name of a PolicySet.",
                        "required":true,
                        "type":"string",
                        "x-example":"myPSName3"
                    }
                ],
                "responses":{
                    "200":{
                        "description":"successful operation",
                        "schema":{
                            "type":"array",
                            "items":{
                                "$ref":"#/definitions/ConfigOverride"
                            }
                        }
                    },
                    "400":{
                        "description":"User bad request, please correct input data and try again.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "500":{
                        "description":"Operation failed with unexpected error.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    }
                },
                "x-internal-id":"policyset-{name}-configoverride-get",
                "x-filename-id":"policyset-name-configoverride-get"
            },
            "post":{
                "tags":[
                    "PolicySet/UnscopedConfigOverride"
                ],
                "summary":"Set Unscoped ConfigOverride(s)",
                "description":"Add a list of ConfigOverride(s) that are not scoped to any specific PolicyReference to the named {name}PolicySet",
                "operationId":"policySetConfigOverridePost",
                "consumes":[
                    "application/json"
                ],
                "produces":[
                    "application/json"
                ],
                "parameters":[
                    {
                        "name":"name",
                        "in":"path",
                        "description":"The unique name of a PolicySet",
                        "required":true,
                        "type":"string",
                        "x-example":"yourPSName1"
                    },
                    {
                        "in":"body",
                        "name":"configOverrides",
                        "description":"The list of unscoped ConfigOverride objects sent through request body.",
                        "required":true,
                        "schema":{
                            "type":"array",
                            "items":{
                                "$ref":"#/definitions/ConfigOverride"
                            }
                        },
                        "x-examples":{
                            "applicaton/json":"[{'reference.priority':'3'}, {'enforce.log':'true'}]"
                        }
                    }
                ],
                "responses":{
                    "201":{
                        "description":"successful operation",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "400":{
                        "description":"User bad request, please correct input data and try again.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "500":{
                        "description":"Operation failed with unexpected error.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    }
                },
                "x-internal-id":"policyset-{name}-configoverride-post",
                "x-filename-id":"policyset-name-configoverride-post"
            },
            "delete":{
                "tags":[
                    "PolicySet/UnscopedConfigOverride"
                ],
                "summary":"Delete all Unscoped ConfigOverride(s)",
                "description":"Delete all ConfigOverride(s) that are not scoped to any specific PolicyReference to the named {name}PolicySet",
                "operationId":"policySetConfigOverrideDelete",
                "consumes":[
                    "application/json"
                ],
                "produces":[
                    "application/json"
                ],
                "parameters":[
                    {
                        "name":"name",
                        "in":"path",
                        "description":"Name of a PolicySet",
                        "required":true,
                        "type":"string",
                        "x-example":"myPSName1"
                    }
                ],
                "responses":{
                    "200":{
                        "description":"successful operation",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "400":{
                        "description":"User bad request, please correct input data and try again.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "500":{
                        "description":"Operation failed with unexpected error.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    }
                },
                "x-internal-id":"policyset-{name}-configoverride-delete",
                "x-filename-id":"policyset-name-configoverride-delete"
            }
        },
        "/policyset/{name}/configoverride/{propname}":{
            "delete":{
                "tags":[
                    "PolicySet/UnscopedConfigOverride"
                ],
                "summary":"Delete one Unscoped ConfigOverride",
                "description":"Delete a specific ConfigOverride identified by its property name {propname} and not scoped to any sacific PolicyReference to the named {name} PolicySet",
                "operationId":"policySetConfigOverrideDeleteByPropName",
                "consumes":[
                    "application/json"
                ],
                "produces":[
                    "application/json"
                ],
                "parameters":[
                    {
                        "name":"name",
                        "in":"path",
                        "description":"Name of a PolicySet",
                        "required":true,
                        "type":"string",
                        "x-example":"myPSName4"
                    },
                    {
                        "name":"propname",
                        "in":"path",
                        "description":"Name of a property.",
                        "required":true,
                        "type":"string",
                        "x-example":"csf-key"
                    }
                ],
                "responses":{
                    "200":{
                        "description":"successful operation",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "400":{
                        "description":"User bad request, please correct input data and try again.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "500":{
                        "description":"Operation failed with unexpected error.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    }
                },
                "x-internal-id":"policyset-{name}-configoverride-{propname}-delete",
                "x-filename-id":"policyset-name-configoverride-propname-delete"
            }
        },
        "/configuration":{
            "get":{
                "tags":[
                    "ConfigurationProperty"
                ],
                "summary":"Get ConfigurationProperty(s)",
                "description":"Get all ConfigurationProperty of a specific domain context. A domain context is defined by platform and domain query parameters in the request URL path. When it is omitted, the current domain is assumed. The 'source' field of a property in the response body indicates if the values of the property is default (with default being the value) or has been set for a specific domain context (/platform/domain). ConfigurationProperty in the response can be further filtered by one or more query parameters like name and category, for example ?name=myPropName&category=myPropCategory",
                "operationId":"getPropertiesForDomainContextByCategoryAndName",
                "consumes":[
                    "application/json"
                ],
                "produces":[
                    "application/json"
                ],
                "parameters":[
                    {
                        "name":"platform",
                        "in":"query",
                        "description":"The platform of a domain context. If it is omitted, the current default platform is assumed.",
                        "required":false,
                        "type":"string",
                        "x-example":"WLS"
                    },
                    {
                        "name":"domain",
                        "in":"query",
                        "description":"The domain name of a domain context. If it is omitted, the current domain is assumed.",
                        "required":false,
                        "type":"string",
                        "x-example":"base_domain"
                    },
                    {
                        "name":"category",
                        "in":"query",
                        "description":"The category of a group of ConfigurationProperty you request to view",
                        "required":false,
                        "type":"string",
                        "x-example":"Agent",
                        "enum":[
                            "Agent",
                            "BeanAccessor",
                            "ConfigManager",
                            "DigestLoginModule",
                            "Identity",
                            "IssuedToken",
                            "KerberosLoginModule",
                            "KeystoreConfig",
                            "SAML2LoginModule",
                            "SAMLLoginModule",
                            "TokenIssuerTrust",
                            "SecureConversation",
                            "STSConfig",
                            "SubjectProperties",
                            "UsernameAssertionLoginModule",
                            "WSSDigestLoginModule",
                            "X509LoginModule"
                        ]
                    },
                    {
                        "name":"name",
                        "in":"query",
                        "description":"The name of those ConfigurationProperty you request to view, it must be a valid enterprise defined propty name.",
                        "required":false,
                        "type":"string",
                        "x-example":"clock.skew"
                    }
                ],
                "responses":{
                    "200":{
                        "description":"successful operation",
                        "schema":{
                            "type":"array",
                            "items":{
                                "$ref":"#/definitions/ConfigurationProperty"
                            }
                        }
                    },
                    "400":{
                        "description":"User bad request, please correct input data and try again.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "500":{
                        "description":"Operation failed with unexpected error.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    }
                },
                "x-internal-id":"configuration-get",
                "x-filename-id":"configuration-get"
            },
            "patch":{
                "tags":[
                    "ConfigurationProperty"
                ],
                "summary":"Set ConfigurationProperty(s)",
                "description":"Set or reset one or more predefined properties with newly supplied values, thus override their default values. These newly set configuration properties should always be associated with a domain context. A domain context is defined in the form of platform/domain. When they are omitted, the current domain and its platform are assumed. A configuration property's set value can be reverted back to its original default by providing null for the 'values' field. The input json input data will be validated and detail validation error code and mesage will be in the body of reponse if error is detected. Bad Request error should be corrected before retry.",
                "operationId":"updateConfigurationForDomainContext",
                "consumes":[
                    "application/json"
                ],
                "produces":[
                    "application/json"
                ],
                "parameters":[
                    {
                        "name":"platform",
                        "in":"query",
                        "description":"The platform of a domain context. If it is omitted, the current default platform is assumed.",
                        "required":false,
                        "type":"string",
                        "x-example":"WLS"
                    },
                    {
                        "name":"domain",
                        "in":"query",
                        "description":"The domain name of a domain context. If it is omitted, the current domain is assumed.",
                        "required":false,
                        "type":"string",
                        "x-example":"base_domain"
                    },
                    {
                        "in":"body",
                        "name":"configurationPropertyObjs",
                        "description":"The list of ConfigurationProperty whose values need to be reset",
                        "required":true,
                        "schema":{
                            "type":"array",
                            "items":{
                                "$ref":"#/definitions/ConfigurationProperty"
                            }
                        },
                        "x-examples":{
                            "applicaton/json":"[{'category':'Agent',\n  'name': 'clock.skew',\n  'values':['5000']},\n {'category':'Agent',\n  'name' : 'expire.time',\n  'values':['3000']},\n {'category':'BeanAccessor',\n  'name':'cache.refresh.initial',\n  'values':['600']}]"
                        }
                    }
                ],
                "responses":{
                    "200":{
                        "description":"successful operation",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "400":{
                        "description":"User bad request, please correct input data and try again.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "500":{
                        "description":"Operation failed with unexpected error.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    }
                },
                "x-internal-id":"configuration-patch",
                "x-filename-id":"configuration-patch"
            }
        },
        "/trust/{trustname}/issuer/{issuername}/{tokentype}/discoveryinfo":{
            "get":{
                "tags":[
                    "Trust/TokenIssuer/DiscoveryInfo"
                ],
                "summary":"Get the DiscoveryInfo",
                "description":"Get the detail of the DiscoveryInfo of a specific TokenIssuer that is identified by {issuername} and {tokentype} in the named {trustname} Trust document.",
                "operationId":"discoveryInfoGet",
                "consumes":[
                    "application/json"
                ],
                "produces":[
                    "application/json"
                ],
                "parameters":[
                    {
                        "name":"trustname",
                        "in":"path",
                        "description":"Name of the Trust document.",
                        "required":true,
                        "type":"string",
                        "x-example":"myTrustDoc1"
                    },
                    {
                        "name":"issuername",
                        "in":"path",
                        "description":"Name of the TokenIssuer",
                        "required":true,
                        "type":"string",
                        "x-example":"http://abc.com"
                    },
                    {
                        "name":"tokentype",
                        "in":"path",
                        "description":"Token type of the TokenIssuer",
                        "required":true,
                        "type":"string",
                        "x-example":"jwt",
                        "enum":[
                            "jwt",
                            "saml.hok",
                            "saml.sv"
                        ]
                    }
                ],
                "responses":{
                    "200":{
                        "description":"successful operation",
                        "schema":{
                            "$ref":"#/definitions/DiscoveryInfo"
                        }
                    },
                    "400":{
                        "description":"User bad request, please correct input data and try again.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "500":{
                        "description":"Operation failed with unexpected error.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    }
                },
                "x-internal-id":"trust-{trustname}-issuer-{issuername}-{tokentype}-discoveryinfo-get",
                "x-filename-id":"trust-trustname-issuer-issuername-tokentype-discoveryinfo-get"
            },
            "post":{
                "tags":[
                    "Trust/TokenIssuer/DiscoveryInfo"
                ],
                "summary":"Create the DiscoveryInfo",
                "description":"for a specific TokenIssuer that is identified by {issuername} and {tokentype} in the named {trustname} Trust document.",
                "operationId":"discoveryInfoPost",
                "consumes":[
                    "application/json"
                ],
                "produces":[
                    "application/json"
                ],
                "parameters":[
                    {
                        "name":"trustname",
                        "in":"path",
                        "description":"Name of the Trust document.",
                        "required":true,
                        "type":"string",
                        "x-example":"myTrustDoc1"
                    },
                    {
                        "name":"issuername",
                        "in":"path",
                        "description":"Name of the TokenIssuer",
                        "required":true,
                        "type":"string",
                        "x-example":"http://abc.com"
                    },
                    {
                        "name":"tokentype",
                        "in":"path",
                        "description":"Token type of the TokenIssuer",
                        "required":true,
                        "type":"string",
                        "x-example":"jwt",
                        "enum":[
                            "jwt",
                            "saml.hok",
                            "saml.sv"
                        ]
                    },
                    {
                        "in":"body",
                        "name":"discoveryInfoObj",
                        "description":"Input data of the DiscoveryInfo",
                        "required":true,
                        "schema":{
                            "$ref":"#/definitions/DiscoveryInfo"
                        },
                        "x-examples":{
                            "applicaton/json":"{'baseUrl': 'http://idcscloud.oracle.com',\n 'discoveryUrl': 'http://www.oracle.com', \n 'idcsClientCsfkey':'myCsfkey',\n 'idcsClientTenant':'myClientTenant'}"
                        }
                    }
                ],
                "responses":{
                    "201":{
                        "description":"successful operation",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "400":{
                        "description":"User bad request, please correct input data and try again.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "500":{
                        "description":"Operation failed with unexpected error.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    }
                },
                "x-internal-id":"trust-{trustname}-issuer-{issuername}-{tokentype}-discoveryinfo-post",
                "x-filename-id":"trust-trustname-issuer-issuername-tokentype-discoveryinfo-post"
            },
            "delete":{
                "tags":[
                    "Trust/TokenIssuer/DiscoveryInfo"
                ],
                "summary":"Delete the DiscoveryInfo",
                "description":"of a specific TokenIssuer that is identified by {issuername} and {tokentype} in the named {trustname} Trust document.",
                "operationId":"discoveryInfoDelete",
                "consumes":[
                    "application/json"
                ],
                "produces":[
                    "application/json"
                ],
                "parameters":[
                    {
                        "name":"trustname",
                        "in":"path",
                        "description":"Name of the Trust document.",
                        "required":true,
                        "type":"string",
                        "x-example":"myTrustDoc1"
                    },
                    {
                        "name":"issuername",
                        "in":"path",
                        "description":"Name of the TokenIssuer",
                        "required":true,
                        "type":"string",
                        "x-example":"http://abc.com"
                    },
                    {
                        "name":"tokentype",
                        "in":"path",
                        "description":"Token type of the TokenIssuer",
                        "required":true,
                        "type":"string",
                        "x-example":"jwt",
                        "enum":[
                            "jwt",
                            "saml.hok",
                            "saml.sv"
                        ]
                    }
                ],
                "responses":{
                    "200":{
                        "description":"successful operation",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "400":{
                        "description":"User bad request, please correct input data and try again.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "500":{
                        "description":"Operation failed with unexpected error.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    }
                },
                "x-internal-id":"trust-{trustname}-issuer-{issuername}-{tokentype}-discoveryinfo-delete",
                "x-filename-id":"trust-trustname-issuer-issuername-tokentype-discoveryinfo-delete"
            },
            "patch":{
                "tags":[
                    "Trust/TokenIssuer/DiscoveryInfo"
                ],
                "summary":"Update the DiscoveryInfo",
                "description":"for a specific TokenIssuer that is identified by {issuername} and {tokentype} in the named {trustname} Trust document.",
                "operationId":"discoveryInfoPut",
                "consumes":[
                    "application/json"
                ],
                "produces":[
                    "application/json"
                ],
                "parameters":[
                    {
                        "name":"trustname",
                        "in":"path",
                        "description":"Name of the Trust document.",
                        "required":true,
                        "type":"string",
                        "x-example":"myTrustDoc1"
                    },
                    {
                        "name":"issuername",
                        "in":"path",
                        "description":"Name of the TokenIssuer",
                        "required":true,
                        "type":"string",
                        "x-example":"http://abc.com"
                    },
                    {
                        "name":"tokentype",
                        "in":"path",
                        "description":"Token type of the TokenIssuer",
                        "required":true,
                        "type":"string",
                        "x-example":"jwt",
                        "enum":[
                            "jwt",
                            "saml.hok",
                            "saml.sv"
                        ]
                    },
                    {
                        "in":"body",
                        "name":"discoveryInfoDiffObj",
                        "description":"DiscoveryInfo with modified fields only. The example here shows the baseUrl is changed to http://idcscloudNewOracle.com and idcsClientCsfkey is updated to updatedCsfkey",
                        "required":true,
                        "schema":{
                            "$ref":"#/definitions/DiscoveryInfo"
                        },
                        "x-examples":{
                            "applicaton/json":"{'baseUrl': 'http://idcscloudNewOracle.com', \n 'idcsClientCsfkey':'updatedCsfkey'}"
                        }
                    }
                ],
                "responses":{
                    "200":{
                        "description":"successful operation",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "400":{
                        "description":"User bad request, please correct input data and try again.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "500":{
                        "description":"Operation failed with unexpected error.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    }
                },
                "x-internal-id":"trust-{trustname}-issuer-{issuername}-{tokentype}-discoveryinfo-patch",
                "x-filename-id":"trust-trustname-issuer-issuername-tokentype-discoveryinfo-patch"
            }
        },
        "/trust/{trustname}/issuer":{
            "get":{
                "tags":[
                    "Trust/TokenIssuer"
                ],
                "summary":"Get TokenIssuer(s)",
                "description":"Get a list of TokenIssuers of a named {trustname} Trust document. These TokenIssuer can be further filtered by one or more query parameters issuername, or tokentype in the request URL, for example, ?issuername=http://abc.com&tokentype=jwt",
                "operationId":"issuerGetByNameAndType",
                "consumes":[
                    "application/json"
                ],
                "produces":[
                    "application/json"
                ],
                "parameters":[
                    {
                        "name":"trustname",
                        "in":"path",
                        "description":"Name of the Trust document.",
                        "required":true,
                        "type":"string",
                        "x-example":"myTrustDoc1"
                    },
                    {
                        "name":"issuername",
                        "in":"query",
                        "description":"Name of the TokenIssuer",
                        "required":false,
                        "type":"string",
                        "x-example":"http://abc.com"
                    },
                    {
                        "name":"tokentype",
                        "in":"query",
                        "description":"Token type of the TokenIssuer",
                        "required":false,
                        "type":"string",
                        "x-example":"jwt",
                        "enum":[
                            "jwt",
                            "saml.hok",
                            "saml.sv"
                        ]
                    }
                ],
                "responses":{
                    "200":{
                        "description":"successful operation",
                        "schema":{
                            "type":"array",
                            "items":{
                                "$ref":"#/definitions/TokenIssuer"
                            }
                        }
                    },
                    "400":{
                        "description":"User bad request, please correct input data and try again.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "500":{
                        "description":"Operation failed with unexpected error.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    }
                },
                "x-internal-id":"trust-{trustname}-issuer-get",
                "x-filename-id":"trust-trustname-issuer-get"
            },
            "post":{
                "tags":[
                    "Trust/TokenIssuer"
                ],
                "summary":"Create TokenIssuer(s)",
                "description":"Create a list of TokenIssuer objects with or without sub objects: DiscoveryInfo, TrustedKey, or RelyingParty(s) in the named {trustname} Trust document.",
                "operationId":"issuerPost",
                "consumes":[
                    "application/json"
                ],
                "produces":[
                    "application/json"
                ],
                "parameters":[
                    {
                        "name":"trustname",
                        "in":"path",
                        "description":"Name of the Trust document.",
                        "required":true,
                        "type":"string",
                        "x-example":"myTrustDoc1"
                    },
                    {
                        "in":"body",
                        "name":"issuerObjs",
                        "description":"The list of TokenIssuer objects to be created that is sent through request body. Each TokenIssuer may or may not contain its sub objects: DiscoveryInfo, TrustedKey, or RelyingParty",
                        "required":true,
                        "schema":{
                            "type":"array",
                            "items":{
                                "$ref":"#/definitions/TokenIssuer"
                            }
                        },
                        "x-examples":{
                            "applicaton/json":"[{'issuername': 'www.oracle.com',\n  'tokentype': 'jwt',\n  'enabled': 'true',\n  'relyingparties':[{'rptype':'csfkey',\n                     'rpvalue':'mycsfkey'},\n                    {'rptype':'literal',\n                     'rpvalue':'myliteralvalue'}]\n  'trustedkey': {'mdurl': '',\n                 'refreshinterval': '',\n                 'keyidentifiers': \n                      [{'keytype': 'x509certificate',\n                       'valuetype': 'dn',\n                       'value': 'CN=orakey, OU=Orakey Test Encryption Purposes Only, O=Oracle, C=US',\n                       'enabled': 'true'}]}},\n {'issuername': 'www.google.com',\n  'tokentype': 'saml.hok',\n  'enabled': 'true',\n  'trustedkey' : {'keyidentifiers': [{'keytype': 'x509certificate',\n                                      'valuetype': 'dn',\n                                      'value': 'CN=Bob,OU=OASIS Interop Test Cert,O=OASIS',\n                                      'enabled': 'true'}]}]"
                        }
                    }
                ],
                "responses":{
                    "201":{
                        "description":"successful operation",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "400":{
                        "description":"User bad request, please correct input data and try again.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "500":{
                        "description":"Operation failed with unexpected error.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    }
                },
                "x-internal-id":"trust-{trustname}-issuer-post",
                "x-filename-id":"trust-trustname-issuer-post"
            },
            "delete":{
                "tags":[
                    "Trust/TokenIssuer"
                ],
                "summary":"Delete TokenIssuer(s)",
                "description":"Delete a list of TokenIssuers from a named {trustname} Trust document. These TokenIssuer can be further filtered by one or more query parameters issuername, or tokentype in the request URL, for example, ?issuername=http://abc.com&tokentype=jwt",
                "operationId":"issuerDeleteByNameAndType",
                "consumes":[
                    "application/json"
                ],
                "produces":[
                    "application/json"
                ],
                "parameters":[
                    {
                        "name":"trustname",
                        "in":"path",
                        "description":"Name of the Trust document.",
                        "required":true,
                        "type":"string",
                        "x-example":"myTrustDoc1"
                    },
                    {
                        "name":"issuername",
                        "in":"query",
                        "description":"Name of the TokenIssuer",
                        "required":false,
                        "type":"string",
                        "x-example":"http://abc.com"
                    },
                    {
                        "name":"tokentype",
                        "in":"query",
                        "description":"Token type of the TokenIssuer",
                        "required":false,
                        "type":"string",
                        "x-example":"jwt",
                        "enum":[
                            "jwt",
                            "saml.hok",
                            "saml.sv"
                        ]
                    }
                ],
                "responses":{
                    "200":{
                        "description":"successful operation",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "400":{
                        "description":"User bad request, please correct input data and try again.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "500":{
                        "description":"Operation failed with unexpected error.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    }
                },
                "x-internal-id":"trust-{trustname}-issuer-delete",
                "x-filename-id":"trust-trustname-issuer-delete"
            },
            "patch":{
                "tags":[
                    "Trust/TokenIssuer"
                ],
                "summary":"Update TokenIssuer(s)",
                "description":"Update a list of TokenIssuers in a named {trustname} Trust document. Each TokenIssuermust supply its issuername and tokentype which are used to uniquely identify a TokenIssuer plus one or more its modifiable fields: enabled. Note, sub objects cannot be updated; they must be done by calling the APIs of each sub object respectively.",
                "operationId":"issuerPut",
                "consumes":[
                    "application/json"
                ],
                "produces":[
                    "application/json"
                ],
                "parameters":[
                    {
                        "name":"trustname",
                        "in":"path",
                        "description":"Name of the Trust document.",
                        "required":true,
                        "type":"string",
                        "x-example":"myTrustDoc1"
                    },
                    {
                        "in":"body",
                        "name":"issuerObjs",
                        "description":"The list of TokenIssuer objects to be updated.",
                        "required":true,
                        "schema":{
                            "type":"array",
                            "items":{
                                "$ref":"#/definitions/TokenIssuer"
                            }
                        },
                        "x-examples":{
                            "applicaton/json":"[{'issuername': 'www.abc.com',\n  'tokentype': 'jwt',\n  'enabled': 'false'}\n {'issuername': 'www.oracle.com',\n  'tokentype': 'saml.hok',\n  'enabled': 'true'}]"
                        }
                    }
                ],
                "responses":{
                    "200":{
                        "description":"successful operation",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "400":{
                        "description":"User bad request, please correct input data and try again.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "500":{
                        "description":"Operation failed with unexpected error.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    }
                },
                "x-internal-id":"trust-{trustname}-issuer-patch",
                "x-filename-id":"trust-trustname-issuer-patch"
            }
        },
        "/trust/{trustname}/issuer/{issuername}/{tokentype}/trustedkey/keyidentifier":{
            "get":{
                "tags":[
                    "Trust/TokenIssuer/TrustedKey/KeyIdentifier"
                ],
                "summary":"Get KeyIdentifier(s)",
                "description":"Get all KeyIdentifier of the TrustedKey of a specific TokenIssuerthat is identified by {issuername} and {tokentype}  in the named {trustname} Trust document. These KeyIdentifier can be further filtered by one or more query parameters keytype,valuetype, value in the request URL, for example, ?keytype=x509certificate&valuetype=dn&value=someKeyValue",
                "operationId":"keyIdentifierGet",
                "consumes":[
                    "application/json"
                ],
                "produces":[
                    "application/json"
                ],
                "parameters":[
                    {
                        "name":"trustname",
                        "in":"path",
                        "description":"Name of the Trust document.",
                        "required":true,
                        "type":"string",
                        "x-example":"myTrustDoc1"
                    },
                    {
                        "name":"issuername",
                        "in":"path",
                        "description":"Name of the TokenIssuer",
                        "required":true,
                        "type":"string",
                        "x-example":"http://abc.com"
                    },
                    {
                        "name":"tokentype",
                        "in":"path",
                        "description":"Token type of the TokenIssuer",
                        "required":true,
                        "type":"string",
                        "x-example":"jwt",
                        "enum":[
                            "jwt",
                            "saml.hok",
                            "saml.sv"
                        ]
                    },
                    {
                        "name":"keytype",
                        "in":"query",
                        "description":"Key type of the KeyIdentifier",
                        "required":false,
                        "type":"string",
                        "x-example":"x509certificate",
                        "enum":[
                            "x509certificate",
                            "publicKey",
                            "symmetricKey"
                        ]
                    },
                    {
                        "name":"valuetype",
                        "in":"query",
                        "description":"Value type of the KeyIdentifier",
                        "required":false,
                        "type":"string",
                        "x-example":"alias",
                        "enum":[
                            "alias",
                            "csfkey",
                            "dn",
                            "kid"
                        ]
                    },
                    {
                        "name":"value",
                        "in":"query",
                        "description":"Value of the KeyIdentifier",
                        "required":false,
                        "type":"string"
                    }
                ],
                "responses":{
                    "200":{
                        "description":"successful operation",
                        "schema":{
                            "type":"array",
                            "items":{
                                "$ref":"#/definitions/KeyIdentifier"
                            }
                        }
                    },
                    "400":{
                        "description":"User bad request, please correct input data and try again.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "500":{
                        "description":"Operation failed with unexpected error.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    }
                },
                "x-internal-id":"trust-{trustname}-issuer-{issuername}-{tokentype}-trustedkey-keyidentifier-get",
                "x-filename-id":"trust-trustname-issuer-issuername-tokentype-trustedkey-keyidentifier-get"
            },
            "post":{
                "tags":[
                    "Trust/TokenIssuer/TrustedKey/KeyIdentifier"
                ],
                "summary":"Add KeyIdentifier(s)",
                "description":"Add a list of KeyIdentifier to the TrustedKey of a specific TokenIssuer that is identified by {issuername} and {tokentype}  in the named {trustname} Trust document.",
                "operationId":"keyIdentifierPost",
                "consumes":[
                    "application/json"
                ],
                "produces":[
                    "application/json"
                ],
                "parameters":[
                    {
                        "name":"trustname",
                        "in":"path",
                        "description":"Name of the Trust document.",
                        "required":true,
                        "type":"string",
                        "x-example":"myTrustDoc1"
                    },
                    {
                        "name":"issuername",
                        "in":"path",
                        "description":"Name of the TokenIssuer",
                        "required":true,
                        "type":"string",
                        "x-example":"http://abc.com"
                    },
                    {
                        "name":"tokentype",
                        "in":"path",
                        "description":"Token type of the TokenIssuer",
                        "required":true,
                        "type":"string",
                        "x-example":"jwt",
                        "enum":[
                            "jwt",
                            "saml.hok",
                            "saml.sv"
                        ]
                    },
                    {
                        "in":"body",
                        "name":"keyIdentifierObjs",
                        "description":"The list of KeyIdentifier",
                        "required":true,
                        "schema":{
                            "type":"array",
                            "items":{
                                "$ref":"#/definitions/KeyIdentifier"
                            }
                        },
                        "x-examples":{
                            "applicaton/json":"[{'keytype':'x509certificate',\n  'valuetype':'dn',\n  'value':'cn=john'},\n{'keytype':'symmetrickey',\n 'valuetype':'csfkey',\n 'value': 'mycsfkey'}]"
                        }
                    }
                ],
                "responses":{
                    "201":{
                        "description":"successful operation",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "400":{
                        "description":"User bad request, please correct input data and try again.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "500":{
                        "description":"Operation failed with unexpected error.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    }
                },
                "x-internal-id":"trust-{trustname}-issuer-{issuername}-{tokentype}-trustedkey-keyidentifier-post",
                "x-filename-id":"trust-trustname-issuer-issuername-tokentype-trustedkey-keyidentifier-post"
            },
            "delete":{
                "tags":[
                    "Trust/TokenIssuer/TrustedKey/KeyIdentifier"
                ],
                "summary":"Delete KeyIdentifier(s)",
                "description":"Delete all KeyIdentifier of the TrustedKey of a specific TokenIssuerthat is identified by {issuername} and {tokentype}  in the named {trustname} Trust document. These KeyIdentifier can be further filtered by one or more query parameters keytype,valuetype, value in the request URL, for example, ?keytype=x509certificate&valuetype=dn",
                "operationId":"keyIdentifierDelete",
                "consumes":[
                    "application/json"
                ],
                "produces":[
                    "application/json"
                ],
                "parameters":[
                    {
                        "name":"trustname",
                        "in":"path",
                        "description":"Name of the Trust document.",
                        "required":true,
                        "type":"string",
                        "x-example":"myTrustDoc1"
                    },
                    {
                        "name":"issuername",
                        "in":"path",
                        "description":"Name of the TokenIssuer",
                        "required":true,
                        "type":"string",
                        "x-example":"http://abc.com"
                    },
                    {
                        "name":"tokentype",
                        "in":"path",
                        "description":"Token type of the TokenIssuer",
                        "required":true,
                        "type":"string",
                        "x-example":"jwt",
                        "enum":[
                            "jwt",
                            "saml.hok",
                            "saml.sv"
                        ]
                    },
                    {
                        "name":"keytype",
                        "in":"query",
                        "description":"Key type of the KeyIdentifier",
                        "required":false,
                        "type":"string",
                        "x-example":"x509certificate",
                        "enum":[
                            "x509certificate",
                            "publicKey",
                            "symmetricKey"
                        ]
                    },
                    {
                        "name":"valuetype",
                        "in":"query",
                        "description":"Value type of the KeyIdentifier",
                        "required":false,
                        "type":"string",
                        "x-example":"alias",
                        "enum":[
                            "alias",
                            "csfkey",
                            "dn",
                            "kid"
                        ]
                    },
                    {
                        "name":"value",
                        "in":"query",
                        "description":"Value of the KeyIdentifier",
                        "required":false,
                        "type":"string"
                    }
                ],
                "responses":{
                    "200":{
                        "description":"successful operation",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "400":{
                        "description":"User bad request, please correct input data and try again.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "500":{
                        "description":"Operation failed with unexpected error.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    }
                },
                "x-internal-id":"trust-{trustname}-issuer-{issuername}-{tokentype}-trustedkey-keyidentifier-delete",
                "x-filename-id":"trust-trustname-issuer-issuername-tokentype-trustedkey-keyidentifier-delete"
            },
            "patch":{
                "tags":[
                    "Trust/TokenIssuer/TrustedKey/KeyIdentifier"
                ],
                "summary":"Update KeyIdentifier(s)",
                "description":"Update a list of KeyIdentifier of the TrustedKey of a specific TokenIssuer that is identified by {issuername} and {tokentype}  in the named {trustname} Trust document. Right now, only the field: enabled is updatable, hence this API is often used to enable or disable a KeyIdentifier Other three fields like keytype,valuetype,value are used to uniquely identify which KeyIdentifier to be enabled or disabled",
                "operationId":"keyIdentifierPut",
                "consumes":[
                    "application/json"
                ],
                "produces":[
                    "application/json"
                ],
                "parameters":[
                    {
                        "name":"trustname",
                        "in":"path",
                        "description":"Name of the Trust document.",
                        "required":true,
                        "type":"string",
                        "x-example":"myTrustDoc1"
                    },
                    {
                        "name":"issuername",
                        "in":"path",
                        "description":"Name of the TokenIssuer",
                        "required":true,
                        "type":"string",
                        "x-example":"http://abc.com"
                    },
                    {
                        "name":"tokentype",
                        "in":"path",
                        "description":"Token type of the TokenIssuer",
                        "required":true,
                        "type":"string",
                        "x-example":"jwt",
                        "enum":[
                            "jwt",
                            "saml.hok",
                            "saml.sv"
                        ]
                    },
                    {
                        "in":"body",
                        "name":"keyIdentifierObjs",
                        "description":"The list of KeyIdentifier",
                        "required":true,
                        "schema":{
                            "type":"array",
                            "items":{
                                "$ref":"#/definitions/KeyIdentifier"
                            }
                        },
                        "x-examples":{
                            "applicaton/json":"[{'keytype':'x509certificate',\n  'valuetype':'dn',\n  'value':'cn=john',\n  'enabled': 'false'},\n{'keytype':'symmetrickey',\n 'valuetype':'csfkey',\n 'value': 'mycsfkey',\n 'enabled': 'false'}]"
                        }
                    }
                ],
                "responses":{
                    "200":{
                        "description":"successful operation",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "400":{
                        "description":"User bad request, please correct input data and try again.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "500":{
                        "description":"Operation failed with unexpected error.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    }
                },
                "x-internal-id":"trust-{trustname}-issuer-{issuername}-{tokentype}-trustedkey-keyidentifier-patch",
                "x-filename-id":"trust-trustname-issuer-issuername-tokentype-trustedkey-keyidentifier-patch"
            }
        },
        "/trust/{trustname}/attributerule/{issuername}/{identifier}/nameid/mapping":{
            "get":{
                "tags":[
                    "Trust/TokenAttributeRule/NameId/AttributeMapping"
                ],
                "summary":"Get the NameIdMapping",
                "description":"of the NameId of a specific TokenAttributeRule that is identified by {issuername} and {identifier} in the named {trustname} Trust document.",
                "operationId":"nameIdMappingGet",
                "consumes":[
                    "application/json"
                ],
                "produces":[
                    "application/json"
                ],
                "parameters":[
                    {
                        "name":"trustname",
                        "in":"path",
                        "description":"trustname of the Trust document.",
                        "required":true,
                        "type":"string",
                        "x-example":"myTrustDoc1"
                    },
                    {
                        "name":"issuername",
                        "in":"path",
                        "description":"issuername of the TokenAttributeRule",
                        "required":true,
                        "type":"string",
                        "x-example":"http://abc.com"
                    },
                    {
                        "name":"identifier",
                        "in":"path",
                        "description":"nameidAttribute of the NameId",
                        "required":true,
                        "type":"string",
                        "x-example":"name123"
                    }
                ],
                "responses":{
                    "200":{
                        "description":"successful operation",
                        "schema":{
                            "$ref":"#/definitions/AttributeMapping"
                        }
                    },
                    "400":{
                        "description":"User bad request, please correct input data and try again.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "500":{
                        "description":"Operation failed with unexpected error.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    }
                },
                "x-internal-id":"trust-{trustname}-attributerule-{issuername}-{identifier}-nameid-mapping-get",
                "x-filename-id":"trust-trustname-attributerule-issuername-identifier-nameid-mapping-get"
            },
            "post":{
                "tags":[
                    "Trust/TokenAttributeRule/NameId/AttributeMapping"
                ],
                "summary":"Create the NameIdMapping",
                "description":"for the NameId a specific TokenAttributeRule that is identified by {issuername} and {identifier} in the named {trustname} Trust document.",
                "operationId":"nameIdMappingPost",
                "consumes":[
                    "application/json"
                ],
                "produces":[
                    "application/json"
                ],
                "parameters":[
                    {
                        "name":"trustname",
                        "in":"path",
                        "description":"trustname of the Trust document.",
                        "required":true,
                        "type":"string",
                        "x-example":"myTrustDoc1"
                    },
                    {
                        "name":"issuername",
                        "in":"path",
                        "description":"issuername of the TokenAttributeRule",
                        "required":true,
                        "type":"string",
                        "x-example":"http://abc.com"
                    },
                    {
                        "name":"identifier",
                        "in":"path",
                        "description":"nameidAttribute of the NameId",
                        "required":true,
                        "type":"string",
                        "x-example":"name123"
                    },
                    {
                        "in":"body",
                        "name":"nameidMappingObj",
                        "description":"Input data of the NameIdMapping",
                        "required":true,
                        "schema":{
                            "$ref":"#/definitions/AttributeMapping"
                        },
                        "x-examples":{
                            "applicaton/json":"{'userAttribute': 'userAttr1',\n 'userMappingAttribute':'4321'}"
                        }
                    }
                ],
                "responses":{
                    "201":{
                        "description":"successful operation",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "400":{
                        "description":"User bad request, please correct input data and try again.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "500":{
                        "description":"Operation failed with unexpected error.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    }
                },
                "x-internal-id":"trust-{trustname}-attributerule-{issuername}-{identifier}-nameid-mapping-post",
                "x-filename-id":"trust-trustname-attributerule-issuername-identifier-nameid-mapping-post"
            },
            "delete":{
                "tags":[
                    "Trust/TokenAttributeRule/NameId/AttributeMapping"
                ],
                "summary":"Delete the NameIdMapping",
                "description":"from the NameId of a specific TokenAttributeRule that is identified by {issuername} and {identifier} in the named {trustname} Trust document.",
                "operationId":"nameIdMappingDelete",
                "consumes":[
                    "application/json"
                ],
                "produces":[
                    "application/json"
                ],
                "parameters":[
                    {
                        "name":"trustname",
                        "in":"path",
                        "description":"trustname of the Trust document.",
                        "required":true,
                        "type":"string",
                        "x-example":"myTrustDoc1"
                    },
                    {
                        "name":"issuername",
                        "in":"path",
                        "description":"issuername of the TokenAttributeRule",
                        "required":true,
                        "type":"string",
                        "x-example":"http://abc.com"
                    },
                    {
                        "name":"identifier",
                        "in":"path",
                        "description":"nameidAttribute of the NameId",
                        "required":true,
                        "type":"string",
                        "x-example":"name123"
                    }
                ],
                "responses":{
                    "200":{
                        "description":"successful operation",
                        "schema":{
                            "$ref":"#/definitions/AttributeMapping"
                        }
                    },
                    "400":{
                        "description":"User bad request, please correct input data and try again.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "500":{
                        "description":"Operation failed with unexpected error.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    }
                },
                "x-internal-id":"trust-{trustname}-attributerule-{issuername}-{identifier}-nameid-mapping-delete",
                "x-filename-id":"trust-trustname-attributerule-issuername-identifier-nameid-mapping-delete"
            },
            "patch":{
                "tags":[
                    "Trust/TokenAttributeRule/NameId/AttributeMapping"
                ],
                "summary":"Update the NameIdMapping",
                "description":"of the NameId of a specific TokenAttributeRule that is identified by {issuername} and {identifier} in the named {trustname} Trust document.",
                "operationId":"nameIdMappingPut",
                "consumes":[
                    "application/json"
                ],
                "produces":[
                    "application/json"
                ],
                "parameters":[
                    {
                        "name":"trustname",
                        "in":"path",
                        "description":"trustname of the Trust document.",
                        "required":true,
                        "type":"string",
                        "x-example":"myTrustDoc1"
                    },
                    {
                        "name":"issuername",
                        "in":"path",
                        "description":"issuername of the TokenAttributeRule",
                        "required":true,
                        "type":"string",
                        "x-example":"http://abc.com"
                    },
                    {
                        "name":"identifier",
                        "in":"path",
                        "description":"nameidAttribute of the NameId",
                        "required":true,
                        "type":"string",
                        "x-example":"name123"
                    },
                    {
                        "in":"body",
                        "name":"nameidMappingObj",
                        "description":"New field values of the NameIdMapping",
                        "required":true,
                        "schema":{
                            "$ref":"#/definitions/AttributeMapping"
                        },
                        "x-examples":{
                            "applicaton/json":"{'userAttribute': 'newUserAttrNew',\n 'userMappingAttribute':'xyzNew'}"
                        }
                    }
                ],
                "responses":{
                    "201":{
                        "description":"successful operation",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "400":{
                        "description":"User bad request, please correct input data and try again.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "500":{
                        "description":"Operation failed with unexpected error.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    }
                },
                "x-internal-id":"trust-{trustname}-attributerule-{issuername}-{identifier}-nameid-mapping-patch",
                "x-filename-id":"trust-trustname-attributerule-issuername-identifier-nameid-mapping-patch"
            }
        },
        "/trust/{trustname}/attributerule/{issuername}/{identifier}/nameid":{
            "get":{
                "tags":[
                    "Trust/TokenAttributeRule/NameId"
                ],
                "summary":"Get NameId",
                "description":"Get the NameId object of a specific TokenAttributeRule identified by {issuername} and {identifier} in the named {trustname} Trust document.",
                "operationId":"nameIdGet",
                "consumes":[
                    "application/json"
                ],
                "produces":[
                    "application/json"
                ],
                "parameters":[
                    {
                        "name":"trustname",
                        "in":"path",
                        "description":"trustname of the Trust document.",
                        "required":true,
                        "type":"string",
                        "x-example":"myTrustDoc1"
                    },
                    {
                        "name":"issuername",
                        "in":"path",
                        "description":"issuername of the TokenAttributeRule",
                        "required":true,
                        "type":"string",
                        "x-example":"http://abc.com"
                    },
                    {
                        "name":"identifier",
                        "in":"path",
                        "description":"identifier of the TokenAttributeRule",
                        "required":true,
                        "type":"string",
                        "x-example":"xyzIdentifier"
                    }
                ],
                "responses":{
                    "201":{
                        "description":"successful operation",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "400":{
                        "description":"User bad request, please correct input data and try again.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "500":{
                        "description":"Operation failed with unexpected error.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    }
                },
                "x-internal-id":"trust-{trustname}-attributerule-{issuername}-{identifier}-nameid-get",
                "x-filename-id":"trust-trustname-attributerule-issuername-identifier-nameid-get"
            },
            "post":{
                "tags":[
                    "Trust/TokenAttributeRule/NameId"
                ],
                "summary":"Create NameId",
                "description":"Create the NameId object with or without sub objects: AttributeMapping(s) for the specific TokenAttributeRule identified by {issuername} and {identifier} in the named {trustname} Trust document.",
                "operationId":"nameIdPost",
                "consumes":[
                    "application/json"
                ],
                "produces":[
                    "application/json"
                ],
                "parameters":[
                    {
                        "name":"trustname",
                        "in":"path",
                        "description":"trustname of the Trust document.",
                        "required":true,
                        "type":"string",
                        "x-example":"myTrustDoc1"
                    },
                    {
                        "name":"issuername",
                        "in":"path",
                        "description":"issuername of the TokenAttributeRule",
                        "required":true,
                        "type":"string",
                        "x-example":"http://abc.com"
                    },
                    {
                        "name":"identifier",
                        "in":"path",
                        "description":"identifier of the TokenAttributeRule",
                        "required":true,
                        "type":"string",
                        "x-example":"xyzIdentifier"
                    },
                    {
                        "in":"body",
                        "name":"nameIdObj",
                        "description":"NameId object to be created that is sent through request body. The NameId object may or may not contain its sub objects: AttributeMapping",
                        "required":true,
                        "schema":{
                            "$ref":"#/definitions/NameId"
                        },
                        "x-examples":{
                            "applicaton/json":"[{'nameidAttribute': 'attr1',\n   'mapping' : {'userAttribute':'userAttr1',\n                'userMappingAttribute':'userMappingAttr1'},\n   'filter': ['filter11', 'filter12']\n  },\n  {'nameidAttribute': 'attr2',\n   'mapping' : {'userAttribute':'userAttr2',\n                'userMappingAttribute':'userMappingAttr2'}\n  }]"
                        }
                    }
                ],
                "responses":{
                    "201":{
                        "description":"successful operation",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "400":{
                        "description":"User bad request, please correct input data and try again.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "500":{
                        "description":"Operation failed with unexpected error.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    }
                },
                "x-internal-id":"trust-{trustname}-attributerule-{issuername}-{identifier}-nameid-post",
                "x-filename-id":"trust-trustname-attributerule-issuername-identifier-nameid-post"
            },
            "delete":{
                "tags":[
                    "Trust/TokenAttributeRule/NameId"
                ],
                "summary":"Delete NameId",
                "description":"Delete the NameId object of a specific TokenAttributeRule identified by {issuername} and {identifier} in the named {trustname} Trust document.",
                "operationId":"nameIdDelete",
                "consumes":[
                    "application/json"
                ],
                "produces":[
                    "application/json"
                ],
                "parameters":[
                    {
                        "name":"trustname",
                        "in":"path",
                        "description":"trustname of the Trust document.",
                        "required":true,
                        "type":"string",
                        "x-example":"myTrustDoc1"
                    },
                    {
                        "name":"issuername",
                        "in":"path",
                        "description":"issuername of the TokenAttributeRule",
                        "required":true,
                        "type":"string",
                        "x-example":"http://abc.com"
                    },
                    {
                        "name":"identifier",
                        "in":"path",
                        "description":"identifier of the TokenAttributeRule",
                        "required":true,
                        "type":"string",
                        "x-example":"xyzIdentifier"
                    }
                ],
                "responses":{
                    "201":{
                        "description":"successful operation",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "400":{
                        "description":"User bad request, please correct input data and try again.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "500":{
                        "description":"Operation failed with unexpected error.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    }
                },
                "x-internal-id":"trust-{trustname}-attributerule-{issuername}-{identifier}-nameid-delete",
                "x-filename-id":"trust-trustname-attributerule-issuername-identifier-nameid-delete"
            },
            "patch":{
                "tags":[
                    "Trust/TokenAttributeRule/NameId"
                ],
                "summary":"Update NameId",
                "description":"Update the NameId object of a specific TokenAttributeRule identified by {issuername} and {identifier} in the named {trustname} Trust document.",
                "operationId":"nameIdPut",
                "consumes":[
                    "application/json"
                ],
                "produces":[
                    "application/json"
                ],
                "parameters":[
                    {
                        "name":"trustname",
                        "in":"path",
                        "description":"trustname of the Trust document.",
                        "required":true,
                        "type":"string",
                        "x-example":"myTrustDoc1"
                    },
                    {
                        "name":"issuername",
                        "in":"path",
                        "description":"issuername of the TokenAttributeRule",
                        "required":true,
                        "type":"string",
                        "x-example":"http://abc.com"
                    },
                    {
                        "name":"identifier",
                        "in":"path",
                        "description":"identifier of the TokenAttributeRule",
                        "required":true,
                        "type":"string",
                        "x-example":"xyzIdentifier"
                    },
                    {
                        "in":"body",
                        "name":"nameIdDiffObj",
                        "description":"NameId object to be updated that is sent through request body. The NameId object should contain nameidAttribute which identifies a NameId plus the field filter with the new value to be updated to.",
                        "required":true,
                        "schema":{
                            "$ref":"#/definitions/NameId"
                        },
                        "x-examples":{
                            "applicaton/json":"[ {'nameidAttribute': 'attr1',\n    'filter': ['filterXYZ', 'filter1ABC']\n   },\n   {'nameidAttribute': 'attr2',\n    'filter': ['filter321', 'filter456']\n   }]"
                        }
                    }
                ],
                "responses":{
                    "201":{
                        "description":"successful operation",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "400":{
                        "description":"User bad request, please correct input data and try again.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "500":{
                        "description":"Operation failed with unexpected error.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    }
                },
                "x-internal-id":"trust-{trustname}-attributerule-{issuername}-{identifier}-nameid-patch",
                "x-filename-id":"trust-trustname-attributerule-issuername-identifier-nameid-patch"
            }
        },
        "/policyset/{name}/policyreference":{
            "get":{
                "tags":[
                    "PolicySet/PolicyReference"
                ],
                "summary":"Get PolicyReference(s)",
                "description":"Get all PolicyReference of the named {name} PolicySet.",
                "operationId":"policyReferenceGet",
                "consumes":[
                    "application/json"
                ],
                "produces":[
                    "application/json"
                ],
                "parameters":[
                    {
                        "name":"name",
                        "in":"path",
                        "description":"Name of the PolicySet",
                        "required":true,
                        "type":"string",
                        "x-example":"myPSName5"
                    }
                ],
                "responses":{
                    "200":{
                        "description":"successful operation",
                        "schema":{
                            "type":"array",
                            "items":{
                                "$ref":"#/definitions/PolicyReference"
                            }
                        }
                    },
                    "400":{
                        "description":"User bad request, please correct input data and try again.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "500":{
                        "description":"Operation failed with unexpected error.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    }
                },
                "x-internal-id":"policyset-{name}-policyreference-get",
                "x-filename-id":"policyset-name-policyreference-get"
            },
            "post":{
                "tags":[
                    "PolicySet/PolicyReference"
                ],
                "summary":"Add PolicyReference(s)",
                "description":"Attach a list of policies to the Global PolicyReference identified by its name. To be attached policy URIs are given in the requeset.",
                "operationId":"policyReferencePost",
                "consumes":[
                    "application/json"
                ],
                "produces":[
                    "application/json"
                ],
                "parameters":[
                    {
                        "name":"name",
                        "in":"path",
                        "description":"The unique name of a PolicySet",
                        "required":true,
                        "type":"string",
                        "x-example":"myPolicyset1"
                    },
                    {
                        "in":"body",
                        "name":"policyReferences",
                        "description":"The list of PolicyReference objects sent through request body.",
                        "required":true,
                        "schema":{
                            "type":"array",
                            "items":{
                                "$ref":"#/definitions/PolicyReference"
                            }
                        },
                        "x-examples":{
                            "applicaton/json":"[{'uri':'oracle/wss_username_token_service_policy',\n   'status':'enabled'},\n  {'uri':'oracle/log_policy',\n   'status':'disabled',\n   'configOverrides':[{'reference.priority':'3'},\n                      {'enforce.log':'true'}]}]"
                        }
                    }
                ],
                "responses":{
                    "201":{
                        "description":"successful operation",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "400":{
                        "description":"User bad request, please correct input data and try again.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "500":{
                        "description":"Operation failed with unexpected error.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    }
                },
                "x-internal-id":"policyset-{name}-policyreference-post",
                "x-filename-id":"policyset-name-policyreference-post"
            },
            "delete":{
                "tags":[
                    "PolicySet/PolicyReference"
                ],
                "summary":"Delete PolicyReference(s)",
                "description":"Detach all policies that are attached to a named {name} PolicySet",
                "operationId":"policyReferenceDelete",
                "consumes":[
                    "application/json"
                ],
                "produces":[
                    "application/json"
                ],
                "parameters":[
                    {
                        "name":"name",
                        "in":"path",
                        "description":"Name of the PolicySet whose PolicyReference will be deleted.",
                        "required":true,
                        "type":"string",
                        "x-example":"myPolicySetName1"
                    }
                ],
                "responses":{
                    "200":{
                        "description":"successful operation",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "400":{
                        "description":"User bad request, please correct input data and try again.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "500":{
                        "description":"Operation failed with unexpected error.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    }
                },
                "x-internal-id":"policyset-{name}-policyreference-delete",
                "x-filename-id":"policyset-name-policyreference-delete"
            },
            "patch":{
                "tags":[
                    "PolicySet/PolicyReference"
                ],
                "summary":"Update PolicyReference(s)",
                "description":"Update a list of PolicyReference with attributes and their new values to be updated to. Each PolicyReference uri that uniquely identifies it must be specified in the body of request. Fields that do not need to be updated should be omitted.",
                "operationId":"policyReferenceUpdate",
                "consumes":[
                    "application/json"
                ],
                "produces":[
                    "application/json"
                ],
                "parameters":[
                    {
                        "name":"name",
                        "in":"path",
                        "description":"The unique name of a PolicySet",
                        "required":true,
                        "type":"string",
                        "x-example":"samplePSName"
                    },
                    {
                        "in":"body",
                        "name":"body",
                        "description":"Array of PolicyReference model objects with fields containing the changed values and the field uri that identifies a PolicyReference",
                        "required":true,
                        "schema":{
                            "type":"array",
                            "items":{
                                "$ref":"#/definitions/PolicyReference"
                            }
                        },
                        "x-examples":{
                            "applicaton/json":"[{'uri':'log_policy',\n   'status':'enabled'},\n  {'uri':'wss_username_token_service_policy',\n   'status':'disabled'}]"
                        }
                    }
                ],
                "responses":{
                    "200":{
                        "description":"successful operation",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "400":{
                        "description":"User bad request, please correct input data and try again.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "500":{
                        "description":"Operation failed with unexpected error.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    }
                },
                "x-internal-id":"policyset-{name}-policyreference-patch",
                "x-filename-id":"policyset-name-policyreference-patch"
            }
        },
        "/policyset/{name}/policyreference/{policyuri}":{
            "get":{
                "tags":[
                    "PolicySet/PolicyReference"
                ],
                "summary":"Get a PolicyReference by its URI",
                "description":"Get a specific PolicyReference identified by its policy URI {policyuri} in a named {name} PolicySet",
                "operationId":"policyReferenceGetByUri",
                "consumes":[
                    "application/json"
                ],
                "produces":[
                    "application/json"
                ],
                "parameters":[
                    {
                        "name":"name",
                        "in":"path",
                        "description":"Name of a PolicySet.",
                        "required":true,
                        "type":"string",
                        "x-example":"yourPSName2"
                    },
                    {
                        "name":"policyuri",
                        "in":"path",
                        "description":"URI of a policy attachment, if it contains '/', escape it with %2F",
                        "required":true,
                        "type":"string",
                        "x-example":"oracle%2Flog_policy"
                    }
                ],
                "responses":{
                    "200":{
                        "description":"successful operation",
                        "schema":{
                            "$ref":"#/definitions/PolicyReference"
                        }
                    },
                    "400":{
                        "description":"User bad request, please correct input data and try again.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "500":{
                        "description":"Operation failed with unexpected error.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    }
                },
                "x-internal-id":"policyset-{name}-policyreference-{policyuri}-get",
                "x-filename-id":"policyset-name-policyreference-policyuri-get"
            },
            "delete":{
                "tags":[
                    "PolicySet/PolicyReference"
                ],
                "summary":"Delete a PolicyReference by its URI",
                "description":"Delete a specific PolicyReference identified by its URI {policyuri} from a named {name} PolicySet",
                "operationId":"policyReferenceDeleteByUri",
                "consumes":[
                    "application/json"
                ],
                "produces":[
                    "application/json"
                ],
                "parameters":[
                    {
                        "name":"name",
                        "in":"path",
                        "description":"The unique name of a PolicySet",
                        "required":true,
                        "type":"string",
                        "x-example":"myPSetName2"
                    },
                    {
                        "name":"policyuri",
                        "in":"path",
                        "description":"URI of a PolicyReference, if the uri contains '/', escape it with %2F",
                        "required":true,
                        "type":"string",
                        "x-example":"oracle%2Flog_policy"
                    }
                ],
                "responses":{
                    "200":{
                        "description":"successful operation",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "400":{
                        "description":"User bad request, please correct input data and try again.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "500":{
                        "description":"Operation failed with unexpected error.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    }
                },
                "x-internal-id":"policyset-{name}-policyreference-{policyuri}-delete",
                "x-filename-id":"policyset-name-policyreference-policyuri-delete"
            },
            "patch":{
                "tags":[
                    "PolicySet/PolicyReference"
                ],
                "summary":"Update a PolicyReference by its URI",
                "description":"Update a specific PolicyReference that is identified by its URI {policyuri} in a named {name} PolicySet",
                "operationId":"policyReferenceUpdateByUri",
                "consumes":[
                    "application/json"
                ],
                "produces":[
                    "application/json"
                ],
                "parameters":[
                    {
                        "name":"name",
                        "in":"path",
                        "description":"The unique name of a PolicySet",
                        "required":true,
                        "type":"string",
                        "x-example":"myPSName4"
                    },
                    {
                        "name":"policyuri",
                        "in":"path",
                        "description":"URI of a policy attachment, if it contains '/', escape it with %2F",
                        "required":true,
                        "type":"string",
                        "x-example":"oracle%2Fwss_username_token_service_policy"
                    },
                    {
                        "in":"body",
                        "name":"body",
                        "description":"A PolicyReference object with fields containing the changed values",
                        "required":true,
                        "schema":{
                            "$ref":"#/definitions/PolicyReference"
                        },
                        "x-examples":{
                            "applicaton/json":"{'uri':'log_policy',\n 'status':'enabled'}"
                        }
                    }
                ],
                "responses":{
                    "200":{
                        "description":"successful operation",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "400":{
                        "description":"User bad request, please correct input data and try again.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "500":{
                        "description":"Operation failed with unexpected error.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    }
                },
                "x-internal-id":"policyset-{name}-policyreference-{policyuri}-patch",
                "x-filename-id":"policyset-name-policyreference-policyuri-patch"
            }
        },
        "/policyset":{
            "get":{
                "tags":[
                    "PolicySet"
                ],
                "summary":"Get PolicySet(s) by Type",
                "description":"Get all PolicySet that are of the type specified in the query parameter.",
                "operationId":"policySetGetByType",
                "consumes":[
                    "application/json"
                ],
                "produces":[
                    "application/json"
                ],
                "parameters":[
                    {
                        "name":"type",
                        "in":"query",
                        "description":"Query parameter that specifies the type of PolicySet to be matched against. If it is omitted, all will be fetched.",
                        "required":false,
                        "type":"string",
                        "x-example":"ws-service",
                        "enum":[
                            "sca-component",
                            "sca-reference",
                            "sca-rest-reference",
                            "sca-rest-service",
                            "sca-service",
                            "sca-jca-service",
                            "sca-jca-reference",
                            "ws-service",
                            "ws-client",
                            "ws-connection",
                            "ws-callback",
                            "job-callback",
                            "job-invoke",
                            "job-rest-invoke",
                            "job-rest-service",
                            "rest-connection",
                            "rest-client",
                            "rest-resource",
                            "business-jca-service",
                            "business-rest-service",
                            "business-service",
                            "proxy-jca-service",
                            "proxy-rest-service",
                            "proxy-service"
                        ]
                    }
                ],
                "responses":{
                    "200":{
                        "description":"successful operation",
                        "schema":{
                            "type":"array",
                            "items":{
                                "$ref":"#/definitions/PolicySet"
                            }
                        }
                    },
                    "400":{
                        "description":"User bad request, please correct input data and try again.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "500":{
                        "description":"Operation failed with unexpected error.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    }
                },
                "x-internal-id":"policyset-get",
                "x-filename-id":"policyset-get"
            },
            "post":{
                "tags":[
                    "PolicySet"
                ],
                "summary":"Create PolicySet(s)",
                "description":"Create a list of PolicySet objects with or without PolicyReference or unscoped ConfigOverride",
                "operationId":"policySetsPost",
                "consumes":[
                    "application/json"
                ],
                "produces":[
                    "application/json"
                ],
                "parameters":[
                    {
                        "in":"body",
                        "name":"policysetObjs",
                        "description":"The list of PolicySet Objects sent through request body.",
                        "required":true,
                        "schema":{
                            "type":"array",
                            "items":{
                                "$ref":"#/definitions/PolicySet"
                            }
                        },
                        "x-examples":{
                            "applicaton/json":"[{'name':'ps1',\n  'type':'WS-SERVICE',\n  'scope':'Domain(\"*\")'},\n {'name':'ps2',\n  'type':'WS-SERVICE',\n  'scope':'Port(\"*\")',\n  'constraint':'HTTPHeader(\"VIRTUAL_HOST_TYPE\",\"external\")',\n  'description':'this is my first policy set',\n  'status':'enabled',\n  'configOverrides':[{'name': 'reference.priority',\n                      'value':'2'},\n                     {'name':'keystore.enc.csf.key',\n                      'value': 'myEncCsfKey'}],\n  'policyReferences':[{'uri':'wss_username_token_service_polcy',\n                       'configOverrides':[{'name':'reference.priority',\n                                           'value':'2'},\n                                          {'name':'keystore.enc.csf.key',\n                                           'value':'myEncCsfKey'}]},\n                      {'uri':'log_policy',\n                       'status':'disabled',\n                       'configOverrides':[{'name':'reference.priority',\n                                           'value':'3'},\n                                          {'name':'enforce.log',\n                                           'value': 'true'}]}]}]"
                        }
                    }
                ],
                "responses":{
                    "201":{
                        "description":"successful operation",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "400":{
                        "description":"User bad request, please correct input data and try again.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "500":{
                        "description":"Operation failed with unexpected error.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    }
                },
                "x-internal-id":"policyset-post",
                "x-filename-id":"policyset-post"
            },
            "delete":{
                "tags":[
                    "PolicySet"
                ],
                "summary":"Delete PolicySet(s) by Type",
                "description":"Delete all PolicySet that are of the type specified in the query parameter. The list of PolicySet can be further filtered by the query parameter called type",
                "operationId":"policySetDeleteByType",
                "consumes":[
                    "application/json"
                ],
                "produces":[
                    "application/json"
                ],
                "parameters":[
                    {
                        "name":"type",
                        "in":"query",
                        "description":"All PolicySet whose type match this query parameter will be deleted. If it is omitted, all will be delted.",
                        "required":false,
                        "type":"string",
                        "x-example":"ws-client",
                        "enum":[
                            "sca-component",
                            "sca-reference",
                            "sca-rest-reference",
                            "sca-rest-service",
                            "sca-service",
                            "sca-jca-service",
                            "sca-jca-reference",
                            "ws-service",
                            "ws-client",
                            "ws-connection",
                            "ws-callback",
                            "job-callback",
                            "job-invoke",
                            "job-rest-invoke",
                            "job-rest-service",
                            "rest-connection",
                            "rest-client",
                            "rest-resource",
                            "business-jca-service",
                            "business-rest-service",
                            "business-service",
                            "proxy-jca-service",
                            "proxy-rest-service",
                            "proxy-service"
                        ]
                    }
                ],
                "responses":{
                    "200":{
                        "description":"successful operation",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "400":{
                        "description":"User bad request, please correct input data and try again.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "500":{
                        "description":"Operation failed with unexpected error.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    }
                },
                "x-internal-id":"policyset-delete",
                "x-filename-id":"policyset-delete"
            },
            "patch":{
                "tags":[
                    "PolicySet"
                ],
                "summary":"Update PolicySet(s)",
                "description":"Update a list of PolicySet with attributes and their corresponding new values provided. Each PolicySet name that uniquely identifies a PolicySet must be specified, fields that do not need to be updated should be omitted.",
                "operationId":"policySetUpdate",
                "consumes":[
                    "application/json"
                ],
                "produces":[
                    "application/json"
                ],
                "parameters":[
                    {
                        "in":"body",
                        "name":"policysetsDiff",
                        "description":"A list of PolicySet objects, each PolicySet contains the name/value pairs that to be updated.",
                        "required":true,
                        "schema":{
                            "type":"array",
                            "items":{
                                "$ref":"#/definitions/PolicySet"
                            }
                        },
                        "x-examples":{
                            "applicaton/json":"[{'name':'ps1', \n   'description':'changedDescription'},\n  {'name':'ps2',\n   'status':'disabled'}]"
                        }
                    }
                ],
                "responses":{
                    "200":{
                        "description":"successful operation",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "400":{
                        "description":"User bad request, please correct input data and try again.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "500":{
                        "description":"Operation failed with unexpected error.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    }
                },
                "x-internal-id":"policyset-patch",
                "x-filename-id":"policyset-patch"
            }
        },
        "/policyset/{name}":{
            "get":{
                "tags":[
                    "PolicySet"
                ],
                "summary":"Get a PolicySet by Name",
                "description":"Get detail of a SwaggerObject.POLICYSET  identified by its name in the path variable.",
                "operationId":"policySetGetByName",
                "consumes":[
                    "application/json"
                ],
                "produces":[
                    "application/json"
                ],
                "parameters":[
                    {
                        "name":"name",
                        "in":"path",
                        "description":"The PolicySet whose name matches this path variable will be fetched.",
                        "required":true,
                        "type":"string",
                        "x-example":"myPolicyset1"
                    }
                ],
                "responses":{
                    "200":{
                        "description":"successful operation",
                        "schema":{
                            "$ref":"#/definitions/PolicySet"
                        }
                    },
                    "400":{
                        "description":"User bad request, please correct input data and try again.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "500":{
                        "description":"Operation failed with unexpected error.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    }
                },
                "x-internal-id":"policyset-{name}-get",
                "x-filename-id":"policyset-name-get"
            },
            "delete":{
                "tags":[
                    "PolicySet"
                ],
                "summary":"Delete a PolicySet by Name",
                "description":"Delete the PolicySet that is uniquely identified by the name specified in the path variable.",
                "operationId":"policySetDeleteByName",
                "consumes":[
                    "application/json"
                ],
                "produces":[
                    "application/json"
                ],
                "parameters":[
                    {
                        "name":"name",
                        "in":"path",
                        "description":"The PolicySet whose name match this path variable will be deleted.",
                        "required":true,
                        "type":"string",
                        "x-example":"myPolicyset2"
                    }
                ],
                "responses":{
                    "200":{
                        "description":"successful operation",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "400":{
                        "description":"User bad request, please correct input data and try again.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "500":{
                        "description":"Operation failed with unexpected error.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    }
                },
                "x-internal-id":"policyset-{name}-delete",
                "x-filename-id":"policyset-name-delete"
            },
            "patch":{
                "tags":[
                    "PolicySet"
                ],
                "summary":"Update a Specific Named PolicySet",
                "description":"Update the PolicySet with new values for those attributes that need to be updated. PolicySet name that uniquely identifies the PolicySet is specified in the request path therefore needs not be included in the body.",
                "operationId":"policySetUpdateByName",
                "consumes":[
                    "application/json"
                ],
                "produces":[
                    "application/json"
                ],
                "parameters":[
                    {
                        "name":"name",
                        "in":"path",
                        "description":"The name of the PolicySet",
                        "required":true,
                        "type":"string",
                        "x-example":"myPolicySetName2"
                    },
                    {
                        "in":"body",
                        "name":"policysetDiff",
                        "description":"A PolicySet model object containing only fields(name and value pairs) that are to be upated. Fields that are omitted will stay unchanged.",
                        "required":true,
                        "schema":{
                            "$ref":"#/definitions/PolicySet"
                        },
                        "x-examples":{
                            "applicaton/json":"{'description':'changedDescription',\n 'status':'disabled'}"
                        }
                    }
                ],
                "responses":{
                    "200":{
                        "description":"successful operation",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "400":{
                        "description":"User bad request, please correct input data and try again.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "500":{
                        "description":"Operation failed with unexpected error.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    }
                },
                "x-internal-id":"policyset-{name}-patch",
                "x-filename-id":"policyset-name-patch"
            }
        },
        "/trust/{trustname}/attributerule/{issuername}/{identifier}/proxy":{
            "get":{
                "tags":[
                    "Trust/TokenAttributeRule/Proxy"
                ],
                "summary":"Get the Proxy",
                "description":"Get the detail of the Proxy of a specific TokenAttributeRule that is identified by {issuername} and {identifier} in the named {trustname} Trust document.",
                "operationId":"proxyGet",
                "consumes":[
                    "application/json"
                ],
                "produces":[
                    "application/json"
                ],
                "parameters":[
                    {
                        "name":"trustname",
                        "in":"path",
                        "description":"Name of the Trust document.",
                        "required":true,
                        "type":"string",
                        "x-example":"myTrustDoc1"
                    },
                    {
                        "name":"issuername",
                        "in":"path",
                        "description":"issuername of the TokenAttributeRule",
                        "required":true,
                        "type":"string",
                        "x-example":"http://abc.com"
                    },
                    {
                        "name":"identifier",
                        "in":"path",
                        "description":"identifier of the TokenAttributeRule",
                        "required":true,
                        "type":"string",
                        "x-example":"xyzIdentifier"
                    }
                ],
                "responses":{
                    "200":{
                        "description":"successful operation",
                        "schema":{
                            "$ref":"#/definitions/Proxy"
                        }
                    },
                    "400":{
                        "description":"User bad request, please correct input data and try again.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "500":{
                        "description":"Operation failed with unexpected error.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    }
                },
                "x-internal-id":"trust-{trustname}-attributerule-{issuername}-{identifier}-proxy-get",
                "x-filename-id":"trust-trustname-attributerule-issuername-identifier-proxy-get"
            },
            "post":{
                "tags":[
                    "Trust/TokenAttributeRule/Proxy"
                ],
                "summary":"Create the Proxy",
                "description":"for a specific TokenAttributeRule that is identified by {issuername} and {identifier} in the named {trustname} Trust document.",
                "operationId":"proxyPost",
                "consumes":[
                    "application/json"
                ],
                "produces":[
                    "application/json"
                ],
                "parameters":[
                    {
                        "name":"trustname",
                        "in":"path",
                        "description":"Name of the Trust document.",
                        "required":true,
                        "type":"string",
                        "x-example":"myTrustDoc1"
                    },
                    {
                        "name":"issuername",
                        "in":"path",
                        "description":"issuername of the TokenAttributeRule",
                        "required":true,
                        "type":"string",
                        "x-example":"http://abc.com"
                    },
                    {
                        "name":"identifier",
                        "in":"path",
                        "description":"identifier of the TokenAttributeRule",
                        "required":true,
                        "type":"string",
                        "x-example":"xyzIdentifier"
                    },
                    {
                        "in":"body",
                        "name":"proxyObj",
                        "description":"Input data of the Proxy",
                        "required":true,
                        "schema":{
                            "$ref":"#/definitions/Proxy"
                        },
                        "x-examples":{
                            "applicaton/json":"{'proxyhost': 'myHostName',\n 'proxyport':'4321'}"
                        }
                    }
                ],
                "responses":{
                    "201":{
                        "description":"successful operation",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "400":{
                        "description":"User bad request, please correct input data and try again.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "500":{
                        "description":"Operation failed with unexpected error.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    }
                },
                "x-internal-id":"trust-{trustname}-attributerule-{issuername}-{identifier}-proxy-post",
                "x-filename-id":"trust-trustname-attributerule-issuername-identifier-proxy-post"
            },
            "delete":{
                "tags":[
                    "Trust/TokenAttributeRule/Proxy"
                ],
                "summary":"Delete the Proxy",
                "description":"of a specific TokenAttributeRule that is identified by {issuername} and {identifier} in the named {trustname} Trust document.",
                "operationId":"proxyDelete",
                "consumes":[
                    "application/json"
                ],
                "produces":[
                    "application/json"
                ],
                "parameters":[
                    {
                        "name":"trustname",
                        "in":"path",
                        "description":"Name of the Trust document.",
                        "required":true,
                        "type":"string",
                        "x-example":"myTrustDoc1"
                    },
                    {
                        "name":"issuername",
                        "in":"path",
                        "description":"issuername of the TokenAttributeRule",
                        "required":true,
                        "type":"string",
                        "x-example":"http://abc.com"
                    },
                    {
                        "name":"identifier",
                        "in":"path",
                        "description":"identifier of the TokenAttributeRule",
                        "required":true,
                        "type":"string",
                        "x-example":"xyzIdentifier"
                    }
                ],
                "responses":{
                    "200":{
                        "description":"successful operation",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "400":{
                        "description":"User bad request, please correct input data and try again.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "500":{
                        "description":"Operation failed with unexpected error.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    }
                },
                "x-internal-id":"trust-{trustname}-attributerule-{issuername}-{identifier}-proxy-delete",
                "x-filename-id":"trust-trustname-attributerule-issuername-identifier-proxy-delete"
            },
            "patch":{
                "tags":[
                    "Trust/TokenAttributeRule/Proxy"
                ],
                "summary":"Update the Proxy",
                "description":"for a specific TokenAttributeRule that is identified by {issuername} and {identifier} in the named {trustname} Trust document.",
                "operationId":"proxyPut",
                "consumes":[
                    "application/json"
                ],
                "produces":[
                    "application/json"
                ],
                "parameters":[
                    {
                        "name":"trustname",
                        "in":"path",
                        "description":"Name of the Trust document.",
                        "required":true,
                        "type":"string",
                        "x-example":"myTrustDoc1"
                    },
                    {
                        "name":"issuername",
                        "in":"path",
                        "description":"issuername of the TokenAttributeRule",
                        "required":true,
                        "type":"string",
                        "x-example":"http://abc.com"
                    },
                    {
                        "name":"identifier",
                        "in":"path",
                        "description":"identifier of the TokenAttributeRule",
                        "required":true,
                        "type":"string",
                        "x-example":"xyzIdentifier"
                    },
                    {
                        "in":"body",
                        "name":"proxyDiffObj",
                        "description":"Proxy with modified fields only. The example here shows the proxyhost is changed to aNewHostName and proxyportis changed to 1234",
                        "required":true,
                        "schema":{
                            "$ref":"#/definitions/Proxy"
                        },
                        "x-examples":{
                            "applicaton/json":"{'proxyhost': 'aNewHostName', \n 'proxyport':'1234'}"
                        }
                    }
                ],
                "responses":{
                    "200":{
                        "description":"successful operation",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "400":{
                        "description":"User bad request, please correct input data and try again.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "500":{
                        "description":"Operation failed with unexpected error.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    }
                },
                "x-internal-id":"trust-{trustname}-attributerule-{issuername}-{identifier}-proxy-patch",
                "x-filename-id":"trust-trustname-attributerule-issuername-identifier-proxy-patch"
            }
        },
        "/trust/{trustname}/issuer/{issuername}/{tokentype}/relyingparty":{
            "get":{
                "tags":[
                    "Trust/TokenIssuer/RelyingParty"
                ],
                "summary":"Get RelyingParty(s)",
                "description":"Get all RelyingParty of a specific TokenIssuerthat is identified by {issuername} and {tokentype} in the named {trustname} Trust document. These RelyingParty can be further filtered by one or more query parameters rptype, or rpvalue in the request URL, for example, ?rptype=csfkey&rpvalue=someRelyingPartyValue",
                "operationId":"relyingPartyGet",
                "consumes":[
                    "application/json"
                ],
                "produces":[
                    "application/json"
                ],
                "parameters":[
                    {
                        "name":"trustname",
                        "in":"path",
                        "description":"Name of the Trust document.",
                        "required":true,
                        "type":"string",
                        "x-example":"myTrustDoc1"
                    },
                    {
                        "name":"issuername",
                        "in":"path",
                        "description":"Name of the TokenIssuer",
                        "required":true,
                        "type":"string",
                        "x-example":"http://abc.com"
                    },
                    {
                        "name":"tokentype",
                        "in":"path",
                        "description":"Token type of the TokenIssuer",
                        "required":true,
                        "type":"string",
                        "x-example":"jwt",
                        "enum":[
                            "jwt",
                            "saml.hok",
                            "saml.sv"
                        ]
                    },
                    {
                        "name":"rptype",
                        "in":"query",
                        "description":"Type of a RelyingParty",
                        "required":false,
                        "type":"string",
                        "x-example":"csfkey",
                        "enum":[
                            "csfkey",
                            "literal"
                        ]
                    },
                    {
                        "name":"rpvalue",
                        "in":"query",
                        "description":"Value of a RelyingParty",
                        "required":false,
                        "type":"string"
                    }
                ],
                "responses":{
                    "200":{
                        "description":"successful operation",
                        "schema":{
                            "type":"array",
                            "items":{
                                "$ref":"#/definitions/RelyingParty"
                            }
                        }
                    },
                    "400":{
                        "description":"User bad request, please correct input data and try again.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "500":{
                        "description":"Operation failed with unexpected error.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    }
                },
                "x-internal-id":"trust-{trustname}-issuer-{issuername}-{tokentype}-relyingparty-get",
                "x-filename-id":"trust-trustname-issuer-issuername-tokentype-relyingparty-get"
            },
            "post":{
                "tags":[
                    "Trust/TokenIssuer/RelyingParty"
                ],
                "summary":"Add RelyingParty(s)",
                "description":"Add a list of RelyingParty to the specific TokenIssuer that is identified by {issuername} and {tokentype} in a named {trustname}Trust document.",
                "operationId":"replyingPartyPost",
                "consumes":[
                    "application/json"
                ],
                "produces":[
                    "application/json"
                ],
                "parameters":[
                    {
                        "name":"trustname",
                        "in":"path",
                        "description":"Name of the Trust document.",
                        "required":true,
                        "type":"string",
                        "x-example":"myTrustDoc1"
                    },
                    {
                        "name":"issuername",
                        "in":"path",
                        "description":"Name of the TokenIssuer",
                        "required":true,
                        "type":"string",
                        "x-example":"http://abc.com"
                    },
                    {
                        "name":"tokentype",
                        "in":"path",
                        "description":"Token type of the TokenIssuer",
                        "required":true,
                        "type":"string",
                        "x-example":"jwt",
                        "enum":[
                            "jwt",
                            "saml.hok",
                            "saml.sv"
                        ]
                    },
                    {
                        "in":"body",
                        "name":"relyingPartyObjs",
                        "description":"The list of RelyingParty to be added",
                        "required":true,
                        "schema":{
                            "type":"array",
                            "items":{
                                "$ref":"#/definitions/RelyingParty"
                            }
                        },
                        "x-examples":{
                            "applicaton/json":"[{'rptype': 'csfkey',\n  'rpvalue': 'mycsfkey'},\n {'rptype': 'liberal',\n  'rpvalue': 'somehtingstring'}]"
                        }
                    }
                ],
                "responses":{
                    "201":{
                        "description":"successful operation",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "400":{
                        "description":"User bad request, please correct input data and try again.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "500":{
                        "description":"Operation failed with unexpected error.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    }
                },
                "x-internal-id":"trust-{trustname}-issuer-{issuername}-{tokentype}-relyingparty-post",
                "x-filename-id":"trust-trustname-issuer-issuername-tokentype-relyingparty-post"
            },
            "delete":{
                "tags":[
                    "Trust/TokenIssuer/RelyingParty"
                ],
                "summary":"Delete RelyingParty(s)",
                "description":"Delete all RelyingParty of a specific TokenIssuerthat is identified by {issuername} and {tokentype} in the named {trustname} Trust document. These RelyingParty can be further filtered by one or more query parameters like rptype, or rpvalue in the request URL, for example, ?rptype=csfkey&rpvalue=someRelyingPartyValue",
                "operationId":"relyingPartyDeleteByTypeAndValue",
                "consumes":[
                    "application/json"
                ],
                "produces":[
                    "application/json"
                ],
                "parameters":[
                    {
                        "name":"trustname",
                        "in":"path",
                        "description":"Name of the Trust document.",
                        "required":true,
                        "type":"string",
                        "x-example":"myTrustDoc1"
                    },
                    {
                        "name":"issuername",
                        "in":"path",
                        "description":"Name of the TokenIssuer",
                        "required":true,
                        "type":"string",
                        "x-example":"http://abc.com"
                    },
                    {
                        "name":"tokentype",
                        "in":"path",
                        "description":"Token type of the TokenIssuer",
                        "required":true,
                        "type":"string",
                        "x-example":"jwt",
                        "enum":[
                            "jwt",
                            "saml.hok",
                            "saml.sv"
                        ]
                    },
                    {
                        "name":"rptype",
                        "in":"query",
                        "description":"Type of a RelyingParty",
                        "required":false,
                        "type":"string",
                        "x-example":"csfkey",
                        "enum":[
                            "csfkey",
                            "literal"
                        ]
                    },
                    {
                        "name":"rpvalue",
                        "in":"query",
                        "description":"Value of a RelyingParty",
                        "required":false,
                        "type":"string"
                    }
                ],
                "responses":{
                    "200":{
                        "description":"successful operation",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "400":{
                        "description":"User bad request, please correct input data and try again.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "500":{
                        "description":"Operation failed with unexpected error.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    }
                },
                "x-internal-id":"trust-{trustname}-issuer-{issuername}-{tokentype}-relyingparty-delete",
                "x-filename-id":"trust-trustname-issuer-issuername-tokentype-relyingparty-delete"
            }
        },
        "/trust/{trustname}/attributerule/{issuername}/{identifier}/virtualuser/rolemapping":{
            "get":{
                "tags":[
                    "Trust/TokenAttributeRule/VirtualUser/TokenRoleMapping"
                ],
                "summary":"Get TokenRoleMapping(s)",
                "description":"Get one or all TokenRoleMapping of the VirtualUser of a sepcific TokenAttributeRule identified by {issuername}/{identifier}  in a named {trustname} Trust. The list can be filtered to contain only one TokenRoleMapping if the specific tokenRole is provided in the query parameter.",
                "operationId":"roleMappingGet",
                "consumes":[
                    "application/json"
                ],
                "produces":[
                    "application/json"
                ],
                "parameters":[
                    {
                        "name":"trustname",
                        "in":"path",
                        "description":"Name of the Trust",
                        "required":true,
                        "type":"string",
                        "x-example":"myTrustDoc1"
                    },
                    {
                        "name":"issuername",
                        "in":"path",
                        "description":"issuername of the TokenAttributeRule",
                        "required":true,
                        "type":"string",
                        "x-example":"http://abc.com"
                    },
                    {
                        "name":"identifier",
                        "in":"path",
                        "description":"identifier of the TokenAttributeRule",
                        "required":true,
                        "type":"string",
                        "x-example":"sampleIdentifier"
                    },
                    {
                        "name":"tokenRole",
                        "in":"query",
                        "description":"tokenRole of the specific TokenRoleMapping is requested.",
                        "required":false,
                        "type":"string",
                        "x-example":"myTokenRole1"
                    }
                ],
                "responses":{
                    "200":{
                        "description":"successful operation",
                        "schema":{
                            "type":"array",
                            "items":{
                                "$ref":"#/definitions/TokenRoleMapping"
                            }
                        }
                    },
                    "400":{
                        "description":"User bad request, please correct input data and try again.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "500":{
                        "description":"Operation failed with unexpected error.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    }
                },
                "x-internal-id":"trust-{trustname}-attributerule-{issuername}-{identifier}-virtualuser-rolemapping-get",
                "x-filename-id":"trust-trustname-attributerule-issuername-identifier-virtualuser-rolemapping-get"
            },
            "post":{
                "tags":[
                    "Trust/TokenAttributeRule/VirtualUser/TokenRoleMapping"
                ],
                "summary":"Create TokenRoleMapping(s)",
                "description":"Create a list of TokenRoleMapping for the VirtualUser of a sepcific TokenAttributeRule identified by {issuername}/{identifier}  in a named {trustname} Trust",
                "operationId":"roleMappingPost",
                "consumes":[
                    "application/json"
                ],
                "produces":[
                    "application/json"
                ],
                "parameters":[
                    {
                        "name":"trustname",
                        "in":"path",
                        "description":"Name of the Trust",
                        "required":true,
                        "type":"string",
                        "x-example":"myTrustDoc1"
                    },
                    {
                        "name":"issuername",
                        "in":"path",
                        "description":"issuername of the TokenAttributeRule",
                        "required":true,
                        "type":"string",
                        "x-example":"http://abc.com"
                    },
                    {
                        "name":"identifier",
                        "in":"path",
                        "description":"identifier of the TokenAttributeRule",
                        "required":true,
                        "type":"string",
                        "x-example":"sampleIdentifier"
                    },
                    {
                        "in":"body",
                        "name":"tokenRoleMappings",
                        "description":"The list of TokenRoleMapping objects sent through request body.",
                        "required":true,
                        "schema":{
                            "type":"array",
                            "items":{
                                "$ref":"#/definitions/TokenRoleMapping"
                            }
                        },
                        "x-examples":{
                            "applicaton/json":"[{'tokenRole':'myTokenRole1', \n  'mappingRoles':['mappingRole1', 'mappingRole2', 'mappingRole3']}, \n {'tokenRole':'myTokenRole2', \n  'mappingRoles':['mappingRoleA', 'mappingRoleB', 'mappingRoleC']}]"
                        }
                    }
                ],
                "responses":{
                    "201":{
                        "description":"successful operation",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "400":{
                        "description":"User bad request, please correct input data and try again.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "500":{
                        "description":"Operation failed with unexpected error.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    }
                },
                "x-internal-id":"trust-{trustname}-attributerule-{issuername}-{identifier}-virtualuser-rolemapping-post",
                "x-filename-id":"trust-trustname-attributerule-issuername-identifier-virtualuser-rolemapping-post"
            },
            "delete":{
                "tags":[
                    "Trust/TokenAttributeRule/VirtualUser/TokenRoleMapping"
                ],
                "summary":"Delete TokenRoleMapping(s)",
                "description":"Delete one or all TokenRoleMapping of the VirtualUser of a sepcific TokenAttributeRule identified by {issuername}/{identifier}  in a named {trustname} Trust. If query parameter tokenRole is specified, then only the matched one is deleted, otherwise all TokenRoleMapping are deleted.",
                "operationId":"roleMappingDelete",
                "consumes":[
                    "application/json"
                ],
                "produces":[
                    "application/json"
                ],
                "parameters":[
                    {
                        "name":"trustname",
                        "in":"path",
                        "description":"Name of the Trust",
                        "required":true,
                        "type":"string",
                        "x-example":"myTrustDoc1"
                    },
                    {
                        "name":"issuername",
                        "in":"path",
                        "description":"issuername of the TokenAttributeRule",
                        "required":true,
                        "type":"string",
                        "x-example":"http://abc.com"
                    },
                    {
                        "name":"identifier",
                        "in":"path",
                        "description":"identifier of the TokenAttributeRule",
                        "required":true,
                        "type":"string",
                        "x-example":"sampleIdentifier"
                    },
                    {
                        "name":"tokenRole",
                        "in":"query",
                        "description":"tokenRole of the specific TokenRoleMapping is requested.",
                        "required":false,
                        "type":"string",
                        "x-example":"myTokenRole1"
                    }
                ],
                "responses":{
                    "200":{
                        "description":"successful operation",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "400":{
                        "description":"User bad request, please correct input data and try again.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "500":{
                        "description":"Operation failed with unexpected error.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    }
                },
                "x-internal-id":"trust-{trustname}-attributerule-{issuername}-{identifier}-virtualuser-rolemapping-delete",
                "x-filename-id":"trust-trustname-attributerule-issuername-identifier-virtualuser-rolemapping-delete"
            },
            "patch":{
                "tags":[
                    "Trust/TokenAttributeRule/VirtualUser/TokenRoleMapping"
                ],
                "summary":"Update TokenRoleMapping(s)",
                "description":"Update a list of TokenRoleMapping with new mappingRoles values to be updated to.",
                "operationId":"roleMappingPut",
                "consumes":[
                    "application/json"
                ],
                "produces":[
                    "application/json"
                ],
                "parameters":[
                    {
                        "name":"trustname",
                        "in":"path",
                        "description":"Name of the Trust",
                        "required":true,
                        "type":"string",
                        "x-example":"myTrustDoc1"
                    },
                    {
                        "name":"issuername",
                        "in":"path",
                        "description":"issuername of the TokenAttributeRule",
                        "required":true,
                        "type":"string",
                        "x-example":"http://abc.com"
                    },
                    {
                        "name":"identifier",
                        "in":"path",
                        "description":"identifier of the TokenAttributeRule",
                        "required":true,
                        "type":"string",
                        "x-example":"sampleIdentifier"
                    },
                    {
                        "in":"body",
                        "name":"tokenRoleMappings",
                        "description":"The list of TokenRoleMapping with new mappingRoles values.",
                        "required":true,
                        "schema":{
                            "type":"array",
                            "items":{
                                "$ref":"#/definitions/TokenRoleMapping"
                            }
                        },
                        "x-examples":{
                            "applicaton/json":"[{'tokenRole':'myTokenRole1', \n  'mappingRoles':['newMappingRole1', 'mnewMppingRole2', 'newMappingRole3']}, \n {'tokenRole':'myTokenRole2', \n  'mappingRoles':['newMappingRoleA', 'newMappingRoleB', 'newMappingRoleC']}]"
                        }
                    }
                ],
                "responses":{
                    "200":{
                        "description":"successful operation",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "400":{
                        "description":"User bad request, please correct input data and try again.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "500":{
                        "description":"Operation failed with unexpected error.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    }
                },
                "x-internal-id":"trust-{trustname}-attributerule-{issuername}-{identifier}-virtualuser-rolemapping-patch",
                "x-filename-id":"trust-trustname-attributerule-issuername-identifier-virtualuser-rolemapping-patch"
            }
        },
        "/trust/{trustname}/attributerule":{
            "get":{
                "tags":[
                    "Trust/TokenAttributeRule"
                ],
                "summary":"Get TokenAttributeRule(s)",
                "description":"Get a list of TokenAttributeRules of a named {trustname} Trust document. These TokenAttributeRule can be further filtered by one or more query parameters issuername, or identifier in the request URL, for example, ?issuername=http://abc.com&identifier=myId3",
                "operationId":"tokenAttributeRuleGet",
                "consumes":[
                    "application/json"
                ],
                "produces":[
                    "application/json"
                ],
                "parameters":[
                    {
                        "name":"trustname",
                        "in":"path",
                        "description":"trustname of the Trust document.",
                        "required":true,
                        "type":"string",
                        "x-example":"myTrustDoc1"
                    },
                    {
                        "name":"issuername",
                        "in":"query",
                        "description":"issuername of the TokenAttributeRule",
                        "required":false,
                        "type":"string",
                        "x-example":"http://abc.com"
                    },
                    {
                        "name":"identifier",
                        "in":"query",
                        "description":"identifier of the TokenAttributeRule",
                        "required":false,
                        "type":"string",
                        "x-example":"myId5"
                    }
                ],
                "responses":{
                    "200":{
                        "description":"successful operation",
                        "schema":{
                            "type":"array",
                            "items":{
                                "$ref":"#/definitions/TokenAttributeRule"
                            }
                        }
                    },
                    "400":{
                        "description":"User bad request, please correct input data and try again.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "500":{
                        "description":"Operation failed with unexpected error.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    }
                },
                "x-internal-id":"trust-{trustname}-attributerule-get",
                "x-filename-id":"trust-trustname-attributerule-get"
            },
            "post":{
                "tags":[
                    "Trust/TokenAttributeRule"
                ],
                "summary":"Create TokenAttributeRule(s)",
                "description":"Create a list of TokenAttributeRule objects with or without sub objects: VirtualUser, Proxy, or NameId, or TokenAttribute(s) in the named {trustname} Trust document.",
                "operationId":"tokenAttributeRulePost",
                "consumes":[
                    "application/json"
                ],
                "produces":[
                    "application/json"
                ],
                "parameters":[
                    {
                        "name":"trustname",
                        "in":"path",
                        "description":"Name of the Trust document.",
                        "required":true,
                        "type":"string",
                        "x-example":"myTrustDoc1"
                    },
                    {
                        "in":"body",
                        "name":"attrRuleObjs",
                        "description":"The list of TokenAttributeRule objects to be created that is sent through request body. Each TokenAttributeRule may or may not contain its sub objects: VirtualUser, Proxy, or NameId, or TokenAttribute",
                        "required":true,
                        "schema":{
                            "type":"array",
                            "items":{
                                "$ref":"#/definitions/TokenAttributeRule"
                            }
                        },
                        "x-examples":{
                            "applicaton/json":"[{ 'issuername': 'issuer1',\n     'identifier': 'identifier1',\n     'nameid': {'nameidAttribute': 'nameidattr1',\n                'mapping': {'userAttribute': 'userAttr1',\n                            'userMappingAttribute': 'userMappingAttr1'},\n                'filter': ['filter1','filter2']},\n     'virtualuser': {'enabled': 'true',\n                     'defaultRoles': ['defaultRole1','defaultRole2'],\n                     'tokenRoleAttributes': ['attr1','attr2'],\n                     'tokenRoleMappings': [{'tokenRole': 'tRole1',\n                                            'mappingRoles': ['mRole1','mRole2']}]},\n     'attributes': [{'name': 'attr1',\n                     'mapping': {'userAttribute': 'userAttr1',\n                                 'userMappingAttribute': 'userMAttr1'},\n                     'filter': ['filter11','filter12']},\n                    {'name': 'attr2',\n                     'filter': ['filter21','filter22']}]\n  }]"
                        }
                    }
                ],
                "responses":{
                    "201":{
                        "description":"successful operation",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "400":{
                        "description":"User bad request, please correct input data and try again.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "500":{
                        "description":"Operation failed with unexpected error.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    }
                },
                "x-internal-id":"trust-{trustname}-attributerule-post",
                "x-filename-id":"trust-trustname-attributerule-post"
            },
            "delete":{
                "tags":[
                    "Trust/TokenAttributeRule"
                ],
                "summary":"Delete TokenAttributeRule(s)",
                "description":"Delete a list of TokenAttributeRules from a named {trustname} Trust document. These TokenAttributeRule can be further filtered by one or more query parameters issuername, or identifier in the request URL, for example, ?issuername=http://abc.com&identifier=myId3",
                "operationId":"tokenAttributeRuleDelete",
                "consumes":[
                    "application/json"
                ],
                "produces":[
                    "application/json"
                ],
                "parameters":[
                    {
                        "name":"trustname",
                        "in":"path",
                        "required":true,
                        "type":"string"
                    },
                    {
                        "name":"issuername",
                        "in":"query",
                        "required":false,
                        "type":"string"
                    },
                    {
                        "name":"identifier",
                        "in":"query",
                        "required":false,
                        "type":"string"
                    }
                ],
                "responses":{
                    "200":{
                        "description":"successful operation",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "400":{
                        "description":"User bad request, please correct input data and try again.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "500":{
                        "description":"Operation failed with unexpected error.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    }
                },
                "x-internal-id":"trust-{trustname}-attributerule-delete",
                "x-filename-id":"trust-trustname-attributerule-delete"
            },
            "patch":{
                "tags":[
                    "Trust/TokenAttributeRule"
                ],
                "summary":"Update TokenAttributeRule(s)",
                "description":"Update a list of TokenAttributeRuleNote: at this point, there are no fields can be updated.",
                "operationId":"tokenAttributeRulePut",
                "consumes":[
                    "application/json"
                ],
                "produces":[
                    "application/json"
                ],
                "parameters":[
                    {
                        "name":"trustname",
                        "in":"path",
                        "description":"Name of the Trust document.",
                        "required":true,
                        "type":"string",
                        "x-example":"myTrustDoc1"
                    },
                    {
                        "in":"body",
                        "name":"attrRuleDiffObjs",
                        "description":"The list of TokenAttributeRule objects with fields that need to be updated (for now there is none. This API can not be used to update any one of its sub objects:VirtualUser, Proxy, or NameId, or TokenAttribute for that one must use APIs on each corresponding sub object.",
                        "required":true,
                        "schema":{
                            "type":"array",
                            "items":{
                                "$ref":"#/definitions/TokenAttributeRule"
                            }
                        }
                    }
                ],
                "responses":{
                    "200":{
                        "description":"successful operation",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "400":{
                        "description":"User bad request, please correct input data and try again.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "500":{
                        "description":"Operation failed with unexpected error.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    }
                },
                "x-internal-id":"trust-{trustname}-attributerule-patch",
                "x-filename-id":"trust-trustname-attributerule-patch"
            }
        },
        "/trust/{trustname}":{
            "get":{
                "tags":[
                    "Trust"
                ],
                "summary":"Get a Trust",
                "description":"Get detail of the specified named {trustname} Trust document",
                "operationId":"trustGetByName",
                "consumes":[
                    "application/json"
                ],
                "produces":[
                    "application/json"
                ],
                "parameters":[
                    {
                        "name":"trustname",
                        "in":"path",
                        "description":"trustname of the Trust document.",
                        "required":true,
                        "type":"string",
                        "x-example":"myTrustDoc1"
                    }
                ],
                "responses":{
                    "200":{
                        "description":"successful operation",
                        "schema":{
                            "$ref":"#/definitions/Trust"
                        }
                    },
                    "400":{
                        "description":"User bad request, please correct input data and try again.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "500":{
                        "description":"Operation failed with unexpected error.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    }
                },
                "x-internal-id":"trust-{trustname}-get",
                "x-filename-id":"trust-trustname-get"
            },
            "delete":{
                "tags":[
                    "Trust"
                ],
                "summary":"Delete a Trust",
                "description":"Delete the specified named {trustname} Trust document",
                "operationId":"trustDeleteByName",
                "consumes":[
                    "application/json"
                ],
                "produces":[
                    "application/json"
                ],
                "parameters":[
                    {
                        "name":"trustname",
                        "in":"path",
                        "description":"trustname of the Trust document.",
                        "required":true,
                        "type":"string",
                        "x-example":"myTrustDoc1"
                    }
                ],
                "responses":{
                    "200":{
                        "description":"successful operation",
                        "schema":{
                            "$ref":"#/definitions/Trust"
                        }
                    },
                    "400":{
                        "description":"User bad request, please correct input data and try again.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "500":{
                        "description":"Operation failed with unexpected error.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    }
                },
                "x-internal-id":"trust-{trustname}-delete",
                "x-filename-id":"trust-trustname-delete"
            }
        },
        "/trust":{
            "get":{
                "tags":[
                    "Trust"
                ],
                "summary":"Get All Trust(s)",
                "description":"Get all existing Trust documents A flag can be specified in the request query parameter to indicate  if shallow or full detail of each Trust should be returned.for example, ?detail=false means shallow copy of each trustname object with field trustname is returned.",
                "operationId":"trustGet",
                "consumes":[
                    "application/json"
                ],
                "produces":[
                    "application/json"
                ],
                "parameters":[
                    {
                        "name":"detail",
                        "in":"query",
                        "required":false,
                        "type":"string"
                    }
                ],
                "responses":{
                    "200":{
                        "description":"successful operation",
                        "schema":{
                            "type":"array",
                            "items":{
                                "$ref":"#/definitions/Trust"
                            }
                        }
                    },
                    "400":{
                        "description":"User bad request, please correct input data and try again.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "500":{
                        "description":"Operation failed with unexpected error.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    }
                },
                "x-internal-id":"trust-get",
                "x-filename-id":"trust-get"
            },
            "post":{
                "tags":[
                    "Trust"
                ],
                "summary":"Create Trust(s)",
                "description":"Create a list of Trust objects with or without sub objects: TokenIssuer(s), TokenAttributeRule(s)",
                "operationId":"trustPost",
                "consumes":[
                    "application/json"
                ],
                "produces":[
                    "application/json"
                ],
                "parameters":[
                    {
                        "in":"body",
                        "name":"trustObjs",
                        "description":"The list of Trust objects to be created.  Each Trust may or may not contain its sub objects: TokenIssuer(s), TokenAttributeRule(s)",
                        "required":true,
                        "schema":{
                            "type":"array",
                            "items":{
                                "$ref":"#/definitions/Trust"
                            }
                        },
                        "x-examples":{
                            "applicaton/json":"[{\n       'trustname': 'myDoc1',\n       'displayname': 'trustDoc1 Display Name',\n       'issuers': [\n          {\n           'issuername': 'www.oracle.com',\n           'tokentype': 'jwt',\n           'enabled': 'true',\n           'trustedkey': {\n               'mdurl' : 'http://www.oracle.com',\n               'refreshinterval' : '20',\n               'keyidentifiers' : [\n                  {\n                   'keytype': 'x509certificate',\n                   'valuetype': 'dn',\n                   'value': 'CN=orakey, OU=Orakey Test Encryption Purposes Only, O=Oracle, C=US',\n                   'enabled': 'true'\n                  }]}\n         },\n         {\n          'issuername': 'www.google.com',\n          'tokentype': 'saml.hok',\n          'enabled': 'true',\n          'trustedkey': {\n               'mdurl' : 'http://www.google.com',\n               'refreshinterval' : '10',\n              }\n         }\n       ],\n       'tokenAttributeRules': [\n         { 'issuername': 'issuer1',\n           'identifier': 'identifier1',\n           'nameid': {\n               'nameidAttribute': 'nameidattr1',\n               'mapping': {\n                   'userAttribute': 'userAttr1',\n                   'userMappingAttribute': 'userMappingAttr1'},\n               'filter': ['filter1','filter2']\n            },\n           'virtualuser': {\n               'enabled': 'true',\n               'defaultRoles': ['defaultRole1','defaultRole2'],\n               'tokenRoleAttributes': ['roleAttr1','roleAttr2'],\n               'tokenRoleMappings': [{\n                       'tokenRole': 'tokenRole1',\n                       'mappingRoles': ['mappingRole1','mappingRole2']}]\n            },\n           'attributes': [\n                {'name': 'attr1',\n                 'mapping': {'userAttribute': 'userAttr1',\n                            'userMappingAttribute': 'userMappingAttr1'},\n                 'filter': ['filter11','filter12']},\n                {'name': 'attr2',\n                 'filter': ['filter21','filter22']\n                }]\n         },\n         { 'identifier': 'identifier2',\n           'nameid': {\n               'nameidAttribute': 'nameidattr2',\n               'mapping': {\n                   'userAttribute': 'userAttr2',\n                   'userMappingAttribute': 'userMappingAttr2'},\n               'filter': ['filter3','filter4']\n              },\n           'virtualuser': {\n               'enabled': 'true',\n               'defaultRoles': ['defaultRole3','defaultRole4'],\n               'tokenRoleAttributes': ['roleAttr3','roleAttr4'],\n               'tokenRoleMappings': [{\n                       'tokenRole': 'tokenRole3',\n                       'mappingRoles': ['mappingRole3','mappingRole4']}]\n              },\n           'attributes': [\n               {'name': 'attr3',\n                'mapping': {'userAttribute': 'userAttr2',\n                            'userMappingAttribute': 'userMappingAttr2'},\n                'filter': ['filter31','filter32']},\n               {'name': 'attr4',\n                'filter': ['filter41','filter42']\n               }]\n          }]\n      },\n      {'trustname': 'myDoc2'\n       'displayname': 'trustDoc2 Display Name'\n      }\n     ]"
                        }
                    }
                ],
                "responses":{
                    "201":{
                        "description":"successful operation",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "400":{
                        "description":"User bad request, please correct input data and try again.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "500":{
                        "description":"Operation failed with unexpected error.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    }
                },
                "x-internal-id":"trust-post",
                "x-filename-id":"trust-post"
            },
            "delete":{
                "tags":[
                    "Trust"
                ],
                "summary":"Delete All Trust",
                "description":"Delete all existing Trust documents",
                "operationId":"trustDeleteAll",
                "consumes":[
                    "application/json"
                ],
                "produces":[
                    "application/json"
                ],
                "parameters":[
                ],
                "responses":{
                    "200":{
                        "description":"successful operation",
                        "schema":{
                            "$ref":"#/definitions/Trust"
                        }
                    },
                    "400":{
                        "description":"User bad request, please correct input data and try again.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "500":{
                        "description":"Operation failed with unexpected error.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    }
                },
                "x-internal-id":"trust-delete",
                "x-filename-id":"trust-delete"
            },
            "patch":{
                "tags":[
                    "Trust"
                ],
                "summary":"Update Trust(s)",
                "description":"Update a list of Trust documents.",
                "operationId":"trustPut",
                "consumes":[
                    "application/json"
                ],
                "produces":[
                    "application/json"
                ],
                "parameters":[
                    {
                        "in":"body",
                        "name":"trustDiffObjs",
                        "description":"The list of Trust objects (without any sub objects) with new values for those updatable fileds, for now only displayname is uptable.",
                        "required":true,
                        "schema":{
                            "type":"array",
                            "items":{
                                "$ref":"#/definitions/Trust"
                            }
                        },
                        "x-examples":{
                            "applicaton/json":"[{\n       'trustname': 'myDoc1',\n       'displayname': 'upate to new trustDoc1 Display Name',\n     }\n     { 'trustname': 'myDoc2'\n       'displayname': 'update to new trustDoc2 Display Name'\n     }\n    ]"
                        }
                    }
                ],
                "responses":{
                    "200":{
                        "description":"successful operation",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "400":{
                        "description":"User bad request, please correct input data and try again.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "500":{
                        "description":"Operation failed with unexpected error.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    }
                },
                "x-internal-id":"trust-patch",
                "x-filename-id":"trust-patch"
            }
        },
        "/trust/{trustname}/issuer/{issuername}/{tokentype}/trustedkey":{
            "get":{
                "tags":[
                    "Trust/TokenIssuer/TrustedKey"
                ],
                "summary":"Get the TrustedKey",
                "description":"Get the detail of the TrustedKey of a specific TokenIssuer that is identified by {issuername} and {tokentype} in the path variables.",
                "operationId":"trustedKeyGet",
                "consumes":[
                    "application/json"
                ],
                "produces":[
                    "application/json"
                ],
                "parameters":[
                    {
                        "name":"trustname",
                        "in":"path",
                        "description":"Name of the Trust document.",
                        "required":true,
                        "type":"string",
                        "x-example":"myTrustDoc1"
                    },
                    {
                        "name":"issuername",
                        "in":"path",
                        "description":"Name of the TokenIssuer",
                        "required":true,
                        "type":"string",
                        "x-example":"http://abc.com"
                    },
                    {
                        "name":"tokentype",
                        "in":"path",
                        "description":"Token type of the TokenIssuer",
                        "required":true,
                        "type":"string",
                        "x-example":"jwt",
                        "enum":[
                            "jwt",
                            "saml.hok",
                            "saml.sv"
                        ]
                    }
                ],
                "responses":{
                    "200":{
                        "description":"successful operation",
                        "schema":{
                            "$ref":"#/definitions/TrustedKey"
                        }
                    },
                    "400":{
                        "description":"User bad request, please correct input data and try again.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "500":{
                        "description":"Operation failed with unexpected error.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    }
                },
                "x-internal-id":"trust-{trustname}-issuer-{issuername}-{tokentype}-trustedkey-get",
                "x-filename-id":"trust-trustname-issuer-issuername-tokentype-trustedkey-get"
            },
            "post":{
                "tags":[
                    "Trust/TokenIssuer/TrustedKey"
                ],
                "summary":"Create the TrustedKey",
                "description":"for a specific TokenIssuer that is identified by {issuername} and {tokentype} in the path variables.",
                "operationId":"trustedKeyPost",
                "consumes":[
                    "application/json"
                ],
                "produces":[
                    "application/json"
                ],
                "parameters":[
                    {
                        "name":"trustname",
                        "in":"path",
                        "description":"Name of the Trust document.",
                        "required":true,
                        "type":"string",
                        "x-example":"myTrustDoc1"
                    },
                    {
                        "name":"issuername",
                        "in":"path",
                        "description":"Name of the TokenIssuer",
                        "required":true,
                        "type":"string",
                        "x-example":"http://abc.com"
                    },
                    {
                        "name":"tokentype",
                        "in":"path",
                        "description":"Token type of the TokenIssuer",
                        "required":true,
                        "type":"string",
                        "x-example":"jwt",
                        "enum":[
                            "jwt",
                            "saml.hok",
                            "saml.sv"
                        ]
                    },
                    {
                        "in":"body",
                        "name":"trustedKeyObj",
                        "description":"Input data of the TrustedKey",
                        "required":true,
                        "schema":{
                            "$ref":"#/definitions/TrustedKey"
                        },
                        "x-examples":{
                            "applicaton/json":"{'mdurl': 'http://www.google.com',\n 'refreshinterval': '0',\n 'trust':'jwk.jwt'}"
                        }
                    }
                ],
                "responses":{
                    "201":{
                        "description":"successful operation",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "400":{
                        "description":"User bad request, please correct input data and try again.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "500":{
                        "description":"Operation failed with unexpected error.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    }
                },
                "x-internal-id":"trust-{trustname}-issuer-{issuername}-{tokentype}-trustedkey-post",
                "x-filename-id":"trust-trustname-issuer-issuername-tokentype-trustedkey-post"
            },
            "delete":{
                "tags":[
                    "Trust/TokenIssuer/TrustedKey"
                ],
                "summary":"Delete the TrustedKey",
                "description":"of a specific TokenIssuer that is identified by {issuername} and {tokentype} in the path variables.",
                "operationId":"trustedKeyDelete",
                "consumes":[
                    "application/json"
                ],
                "produces":[
                    "application/json"
                ],
                "parameters":[
                    {
                        "name":"trustname",
                        "in":"path",
                        "description":"Name of the Trust document.",
                        "required":true,
                        "type":"string",
                        "x-example":"myTrustDoc1"
                    },
                    {
                        "name":"issuername",
                        "in":"path",
                        "description":"Name of the TokenIssuer",
                        "required":true,
                        "type":"string",
                        "x-example":"http://abc.com"
                    },
                    {
                        "name":"tokentype",
                        "in":"path",
                        "description":"Token type of the TokenIssuer",
                        "required":true,
                        "type":"string",
                        "x-example":"jwt",
                        "enum":[
                            "jwt",
                            "saml.hok",
                            "saml.sv"
                        ]
                    }
                ],
                "responses":{
                    "200":{
                        "description":"successful operation",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "400":{
                        "description":"User bad request, please correct input data and try again.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "500":{
                        "description":"Operation failed with unexpected error.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    }
                },
                "x-internal-id":"trust-{trustname}-issuer-{issuername}-{tokentype}-trustedkey-delete",
                "x-filename-id":"trust-trustname-issuer-issuername-tokentype-trustedkey-delete"
            },
            "patch":{
                "tags":[
                    "Trust/TokenIssuer/TrustedKey"
                ],
                "summary":"Update the TrustedKey",
                "description":"for a specific TokenIssuer that is identified by {issuername} and {tokentype} in the path variables.",
                "operationId":"trustedKeyPut",
                "consumes":[
                    "application/json"
                ],
                "produces":[
                    "application/json"
                ],
                "parameters":[
                    {
                        "name":"trustname",
                        "in":"path",
                        "description":"Name of the Trust document.",
                        "required":true,
                        "type":"string",
                        "x-example":"myTrustDoc1"
                    },
                    {
                        "name":"issuername",
                        "in":"path",
                        "description":"Name of the TokenIssuer",
                        "required":true,
                        "type":"string",
                        "x-example":"http://abc.com"
                    },
                    {
                        "name":"tokentype",
                        "in":"path",
                        "description":"Token type of the TokenIssuer",
                        "required":true,
                        "type":"string",
                        "x-example":"jwt",
                        "enum":[
                            "jwt",
                            "saml.hok",
                            "saml.sv"
                        ]
                    },
                    {
                        "in":"body",
                        "name":"trustedKeyDiffObj",
                        "description":"TrustedKey with modified fields only. The example here shows the mdurl is changed to http://www.newlocation.com and refreshinterval is set to 100",
                        "required":true,
                        "schema":{
                            "$ref":"#/definitions/TrustedKey"
                        },
                        "x-examples":{
                            "applicaton/json":"{'mdurl': 'http://www.newlocation.com',\n 'refreshinterval': '100'}"
                        }
                    }
                ],
                "responses":{
                    "200":{
                        "description":"successful operation",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "400":{
                        "description":"User bad request, please correct input data and try again.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "500":{
                        "description":"Operation failed with unexpected error.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    }
                },
                "x-internal-id":"trust-{trustname}-issuer-{issuername}-{tokentype}-trustedkey-patch",
                "x-filename-id":"trust-trustname-issuer-issuername-tokentype-trustedkey-patch"
            }
        },
        "/trust/{trustname}/attributerule/{issuername}/{identifier}/virtualuser":{
            "get":{
                "tags":[
                    "Trust/TokenAttributeRule/VirtualUser"
                ],
                "summary":"Get VirtualUser",
                "description":"Get the VirtualUser of a sepcific TokenAttributeRule identified by {issuername}/{identifier}  in a named {trustname} Trust document.",
                "operationId":"virtualUserGet",
                "consumes":[
                    "application/json"
                ],
                "produces":[
                    "application/json"
                ],
                "parameters":[
                    {
                        "name":"trustname",
                        "in":"path",
                        "description":"Name of the Trust",
                        "required":true,
                        "type":"string",
                        "x-example":"myTrustDoc1"
                    },
                    {
                        "name":"issuername",
                        "in":"path",
                        "description":"issuername of the TokenAttributeRule",
                        "required":true,
                        "type":"string",
                        "x-example":"http://abc.com"
                    },
                    {
                        "name":"identifier",
                        "in":"path",
                        "description":"identifier of the TokenAttributeRule",
                        "required":true,
                        "type":"string",
                        "x-example":"sampleIdentifier"
                    }
                ],
                "responses":{
                    "200":{
                        "description":"successful operation",
                        "schema":{
                            "$ref":"#/definitions/VirtualUser"
                        }
                    },
                    "400":{
                        "description":"User bad request, please correct input data and try again.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "500":{
                        "description":"Operation failed with unexpected error.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    }
                },
                "x-internal-id":"trust-{trustname}-attributerule-{issuername}-{identifier}-virtualuser-get",
                "x-filename-id":"trust-trustname-attributerule-issuername-identifier-virtualuser-get"
            },
            "post":{
                "tags":[
                    "Trust/TokenAttributeRule/VirtualUser"
                ],
                "summary":"Create VirtualUser",
                "description":"Create the VirtualUser for a sepcific TokenAttributeRule identified by {issuername}/{identifier}  in a named {trustname} Trust document.",
                "operationId":"virtualUserPost",
                "consumes":[
                    "application/json"
                ],
                "produces":[
                    "application/json"
                ],
                "parameters":[
                    {
                        "name":"trustname",
                        "in":"path",
                        "description":"Name of the Trust",
                        "required":true,
                        "type":"string",
                        "x-example":"myTrustDoc1"
                    },
                    {
                        "name":"issuername",
                        "in":"path",
                        "description":"issuername of the TokenAttributeRule",
                        "required":true,
                        "type":"string",
                        "x-example":"http://abc.com"
                    },
                    {
                        "name":"identifier",
                        "in":"path",
                        "description":"identifier of the TokenAttributeRule",
                        "required":true,
                        "type":"string",
                        "x-example":"sampleIdentifier"
                    },
                    {
                        "in":"body",
                        "name":"virtualUserObj",
                        "description":"Input data of the VirtualUser",
                        "required":true,
                        "schema":{
                            "$ref":"#/definitions/VirtualUser"
                        },
                        "x-examples":{
                            "applicaton/json":"{'enabled': 'true',\n 'defaultRoles': ['defaultRole1', 'defaultRole2'],\n 'tokenRoleAttributes':['tokenRoleAttr1', 'tokenRoleAttr2'], \n 'tokenRoleMappings':[{'tokenRole':'tokenRole1', \n                       'mappingRoles': ['mappingRole1', 'mappingRole2']}, \n                      {'tokenRole':'tokenRole2', \n                       'mappingRoles': ['mappingRoleA', 'mappingRoleB']}]}"
                        }
                    }
                ],
                "responses":{
                    "201":{
                        "description":"successful operation",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "400":{
                        "description":"User bad request, please correct input data and try again.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "500":{
                        "description":"Operation failed with unexpected error.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    }
                },
                "x-internal-id":"trust-{trustname}-attributerule-{issuername}-{identifier}-virtualuser-post",
                "x-filename-id":"trust-trustname-attributerule-issuername-identifier-virtualuser-post"
            },
            "delete":{
                "tags":[
                    "Trust/TokenAttributeRule/VirtualUser"
                ],
                "summary":"Delete VirtualUser",
                "description":"Delete the VirtualUser of a sepcific TokenAttributeRule identified by {issuername}/{identifier}  in a named {trustname} Trust document.",
                "operationId":"virtualUserDelete",
                "consumes":[
                    "application/json"
                ],
                "produces":[
                    "application/json"
                ],
                "parameters":[
                    {
                        "name":"trustname",
                        "in":"path",
                        "description":"Name of the Trust",
                        "required":true,
                        "type":"string",
                        "x-example":"myTrustDoc1"
                    },
                    {
                        "name":"issuername",
                        "in":"path",
                        "description":"issuername of the TokenAttributeRule",
                        "required":true,
                        "type":"string",
                        "x-example":"http://abc.com"
                    },
                    {
                        "name":"identifier",
                        "in":"path",
                        "description":"identifier of the TokenAttributeRule",
                        "required":true,
                        "type":"string",
                        "x-example":"sampleIdentifier"
                    }
                ],
                "responses":{
                    "200":{
                        "description":"successful operation",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "400":{
                        "description":"User bad request, please correct input data and try again.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "500":{
                        "description":"Operation failed with unexpected error.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    }
                },
                "x-internal-id":"trust-{trustname}-attributerule-{issuername}-{identifier}-virtualuser-delete",
                "x-filename-id":"trust-trustname-attributerule-issuername-identifier-virtualuser-delete"
            },
            "patch":{
                "tags":[
                    "Trust/TokenAttributeRule/VirtualUser"
                ],
                "summary":"Update VirtualUser",
                "description":"Update the VirtualUser with new field values",
                "operationId":"virtualUserPut",
                "consumes":[
                    "application/json"
                ],
                "produces":[
                    "application/json"
                ],
                "parameters":[
                    {
                        "name":"trustname",
                        "in":"path",
                        "description":"Name of the Trust",
                        "required":true,
                        "type":"string",
                        "x-example":"myTrustDoc1"
                    },
                    {
                        "name":"issuername",
                        "in":"path",
                        "description":"issuername of the TokenAttributeRule",
                        "required":true,
                        "type":"string",
                        "x-example":"http://abc.com"
                    },
                    {
                        "name":"identifier",
                        "in":"path",
                        "description":"identifier of the TokenAttributeRule",
                        "required":true,
                        "type":"string",
                        "x-example":"sampleIdentifier"
                    },
                    {
                        "in":"body",
                        "name":"virtualUserDiffObj",
                        "description":"VirtualUser with only the fields that are changed",
                        "required":true,
                        "schema":{
                            "$ref":"#/definitions/VirtualUser"
                        },
                        "x-examples":{
                            "applicaton/json":"{'enabled': 'false',\n 'defaultRoles': ['newDefaultRole1', 'newDefaultRole2'],\n 'tokenRoleAttributes':['tokenRoleAttr3', 'tokenRoleAttr4'], \n 'tokenRoleMappings':[{'tokenRole':'tokenRole2', \n                       'mappingRoles': ['mappingRoleA', 'mappingRoleB']}]}"
                        }
                    }
                ],
                "responses":{
                    "200":{
                        "description":"successful operation",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "400":{
                        "description":"User bad request, please correct input data and try again.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    },
                    "500":{
                        "description":"Operation failed with unexpected error.",
                        "schema":{
                            "$ref":"#/definitions/ResponseStatus"
                        }
                    }
                },
                "x-internal-id":"trust-{trustname}-attributerule-{issuername}-{identifier}-virtualuser-patch",
                "x-filename-id":"trust-trustname-attributerule-issuername-identifier-virtualuser-patch"
            }
        }
    },
    "definitions":{
        "ResponseStatus":{
            "type":"object",
            "properties":{
                "STATUSCODE":{
                    "type":"string",
                    "example":"20001",
                    "description":"OWSM Rest API status code for operations on various APIs. One can write tests and parse the status code based on the rules below. If you plan to process the status code programmatically, you can access the OWSM source file for the constants defined at: oracle.wsm.resources.rest.RestMessageID.java. Status Code Pattern:first digit from left indicates the operation status, 2=successful, 4=failed last digit indicate operation 1=POST, 2=PUT, 3=GET, 4=DELETE, 5=DELETE NONE. second, third, fourth digits from left are used for OWSM Rest API Resource types: 000=PolicySet, 001=PolicyReference, 002=ConfigOverride, 003=Configuration, 004=Repository (not used yet),  005=Trust, 006=Issuer, 007=TrustedKey, 008=KeyIdentifier, 009=RelyingParty, 010=AttributeRule,  011=Attribute, 012=VirtualUser, 013=RoleMapping, 014=Mapping, 015=NamedID, 016=DiscoveryInfo, 017=Proxy",
                    "enum":[
                        "20001",
                        "20002",
                        "20003",
                        "20004",
                        "20005",
                        "20011",
                        "20012",
                        "20013",
                        "20014",
                        "20021",
                        "20023",
                        "20024",
                        "20032",
                        "20033",
                        "20034",
                        "20035",
                        "20042",
                        "20043",
                        "20044",
                        "20051",
                        "20052",
                        "20053",
                        "20054",
                        "20055",
                        "20061",
                        "20062",
                        "20063",
                        "20064",
                        "20065",
                        "20071",
                        "20072",
                        "20073",
                        "20074",
                        "20075",
                        "20081",
                        "20082",
                        "20083",
                        "20084",
                        "20085",
                        "20091",
                        "20092",
                        "20093",
                        "20094",
                        "20095",
                        "20101",
                        "20102",
                        "20103",
                        "20104",
                        "20105",
                        "20111",
                        "20112",
                        "20113",
                        "20114",
                        "20115",
                        "20121",
                        "20122",
                        "20123",
                        "20124",
                        "20125",
                        "20131",
                        "20132",
                        "20133",
                        "20134",
                        "20135",
                        "20141",
                        "20142",
                        "20143",
                        "20144",
                        "20145",
                        "20151",
                        "20152",
                        "20153",
                        "20154",
                        "20155",
                        "20161",
                        "20162",
                        "20163",
                        "20164",
                        "20165",
                        "20171",
                        "20172",
                        "20173",
                        "20174",
                        "20175",
                        "40001",
                        "40002",
                        "40003",
                        "40004",
                        "40011",
                        "40012",
                        "40013",
                        "40014",
                        "40021",
                        "40023",
                        "40024",
                        "40032",
                        "40033",
                        "40042",
                        "40043",
                        "40044",
                        "40051",
                        "40052",
                        "40053",
                        "40054",
                        "40061",
                        "40062",
                        "40063",
                        "40064",
                        "40071",
                        "40072",
                        "40073",
                        "40074",
                        "40081",
                        "40082",
                        "40083",
                        "40084",
                        "40091",
                        "40092",
                        "40093",
                        "40094",
                        "40101",
                        "40102",
                        "40103",
                        "40104",
                        "40111",
                        "40112",
                        "40113",
                        "40114",
                        "40121",
                        "40122",
                        "40123",
                        "40124",
                        "40131",
                        "40132",
                        "40133",
                        "40134",
                        "40141",
                        "40142",
                        "40143",
                        "40144",
                        "40151",
                        "40152",
                        "40153",
                        "40154",
                        "40161",
                        "40162",
                        "40163",
                        "40164",
                        "40171",
                        "40172",
                        "40173",
                        "40174"
                    ]
                },
                "MESSAGE":{
                    "type":"string",
                    "example":"PolicySets [myPolicyset1, myPolicyset2] are successfully created.",
                    "description":"Detail message of the response, if response is successful, its a confirmation, otherwise it is an error message indicating the root cause."
                }
            },
            "description":"ResponseStatus model object."
        },
        "AttributeMapping":{
            "type":"object",
            "required":[
                "userAttribute",
                "userMappingAttribute"
            ],
            "properties":{
                "userAttribute":{
                    "type":"string",
                    "example":"myUserAttr1",
                    "description":"User attribute"
                },
                "userMappingAttribute":{
                    "type":"string",
                    "example":"myUserMappingAttr1",
                    "description":"User mapping attribute."
                }
            },
            "description":"AttributeMapping Model Object."
        },
        "TokenAttribute":{
            "type":"object",
            "required":[
                "name"
            ],
            "properties":{
                "filter":{
                    "type":"array",
                    "example":"['filter1', 'filter2']",
                    "description":"Filter",
                    "items":{
                        "type":"string"
                    }
                },
                "mapping":{
                    "description":"The AttributeMappingsub object",
                    "$ref":"#/definitions/AttributeMapping"
                },
                "name":{
                    "type":"string",
                    "example":"myTokenAttributeName1",
                    "description":"Name of a TokenAttribute"
                }
            },
            "description":"TokenAttribute Model Object"
        },
        "ConfigOverride":{
            "type":"object",
            "required":[
                "name",
                "value"
            ],
            "properties":{
                "name":{
                    "type":"string",
                    "example":"csf-key",
                    "description":"Name of the property to be over written."
                },
                "value":{
                    "type":"string",
                    "example":"myEncryptCsfkey",
                    "description":"New value of the property used to override."
                }
            },
            "description":"ConfigOverride Model Object."
        },
        "ConfigurationProperty":{
            "type":"object",
            "required":[
                "name",
                "values"
            ],
            "properties":{
                "name":{
                    "type":"string",
                    "example":"agent.clock.skew",
                    "description":"Name of a system predefined configuration property or properties. It is unique within a category. Names of properties and their values are predefined by the system, users cannot add or remove configuration properties; they can modify them by either overwriting the default values or reverting overwritten values back to the system original default. "
                },
                "category":{
                    "type":"string",
                    "description":"Category of a configuration property. This field is set automatically by the system when default configuration properties are set users cannot modify the value of this field.",
                    "enum":[
                        "Agent",
                        "BeanAccessor",
                        "ConfigManager",
                        "DigestLoginModule",
                        "Identity",
                        "IssuedToken",
                        "KerberosLoginModule",
                        "KeystoreConfig",
                        "SAML2LoginModule",
                        "SAMLLoginModule",
                        "TokenIssuerTrust",
                        "SecureConversation",
                        "STSConfig",
                        "SubjectProperties",
                        "UsernameAssertionLoginModule",
                        "WSSDigestLoginModule",
                        "X509LoginModule"
                    ]
                },
                "values":{
                    "type":"array",
                    "example":"['5000']",
                    "description":"A list of values of a configuration property, default value is given by the system, one can override with new value by calling PUT method.",
                    "items":{
                        "type":"string"
                    }
                },
                "source":{
                    "type":"string",
                    "description":"This feild is set automatically by the system. Users do not modify the value of this fieldduring updating a property value. If the property has the system default value then it shows as 'default' otherwise this field shows the domain context which property value is being reset. Domain context is composed of /{platformName}/{domainName}."
                }
            },
            "description":"ConfigurationProperty model object."
        },
        "DiscoveryInfo":{
            "type":"object",
            "properties":{
                "baseUrl":{
                    "type":"string",
                    "description":"URL of the Issuer, must be in the form of a URL. It is required only if discoveryUrl is not set."
                },
                "discoveryUrl":{
                    "type":"string",
                    "description":"URL that indicates where to discover the Issuer, must be in the form of a URL. It is required only if baseUrl is not set."
                },
                "idcsClientCsfkey":{
                    "type":"string",
                    "description":"IDCS Client csf-key, only valid if Issuer is IDCS"
                },
                "idcsClientTenant":{
                    "type":"string",
                    "description":"IDCS Client tenant, only valid if Issuer is IDCS"
                }
            },
            "description":"DiscoveryInfo Model Object."
        },
        "KeyIdentifier":{
            "type":"object",
            "required":[
                "keytype",
                "value",
                "valuetype"
            ],
            "properties":{
                "keytype":{
                    "type":"string",
                    "example":"x509certificate",
                    "description":"Key type of an KeyIdentifier. It must be one of the predefined allowable values, which one is valid depends on its Issuer's token type. The valid combinations are: \n1. keytype must bex509certificate if its parent TokenIssuer is either saml.hok or saml.sv.\n2. keytype can be x509certificate,symmetricKey or publicKey if its parent TokenIssuer is jwt.\n",
                    "enum":[
                        "x509certificate",
                        "symmetricKey",
                        "publicKey"
                    ]
                },
                "valuetype":{
                    "type":"string",
                    "description":"Value type of an KeyIdentifier, First it must be one of the predefined allowable values, and second, which one is valid depends on its corresponding field keytype The valid combinations are: \n it can be dn or alias if its keytype is x509certificate\n it can only be csfkey if its keytype is symmetricKey\n it can only be kid if its keytype is publicKey\n",
                    "enum":[
                        "dn",
                        "alias",
                        "csfkey",
                        "kid"
                    ]
                },
                "value":{
                    "type":"string",
                    "description":"Value of an KeyIdentifier"
                },
                "enabled":{
                    "type":"string",
                    "description":"ture indicates KeyIdentifier is enabled, false otherwise, default is true.",
                    "enum":[
                        "true",
                        "false"
                    ]
                }
            },
            "description":"KeyIdentifier Model Object."
        },
        "RelyingParty":{
            "type":"object",
            "required":[
                "rptype",
                "rpvalue"
            ],
            "properties":{
                "rptype":{
                    "type":"string",
                    "example":"liberal",
                    "description":"Type of a RelyingParty.",
                    "enum":[
                        "csfkey",
                        "literal"
                    ]
                },
                "rpvalue":{
                    "type":"string",
                    "description":"Value of a RelyingParty."
                }
            },
            "description":"RelyingParty Model Object."
        },
        "TokenIssuer":{
            "type":"object",
            "required":[
                "issuername",
                "tokentype"
            ],
            "properties":{
                "issuername":{
                    "type":"string",
                    "example":"http://abc.com",
                    "description":"Name of a TokenIssuer. It is one of the unique identifier used to identify a TokenIssuer"
                },
                "tokentype":{
                    "type":"string",
                    "example":"jwt",
                    "description":"Type of the Issuer's token, must be one of the predefine values.",
                    "enum":[
                        "jwt",
                        "saml.hok",
                        "saml.sv"
                    ]
                },
                "enabled":{
                    "type":"string",
                    "example":"true",
                    "description":"Indicates if an Issuer is enabled or not.",
                    "enum":[
                        "true",
                        "false"
                    ]
                },
                "discoveryinfo":{
                    "description":"The DiscoveryInfo sub object",
                    "$ref":"#/definitions/DiscoveryInfo"
                },
                "trustedkey":{
                    "description":"The TrustedKeysub object",
                    "$ref":"#/definitions/TrustedKey"
                },
                "relyingparties":{
                    "type":"array",
                    "description":"The list of all RelyingParty sub objects",
                    "items":{
                        "$ref":"#/definitions/RelyingParty"
                    }
                }
            },
            "description":"TokenIssuer Model Object"
        },
        "TrustedKey":{
            "type":"object",
            "properties":{
                "mdurl":{
                    "type":"string",
                    "description":"Metadata URL of a TrustedKey. This field is only valid when the tokentype of its SwaggerObject.TOKENISSUER is jwt."
                },
                "refreshinterval":{
                    "type":"string",
                    "description":"An integer value indicates how often key identifiers need to be refetched from location specified by field mdurl"
                },
                "trust":{
                    "type":"string",
                    "description":"Trust type of TrustedKey. This field is only valid when the tokentype of its SwaggerObject.TOKENISSUER is jwt. and mdurl is set. It must be one of the allowed predefined value.",
                    "enum":[
                        "dns.jwt",
                        "jwk.jwt",
                        "idcs.dns.jwt",
                        "idcs.jwk.jwt"
                    ]
                },
                "keystype":{
                    "type":"string",
                    "readOnly":true
                },
                "keys":{
                    "type":"string",
                    "readOnly":true
                },
                "keyidentifiers":{
                    "type":"array",
                    "description":"A list of KeyIdentifier sub objects. They are either fetched from location that is specified by mdurl or being manually added.",
                    "items":{
                        "$ref":"#/definitions/KeyIdentifier"
                    }
                }
            },
            "description":"TrustedKey Model Object."
        },
        "NameId":{
            "type":"object",
            "required":[
                "name"
            ],
            "properties":{
                "filter":{
                    "type":"array",
                    "example":"['filter1', 'filter2']",
                    "description":"Filter",
                    "items":{
                        "type":"string"
                    }
                },
                "mapping":{
                    "description":"The AttributeMappingsub object",
                    "$ref":"#/definitions/AttributeMapping"
                },
                "name":{
                    "type":"string",
                    "example":"myTokenAttributeName1",
                    "description":"Name of a NameId"
                }
            },
            "description":"NameId Model Object"
        },
        "PolicyReference":{
            "type":"object",
            "required":[
                "uri"
            ],
            "properties":{
                "uri":{
                    "type":"string",
                    "example":"oracle/wss_username_token_service_policy",
                    "description":"URI of a policy attached or to be attached to a named PolicySet"
                },
                "status":{
                    "type":"string",
                    "example":"enabled",
                    "description":"The status indicating if the policy attachment is in effective, it is effective if the status is enabled, is ineffective otherwise. If it is omitted during creation, it is treated as enabled.",
                    "enum":[
                        "enabled",
                        "disabled"
                    ]
                },
                "source":{
                    "type":"string",
                    "description":"Source that indicates if its Global or Tenant "
                },
                "configOverrides":{
                    "type":"array",
                    "description":"A list of ConfigOverrides that apply to this particular PolicyReference (also called policy attachment) only.",
                    "items":{
                        "$ref":"#/definitions/ConfigOverride"
                    }
                },
                "category":{
                    "type":"string"
                }
            },
            "description":"PolicyReference model object."
        },
        "PolicySet":{
            "type":"object",
            "required":[
                "name",
                "scope",
                "type"
            ],
            "properties":{
                "name":{
                    "type":"string",
                    "example":"myPolicySet1",
                    "description":"Name of a PolicySet. It is a unique identifier used to identify a PolicySet"
                },
                "type":{
                    "type":"string",
                    "example":"ws-service",
                    "description":"The type of policy subject to which the policy set applies. The type of policy subject must be one of the allowable values.",
                    "enum":[
                        "sca-component",
                        "sca-reference",
                        "sca-rest-reference",
                        "sca-rest-service",
                        "sca-service",
                        "sca-jca-service",
                        "sca-jca-reference",
                        "ws-service",
                        "ws-client",
                        "ws-connection",
                        "ws-callback",
                        "job-callback",
                        "job-invoke",
                        "job-rest-invoke",
                        "job-rest-service",
                        "rest-connection",
                        "rest-client",
                        "rest-resource",
                        "business-jca-service",
                        "business-rest-service",
                        "business-service",
                        "proxy-jca-service",
                        "proxy-rest-service",
                        "proxy-service"
                    ]
                },
                "scope":{
                    "type":"string",
                    "example":"Domain('*')",
                    "description":"Expression that represents the scope of resources to which the policy set will be attached. The scope expression must conform to function format <function>('<argument>') where function determines the characteristics for the policy subject. example:\"Domain('base_domain')\". A function could be one of the following listed in the allowable values. Each function may appear only once, but multiple functions can be provided by separating them with the standard \"and\" operator. Each function accepts a single argument which must be provided and this argument will be interpreted as a string that would be matched against the corresponding characteristic of the policy subject. The special character \"*\" may be used as wildcard character to indicate that any number of characters may occur in its place and this character may occur any number of times and at any position within the argument string. Example: Domain('*')",
                    "enum":[
                        "Domain('expression')",
                        "Application('expression')",
                        "Partition('expression')",
                        "Module('expression')",
                        "Composite('expression')",
                        "Jobname('expression')",
                        "Path('expression')",
                        "Reference('expression')",
                        "Service('expression')",
                        "Component('expression')",
                        "Port('expression')",
                        "EJBName('expression')",
                        "PortType('expression')"
                    ]
                },
                "description":{
                    "type":"string",
                    "example":"This is the policy set one",
                    "description":"Description of a PolicySet"
                },
                "status":{
                    "type":"string",
                    "example":"enabled",
                    "description":"Status of a PolicySet that specifies whether a PolicySet is enabled. If you omit it during creation, the PolicySet is enabled.",
                    "enum":[
                        "enabled",
                        "disabled"
                    ]
                },
                "constraint":{
                    "type":"string",
                    "example":"HTTPHeader('VIRTUAL_HOST_TYPE', 'external')",
                    "description":"Constraint of a PolicySet, it can have a constraint set against http request header, for now we have VIRTUAL_HOST_TYPE and its value can be either external or internal.",
                    "enum":[
                        "HTTPHeader(\"VIRTUAL_HOST_TYPE\": \"external\")",
                        "HTTPHeader(\"VIRTUAL_HOST_TYPE\": \"internal\")"
                    ]
                },
                "policyReferences":{
                    "type":"array",
                    "description":"PolicyReference sub objects of a PolicySet. This is a list of all the PolicyReferences of a PolicySet. A PolicyReference is the same as a policy attachement. ",
                    "items":{
                        "$ref":"#/definitions/PolicyReference"
                    }
                },
                "configOverrides":{
                    "type":"array",
                    "description":"ConfigOverride sub objects of a PolicySet. This is a list of all the unscoped ConfigOverride of a PolicySet. These override properties are not scoped to a specific PolicyReference; they should apply to all PolicyReferences.",
                    "items":{
                        "$ref":"#/definitions/ConfigOverride"
                    }
                }
            },
            "description":"PolicySet Model Object."
        },
        "Proxy":{
            "type":"object",
            "properties":{
                "proxyhost":{
                    "type":"string",
                    "description":"The host of a Proxy in a TokenAttributeRule"
                },
                "proxyport":{
                    "type":"string",
                    "description":"The port of a Proxy in a TokenAttributeRule"
                }
            },
            "description":"Proxy Model Object."
        },
        "TokenRoleMapping":{
            "type":"object",
            "required":[
                "mappingRoles",
                "tokenRole"
            ],
            "properties":{
                "tokenRole":{
                    "type":"string",
                    "example":"sampleTRole1",
                    "description":"Role of the token."
                },
                "mappingRoles":{
                    "type":"array",
                    "example":"['roleMapping1', 'roleMpping2']",
                    "description":"List of role mappings.",
                    "items":{
                        "type":"string"
                    }
                }
            },
            "description":"TokenRoleMapping Model Object."
        },
        "TokenAttributeRule":{
            "type":"object",
            "required":[
                "identifier",
                "issuername"
            ],
            "properties":{
                "issuername":{
                    "type":"string",
                    "example":"http://abc.com",
                    "description":"Name of the token issuer of a TokenAttributeRule. It is one of the two unique identifiers used to identify a TokenAttributeRule"
                },
                "identifier":{
                    "type":"string",
                    "example":"identifier1",
                    "description":"Identifier of a TokenAttributeRule. It is one of the two unique identifiers used to identify a TokenAttributeRule"
                },
                "proxy":{
                    "example":"true",
                    "description":"The Proxy sub object",
                    "$ref":"#/definitions/Proxy"
                },
                "virtualuser":{
                    "description":"The VirtualUser sub object",
                    "$ref":"#/definitions/VirtualUser"
                },
                "nameid":{
                    "description":"The NameIdsub object",
                    "$ref":"#/definitions/NameId"
                },
                "attributes":{
                    "type":"array",
                    "description":"The list of all TokenAttribute sub objects",
                    "items":{
                        "$ref":"#/definitions/TokenAttribute"
                    }
                }
            },
            "description":"TokenAttributeRule Model Object"
        },
        "VirtualUser":{
            "type":"object",
            "properties":{
                "enabled":{
                    "type":"string",
                    "example":"true",
                    "description":"Indicates if a VirtualUser is enabled or not.",
                    "enum":[
                        "true",
                        "false"
                    ]
                },
                "defaultRoles":{
                    "type":"array",
                    "description":"An array of default roles of a VirtualUser",
                    "items":{
                        "type":"string"
                    }
                },
                "tokenRoleMappings":{
                    "type":"array",
                    "description":"A list of TokenRoleMapping sub objects",
                    "items":{
                        "$ref":"#/definitions/TokenRoleMapping"
                    }
                },
                "tokenRoleAttributes":{
                    "type":"array",
                    "items":{
                        "type":"string"
                    }
                }
            },
            "description":"VirtualUser Model Object."
        },
        "Trust":{
            "type":"object",
            "required":[
                "displayname",
                "trustname"
            ],
            "properties":{
                "trustname":{
                    "type":"string",
                    "example":"myFirstTrustDoc",
                    "description":"Name of a Trust document. It is the unique identifier used to identify a Trust"
                },
                "displayname":{
                    "type":"string",
                    "example":"display name 1",
                    "description":"The display name of a Trust document"
                },
                "issuers":{
                    "type":"array",
                    "description":"The list of all TokenIssuer sub objects",
                    "items":{
                        "$ref":"#/definitions/TokenIssuer"
                    }
                },
                "tokenAttributeRules":{
                    "type":"array",
                    "description":"The list of all TokenAttributeRule sub objects",
                    "items":{
                        "$ref":"#/definitions/TokenAttributeRule"
                    }
                }
            },
            "description":"Trust Model Object"
        }
    }
}