diff --git a/doc/gatt-api.txt b/doc/gatt-api.txt
index de7f2d9..67938d0 100644
--- a/doc/gatt-api.txt
+++ b/doc/gatt-api.txt
which a PropertiesChanged signal will be emitted.
+Profile hierarcy
+================
+
+Local profile (GATT client) instance. By registering this type of object
+an application effectively indicates support for a specific GATT profile
+and requests automatic connections to be established to devices
+supporting it.
+
+Service <application dependent>
+Interface org.bluez.GattProfile1 [Experimental]
+Object path <application dependent>
+
+Methods void Release()
+
+ This method gets called when the service daemon
+ unregisters the profile. The profile can use it to
+ do cleanup tasks. There is no need to unregister the
+ profile, because when this method gets called it has
+ already been unregistered.
+
GATT Manager hierarchy
======================
Possible errors: org.bluez.Error.InvalidArguments
org.bluez.Error.DoesNotExist
+
+ void RegisterProfile(object profile, array{string} UUIDs,
+ dict options)
+
+ Registers a GATT (client role) profile exported
+ under interface GattProfile1. The array of UUIDs
+ specifies the mandatory set of remote service
+ UUIDs that should all be available for the
+ remote device to match this profile. Matching
+ devices will be added to the auto-connection
+ list and connected whenever available.
+
+ Possible errors: org.bluez.Error.InvalidArguments
+ org.bluez.Error.AlreadyExists
+
+ void UnregisterProfile(object profile)
+
+ This unregisters the profile that has been
+ previously registered. The object path parameter
+ must match the same value that has been used
+ on registration.
+
+ Possible errors: org.bluez.Error.InvalidArguments
+ org.bluez.Error.DoesNotExist