Newer
Older
# API Actions
Most entities support the following actions:
## create
Insert or update one record. (Note: If an `id` is specified, then an
## delete
Delete one record. (Note: Requires an explicit `id`. Note: if you
want to skip the 'recycle bin' for entities that support undelete (e.g.
contacts) you should set `$param['skip_undelete'] => 1);`
## getsingle
Search for records and return the first or only match. (Note: This
returns the record in a simplified format which is easy to use)
## getvalue
Does a `getsingle` and returns a single value - you need to also set
`$param['return'] => 'fieldname'`.
## getcount
Search for records and return the quantity. (Note: In many cases in
early versions queries are limited to 25 so this may not always be
accurate)
## getrefcount
Counts the number of references to a record
## getfields
Fetch entity metadata, i.e. the list of fields supported by the entity
## getlist
Used for autocomplete lookups by the
[entityRef](https://wiki.civicrm.org/confluence/display/CRMDOC/EntityRef+Fields) widget
## getoptions
Returns the options for a specified field e.g.
```php
```
```php
1 => 'Female',
2 => 'Male',
```
## replace
Replace an old set of records with a new or modified set of records.
(For example, replace the set of "Phone" numbers with a different set of
"Phone" numbers.).
Warning - REPLACE includes an implicit delete - use with care & test well
before using in productions
## <del>setvalue</del>
**Deprecated.** Use the create action with the param 'id' instead.
## <del>update</del>
**Deprecated.** Use the create action with the param 'id' instead.