Next: Using the mapping API, Previous: Extracting agenda information, Up: Hacking

### A.9 Using the property API

Here is a description of the functions that can be used to work with properties.

— Function: org-entry-properties &optional pom which

> Get all properties of the entry at point-or-marker POM.
> This includes the TODO keyword, the tags, time strings for deadline, scheduled, and clocking, and any additional properties defined in the entry. The return value is an alist. Keys may occur multiple times if the property key was used several times.
> POM may also be nil, in which case the current entry is used. If WHICH is nil or `all', get all properties. If WHICH is `special' or `standard', only get that subclass.

— Function: org-entry-get pom property &optional inherit

> Get value of PROPERTY for entry at point-or-marker POM. By default, this only looks at properties defined locally in the entry. If INHERIT is non-nil and the entry does not have the property, then also check higher levels of the hierarchy. If INHERIT is the symbol `selective`, use inheritance if and only if the setting of `org-use-property-inheritance` selects PROPERTY for inheritance.

— Function: org-entry-delete pom property

> Delete the property PROPERTY from entry at point-or-marker POM.

— Function: org-entry-put pom property value

> Set PROPERTY to VALUE for entry at point-or-marker POM.

— Function: org-buffer-property-keys &optional include-specials

> Get all property keys in the current buffer.

— Function: org-insert-property-drawer

> Insert a property drawer at point.

— Function: org-entry-put-multivalued-property pom property &rest values

> Set PROPERTY at point-or-marker POM to VALUES. VALUES should be a list of strings. They will be concatenated, with spaces as separators.

— Function: org-entry-get-multivalued-property pom property

> Treat the value of the property PROPERTY as a whitespace-separated list of values and return the values as a list of strings.

— Function: org-entry-add-to-multivalued-property pom property value

> Treat the value of the property PROPERTY as a whitespace-separated list of values and make sure that VALUE is in this list.

— Function: org-entry-remove-from-multivalued-property pom property value

> Treat the value of the property PROPERTY as a whitespace-separated list of values and make sure that VALUE is not in this list.

— Function: org-entry-member-in-multivalued-property pom property value

> Treat the value of the property PROPERTY as a whitespace-separated list of values and check if VALUE is in this list.

— User Option: org-property-allowed-value-functions

> Hook for functions supplying allowed values for a specific property. The functions must take a single argument, the name of the property, and return a flat list of allowed values. If ‘`:ETC`’ is one of the values, use the values as completion help, but allow also other values to be entered. The functions must return `nil` if they are not responsible for this property.