Categories
Use this endpoint to obtain details on Mautic’s Categories, or to manipulate Category memberships.
Using Mautic’s API Library
You can interact with this API through the Mautic API Library as follows, or use the various http endpoints as described in this document.
<?php
use Mautic\MauticApi;
use Mautic\Auth\ApiAuth;
// ...
$initAuth = new ApiAuth();
$auth = $initAuth->newAuth($settings);
$apiUrl = "https://example.com";
$api = new MauticApi();
$categoryApi = $api->newApi("categories", $auth, $apiUrl);
Get Category
<?php
//...
$category = $categoryApi->get($id);
{
"category":{
"id":221,
"title":"test",
"alias":"test4",
"description":null,
"color":null,
"bundle":"asset"
}
}
Get an individual Category by ID.
HTTP Request
GET /categories/ID
Response
Expected Response Code: 200
See JSON code example.
Category properties
Name |
Type |
Description |
---|---|---|
|
int |
ID of the Category |
|
boolean |
Published status of the Category |
|
|
Category creation date/time |
|
int |
ID of the User that created the Category |
|
string |
Name of the User that created the Category |
|
datetime/null |
Category modified date/time |
|
int |
ID of the User that last modified the Category |
|
string |
Name of the User that last modified the Category |
|
string |
The Category title |
|
string |
The Category alias |
|
string |
The Category description |
|
string |
The Category color |
|
string |
The bundle where the Category is available |
List Contact Categories
<?php
//...
$categories = $categoryApi->getList($searchFilter, $start, $limit, $orderBy, $orderByDir, $publishedOnly, $minimal);
Returns a list of Contact Categories available to the User. This list isn’t filterable.
HTTP Request
GET /categories
Response
Expected Response Code: 200
{
"total":8,
"categories":[
{
"id":1,
"title":"Bold",
"alias":"bold",
"description":null,
"color":"b36262",
"bundle":"point"
},
]
}
Category properties
Name |
Type |
Description |
---|---|---|
|
int |
ID of the Category |
|
boolean |
Published status of the Category |
|
|
Category creation date/time |
|
int |
ID of the User that created the Category |
|
string |
Name of the User that created the Category |
|
datetime/null |
Category modified date/time |
|
int |
ID of the User that last modified the Category |
|
string |
Name of the User that last modified the Category |
|
string |
The Category title |
|
string |
The Category alias |
|
string |
The Category description |
|
string |
The Category color |
|
string |
The bundle where the Category is available |
Create Category
<?php
$data = array(
'categoryname' => 'test',
'categoryemail' => 'test@example.com',
'categorycity' => 'Raleigh',
);
$category = $categoryApi->create($data);
Create a new Category.
HTTP Request
POST /categories/new
POST parameters
Name |
Type |
Description |
---|---|---|
|
string |
The Category title |
|
string |
The bundle where the Category is available |
Response
Expected Response Code: 201
Properties
Same as Get Category.
Edit Category
<?php
$id = 1;
$data = array(
'title' => 'test',
'bundle' => 'asset'
);
// Create new a Category if ID 1 isn't found?
$createIfNotFound = true;
$category = $categoryApi->edit($id, $data, $createIfNotFound);
Edit a new Category. Note that this supports PUT or PATCH depending on the desired behavior.
PUT creates a Category if the given ID doesn’t exist and clears all the Category information, adds the information from the request. PATCH fails if the Category with the given ID doesn’t exist and updates the Category field values with the values from the request.
HTTP Request
To edit a Category and return a 404 if the Category isn’t found:
PATCH /categories/ID/edit
To edit a Category and create a new one if the Category isn’t found:
PUT /categories/ID/edit
POST parameters
Name |
Type |
Description |
---|---|---|
title |
string |
The Category title |
bundle |
string |
The bundle where the Category is available |
Response
If using PUT
, the expected response code is 200
if editing the Category or 201
if creating the Category.
If PATCH
, the expected response code is 200
.
Properties
Same as Get Category.
Delete Category
<?php
$category = $categoryApi->delete($id);
Delete a Category.
HTTP Request
DELETE /categories/ID/delete
Response
Expected Response Code: 200
Properties
Same as Get Category.
Assign a Category
To assign a Category to an entity, set category = [ID]
to the payload. For example, this is how you can assign Category 123 to a new Asset:
$data = array(
'title' => 'PDF sent as a API request',
'storageLocation' => 'remote',
'file' => 'https://www.mautic.org/media/logos/logo/Mautic_Logo_DB.pdf'
'category' => 123
);
$asset = $assetApi->create($data);
The Category must exist in the Mautic instance, and the entity must support Categories.