API documentation
A contact can have as many contact fields as possible. Each contact field has a type: a phone number, email address, Twitter profile, Telegram nickname, etc... Each one of these means of communication is called a Contact Field Type. A contact can have as many contact field types as necessary.
Contact field types are account wide, and will be applied to all contacts. Also, if a contact field type is deleted, Monica will delete all the Contact Field objects that have the deleted contact field type associated with it.
A contact field type can have an icon. This icon will be displayed next to the
contact field. It has to be a FontAwesome icon and
the data we need is the class name of this icon (like fa fa-envelope-open-o
for instance).
A contact field type can also have a protocol. The protocol is used to make the
contact field clickable and launch whatever protocol the contact field type
has. For instance, if the contact field type is a phone number, the protocol
will be tel:. We'll add this when displaying the phone number, in order for
the browser to know which actions it should take when the user clicks on it.
A contact field type can be delible, meaning that it's impossible to delete
it. This concept exists because in the case of an import of data for instance,
vCard assumes you have a phone number and an email address fields. Moreover, as
the name of a contact field type can change, the type column is there to
indicate the type of contact field.
GET /contactfieldtypes/
{
"data": [
{
"id": 1,
"object": "contactfieldtype",
"name": "Email",
"fontawesome_icon": "fa fa-envelope-open-o",
"protocol": "mailto:",
"delible": false,
"type": "email",
"account": {
"id": 1
},
"created_at": "2017-11-22T12:51:10Z",
"updated_at": "2017-11-22T12:51:10Z"
},
{
"id": 2,
"object": "contactfieldtype",
"name": "Phone",
"fontawesome_icon": "fa fa-volume-control-phone",
"protocol": "tel:",
"delible": false,
"type": "phone",
"account": {
"id": 1
},
"created_at": "2017-11-22T12:51:10Z",
"updated_at": "2017-11-22T12:51:10Z"
},
{
"id": 3,
"object": "contactfieldtype",
"name": "Facebook",
"fontawesome_icon": "fa fa-facebook-official",
"protocol": null,
"delible": true,
"type": null,
"account": {
"id": 1
},
"created_at": "2017-11-22T12:51:10Z",
"updated_at": "2017-11-22T12:51:10Z"
}
],
"links": {
"first": "https:\/\/app.monicahq.com\/api\/contactfieldtypes?page=1",
"last": "https:\/\/app.monicahq.com\/api\/contactfieldtypes?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"path": "https:\/\/app.monicahq.com\/api\/contactfieldtypes",
"per_page": 10,
"to": 3,
"total": 3
}
}
GET /contactfieldtypes/:id
{
"data": {
"id": 1,
"object": "contactfieldtype",
"name": "Email",
"fontawesome_icon": "fa fa-envelope-open-o",
"protocol": "mailto:",
"delible": false,
"type": "email",
"account": {
"id": 1
},
"created_at": "2017-11-22T12:51:10Z",
"updated_at": "2017-11-22T12:51:10Z"
}
}
POST /contactfieldtypes/
| Name | Type | Description |
|---|---|---|
| name | string | Required. A short description of the contact field type. Max 255 characters. |
| fontawesome_icon | string | The class name of the Fontawesome icon that will be used when displaying the contact field. Max 255 characters. |
| protocol | string | The protocol (ie mailto:, tel:) used when clicking the contact field in the UI. Max 255 characters. |
| delible | integer | Indicates whether the contact field type can be deleted. Possible values: 0 (false), 1 (true). |
| type | string | Used on special occasions so we can manipulate data in the backend. Most of the time it has be set to null. Max 255 characters. |
{
"name": "Telegram",
"fontawesome_icon": "fa fa-bath",
"protocol": "telegram:",
"delible": 1,
"type": null
}
The API call returns a contact field type object if the call succeeds.
{
"data": {
"id": 37305,
"object": "contactfieldtype",
"name": "Telegram",
"fontawesome_icon": "fa fa-bath",
"protocol": "telegram:",
"delible": true,
"type": null,
"account": {
"id": 1
},
"created_at": "2017-11-24T09:24:31Z",
"updated_at": "2017-11-24T09:24:31Z"
}
}
PUT /contactfieldtypes/:id
| Name | Type | Description |
|---|---|---|
| name | string | Required. A short description of the contact field type. Max 255 characters. |
| fontawesome_icon | string | The class name of the Fontawesome icon that will be used when displaying the contact field. Max 255 characters. |
| protocol | string | The protocol (ie mailto:, tel:) used when clicking the contact field in the UI. Max 255 characters. |
| delible | integer | Indicates whether the contact field type can be deleted. Possible values: 0 (false), 1 (true). |
| type | string | Used on special occasions so we can manipulate data in the backend. Most of the time it has be set to null. Max 255 characters. |
{
"name": "Telegram",
"fontawesome_icon": "fa fa-bath",
"protocol": "telegram:",
"delible": 0,
"type": "telegram"
}
{
"data": {
"id": 37305,
"object": "contactfieldtype",
"name": "Telegram",
"fontawesome_icon": "fa fa-bath",
"protocol": "telegram:",
"delible": false,
"type": "telegram",
"account": {
"id": 1
},
"created_at": "2017-11-24T09:24:31Z",
"updated_at": "2017-11-24T10:16:19Z"
}
}
DELETE /contactfieldtypes/:id
The response sends back the id that was just deleted.
{
"deleted": true,
"id": 31
}
Features
Community
Resources
© 2018 — 2025