API Extensions

The Identity service deploys API extensions to add user and administrative features to the core OpenStack Keystone v2.0 API. You can use the following Extensions resource operations to query the API service endpoint for information about the extensions available for the specified service.

List extensions

GET /v2.0/extensions

This operations lists the Identity API extensions that are available in the Identity service. For more information, see the Extensions section of the Identity Developer Guide.

Applications can programatically determine which extensions are available by issuing a GET on the /extensions URI.

This table shows the possible response codes for this operation:

Response CodeNameDescription
200OK
400Bad RequestThe request is missing one or more elements, or the values of some elements are invalid.
401UnauthorizedYou are not authorized to complete this operation. This error can occur if the request is submitted with an invalid authentication token.
403ForbiddenThe request was valid, but the server is refusing to respond because you do not have permission to access the requested resource. Submit a request to your account administrator to determine how to gain access.
405Invalid MethodThe method specified in the request is not valid for the resource identified in the request URI.
413Over LimitThe number of items returned is above the allowed limit.
503Service FaultService is not available.

Request

This operation does not accept a request body.

Response

Example: List Extensions response: JSON

{
    "extensions":[{
            "name":"Reset Password Extension",
            "namespace":"http://docs.rackspacecloud.com/identity/api/ext/rpe/v2.0",
            "alias":"RS-RPE",
            "updated":"2011-01-22T13:25:27-06:00",
            "description":"Adds the capability to reset a user's password. The user is emailed when the password has been reset.",
            "links":[{
                    "rel":"describedby",
                    "type":"application/pdf",
                    "href":"http://docs.rackspacecloud.com/identity/api/ext/identity-rpe-20111111.pdf"
                },
                {
                    "rel":"describedby",
                    "type":"application/vnd.sun.wadl+xml",
                    "href":"http://docs.rackspacecloud.com/identity/api/ext/identity-rpe.wadl"
                }
            ]
        },
        {
            "name":"User Metadata Extension",
            "namespace":"http://docs.rackspacecloud.com/identity/api/ext/meta/v2.0",
            "alias":"RS-META",
            "updated":"2011-01-12T11:22:33-06:00",
            "description":"Allows associating arbritrary metadata with a user.",
            "links":[{
                    "rel":"describedby",
                    "type":"application/pdf",
                    "href":"http://docs.rackspacecloud.com/identity/api/ext/identity-meta-20111201.pdf"
                },
                {
                    "rel":"describedby",
                    "type":"application/vnd.sun.wadl+xml",
                    "href":"http://docs.rackspacecloud.com/identity/api/ext/identity-meta.wadl"
                }
            ]
        }
    ],
    "extensions_links":[]
}

Example: List Extensions response: XML

<?xml version="1.0" encoding="UTF-8"?>

<extensions xmlns="http://docs.openstack.org/common/api/v1.0"
            xmlns:atom="http://www.w3.org/2005/Atom">  
    <extension
        name="Reset Password Extension"
        namespace="http://docs.rackspacecloud.com/identity/api/ext/rpe/v1.0"
        alias="RS-RPE"
        updated="2011-01-22T13:25:27-06:00">


    <description>
        Adds the capability to reset a user's password.  The user is
        emailed when the password has been reset.
    </description>

    <atom:link rel="describedby"
               type="application/pdf"
               href="http://docs.rackspacecloud.com/identity/api/ext/identity-rpe-20111111.pdf"/>
    <atom:link rel="describedby"
               type="application/vnd.sun.wadl+xml"
               href="http://docs.rackspacecloud.com/identity/api/ext/identity-rpe.wadl"/>
</extension>
<extension
    name="User Metadata Extension"
    namespace="http://docs.rackspacecloud.com/identity/api/ext/meta/v2.0"
    alias="RS-META"
    updated="2011-01-12T11:22:33-06:00">
    <description>
        Allows associating arbritrary metadata with a user.
    </description>

    <atom:link rel="describedby"
               type="application/pdf"
               href="http://docs.rackspacecloud.com/identity/api/ext/identity-meta-20111201.pdf"/>
    <atom:link rel="describedby"
               type="application/vnd.sun.wadl+xml"
               href="http://docs.rackspacecloud.com/identity/api/ext/identity-meta.wadl"/>
</extension>

Get extension details

GET /v2.0/extensions/{alias}

This operation returns detailed information about the specified extension.

Get information about a specific extension by looking up the unique alias.

If an extension is not available, the GET extensions operation returns a 404 error message. For a list of aliases, see Extensions.

This table shows the possible response codes for this operation:

Response CodeNameDescription
200OKThe operation completed successfully.
400Bad RequestThe request is missing one or more elements, or the values of some elements are invalid.
401UnauthorizedYou are not authorized to complete this operation. This error can occur if the request is submitted with an invalid authentication token.
403ForbiddenThe request was valid, but the server is refusing to respond because you do not have permission to access the requested resource. Submit a request to your account administrator to determine how to gain access.
404Not FoundThe requested resource was not found.
405Invalid MethodThe method specified in the request is not valid for the resource identified in the request URI.
413Over LimitThe number of items returned is above the allowed limit.
503Service FaultService is not available.

Request

This table shows the URI parameters for the request:

NameTypeDescription
{alias}StringThe extension name.

This operation does not accept a request body.

Response

Example: Get extension details: JSON response

{  
  "extension": {  
    "name": "User Metadata Extension",  
    "namespace": "<http://docs.rackspacecloud.com/identity/api/ext/meta/v2.0">,  
    "alias": "RS-META",  
    "updated": "2011-01-12T11:22:33-06:00",  
    "description": "Allows associating arbritrary metadata with a user.",  
    "links": [  
      {  
        "rel": "describedby",  
        "type": "application/pdf",  
        "href": "<http://docs.rackspacecloud.com/identity/api/ext/identity-meta-20111201.pdf>"  
      }, {  
        "rel": "describedby",  
        "type": "application/vnd.sun.wadl+xml",  
        "href": "<http://docs.rackspacecloud.com/identity/api/ext/identity-cbs.wadl>"  
      }  
    ]  
  }  
}

Example: Get extension details: XML response

<?xml version="1.0" encoding="UTF-8"?>

<extension xmlns="http://docs.openstack.org/common/api/v1.0"
           xmlns:atom="http://www.w3.org/2005/Atom"
           name="User Metadata Extension"
           namespace="http://docs.rackspacecloud.com/identity/api/ext/meta/v2.0"
           alias="RS-META"
           updated="2011-01-12T11:22:33-06:00">
<description>
    Allows associating arbritrary metadata with a user.
</description>

<atom:link rel="describedby"
           type="application/pdf"
           href="http://docs.rackspacecloud.com/identity/api/ext/identity-meta-20111201.pdf"/>
<atom:link rel="describedby"
           type="application/vnd.sun.wadl+xml"
           href="http://docs.rackspacecloud.com/identity/api/ext/identity-meta.wadl"/>

</extension>