PHPackages                             seregazhuk/favro-api - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. seregazhuk/favro-api

ActivePackage[API Development](/categories/api)

seregazhuk/favro-api
====================

A PHP wrapper for the official Favro API

0.2.4(8y ago)310.2k5[1 issues](https://github.com/seregazhuk/php-favro-api/issues)[1 PRs](https://github.com/seregazhuk/php-favro-api/pulls)MITPHPPHP &gt;=5.6

Since Aug 19Pushed 5y ago2 watchersCompare

[ Source](https://github.com/seregazhuk/php-favro-api)[ Packagist](https://packagist.org/packages/seregazhuk/favro-api)[ RSS](/packages/seregazhuk-favro-api/feed)WikiDiscussions master Synced 4w ago

READMEChangelog (6)Dependencies (4)Versions (10)Used By (0)

Favro PHP Api
=============

[](#favro-php-api)

 [![Favro PHP Api](logo.png)](logo.png)

[![](https://camo.githubusercontent.com/76596fa67ae7d2429065bffb25827ab911e0f597471ca9a519493951f57503ca/68747470733a2f2f7472617669732d63692e6f72672f7365726567617a68756b2f7068702d666176726f2d6170692e7376673f6272616e63683d6d6173746572)](https://travis-ci.org/seregazhuk/php-favro-api)[![](https://camo.githubusercontent.com/7432f9bc7d3e4ab405639f06cfb95c21a203cdabf38f37b622b3223a28d3aefc/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f7365726567617a68756b2f7068702d666176726f2d6170692f6261646765732f7175616c6974792d73636f72652e706e673f623d6d6173746572)](https://scrutinizer-ci.com/g/seregazhuk/php-favro-api/?branch=master)[![](https://camo.githubusercontent.com/2608e38fce95b82a11c7ecc476ec86b043103cc111f3f20e51e0207622515bf2/68747470733a2f2f636f6465636c696d6174652e636f6d2f6769746875622f7365726567617a68756b2f7068702d666176726f2d6170692f6261646765732f6770612e737667)](https://codeclimate.com/github/seregazhuk/php-favro-api)[![](https://camo.githubusercontent.com/a04baa547982c6384d9a803e3fccaa76474abb5bed2eefa7e9419b311b3f0e2c/68747470733a2f2f636f6465636c696d6174652e636f6d2f6769746875622f7365726567617a68756b2f7068702d666176726f2d6170692f6261646765732f636f7665726167652e737667)](https://codeclimate.com/github/seregazhuk/php-favro-api/coverage)[![](https://camo.githubusercontent.com/5e7230e89a6c30df37ce350355ce5afaf9dff969fc0a959cf8157769c08e82b9/68747470733a2f2f706f7365722e707567782e6f72672f7365726567617a68756b2f666176726f2d6170692f762f737461626c65)](https://packagist.org/packages/seregazhuk/favro-api)[![](https://camo.githubusercontent.com/1d2c626739203ca61b6fbca5ae3b991ef657f7e29e7ea7a1f56ee0f3df9bbefd/68747470733a2f2f706f7365722e707567782e6f72672f7365726567617a68756b2f666176726f2d6170692f646f776e6c6f616473)](https://packagist.org/packages/seregazhuk/favro-api)

- [Dependencies](#dependencies)
- [Installation](#installation)
- [Quick Start](#quick-start)
- [Rate limiting](#rate-limiting)
- [Users](#users)
- [Organizations](#organizations)
- [Collections](#collections)
- [Widgets](#widgets)
- [Columns](#columns)
- [Cards](#cards)
- [Tags](#tags)
- [Tasks](#tasks)
- [Tasklists](#tasklists)
- [Comments](#comments)

Dependencies
------------

[](#dependencies)

Library requires CURL extension and PHP 5.6 or above.

Installation
------------

[](#installation)

The recommended way to install this library is via [Composer](https://getcomposer.org). [New to Composer?](https://getcomposer.org/doc/00-intro.md)

```
composer require seregazhuk/favro-api

```

Quick Start
-----------

[](#quick-start)

First of all you need to select your current organization, because nearly all API requests require the organizationId of the organization that these call are being made against. You can set your current organization in two ways: by name or by Id.

```
// You may need to amend this path to locate composer's autoloader
require './vendor/autoload.php';

use seregazhuk\Favro\Favro;

$favro = Favro::create('test@example.com', 'test');

// set your organization
$favro->useOrganization("My Organization");

// get all collections
$result = $favro->collections->getAll();
```

You can get all your organization and then set it by id:

```
// get your organizations
$result = $favro->organizations->getAll();
$organizations = $result['entities'];

// select the first organization
$favro->useOrganization($organizations[0]['organizationId']);
```

Rate limiting
-------------

[](#rate-limiting)

To get your current rate limit information use *getRateInfo()* method:

```
$result = $favro->getRateInfo();
print_r($result);

/*
[
    'reset' => 2016-09-03T08:17:24.158Z
    'remaining' => 42
    'limit' => 50
]
*/
```

Result will be an array of three elements:

KeyDescriptionresetThe time at which the current rate limit window resets in UTC.remainingThe number of requests remaining in the current rate limit window.limitThe maximum number of requests permitted to make per hour.More information about rate limiting is available in the [official api docs](https://favro.com/developer/#rate-limiting).

Users
-----

[](#users)

### [Get all users](https://favro.com/developer/#get-all-users)

[](#get-all-users)

```
$result = $favro->users->getAll();
```

The response will be an array of users:

```
[
    "limit": 100,
    "page": 0,
    "pages": 1,
    "requestId": "8cc57b1d8a218fa639c8a0fa",
    "entities": [
        [
            "userId": "67973f72db34592d8fc96c48",
            "name": "Favro user",
            "email": "user@favro.com"
        ]
    ]
]
```

### [Get a user](https://favro.com/developer/#get-a-user)

[](#get-a-user)

Arguments:

ArgumentTypeDescriptionuserIdstringThe id of the user to be retrieved.```
$result = $favro->users->getById($userId);
```

The response returns a user object:

```
[
    "userId": "67973f72db34592d8fc96c48",
    "name": "Favro user",
    "email": "user@favro.com"
]
```

Organizations
-------------

[](#organizations)

### [Get all organizations](https://favro.com/developer/#get-all-organizations)

[](#get-all-organizations)

```
$result = $favro->organizations->getAll();
```

The response will be an array of organizations:

```
[
    "limit": 100,
    "page": 0,
    "pages": 1,
    "requestId": "8cc57b1d8a218fa639c8a0fa",
    "entities": [
        [
            "organizationId" : "67973f72db34592d8fc96c48",
            "name" : "My organization",
            "sharedToUsers": [
                [
                    "userId" : "fB6bJr5TbaKLiofns",
                    "role" : "administrator",
                    "joinDate" : "2016-02-10T14:25:58.745Z"
                ]
            ]
        ]
    ]
]
```

### [Get an organization](https://favro.com/developer/#get-an-organization)

[](#get-an-organization)

Arguments:

ArgumentTypeDescriptionorganizationIdstringThe id of the organization to be retrieved.```
$result = $favro->organizations->getById($ogranizationId);
```

The response returns an organization object:

```
[
    "organizationId" : "67973f72db34592d8fc96c48",
    "name" : "My organization",
    "sharedToUsers": [
        [
            "userId" : "fB6bJr5TbaKLiofns",
            "role" : "administrator",
            "joinDate" : "2016-02-10T14:25:58.745Z"
        ]
    ]
]
```

### [Create an organization](https://favro.com/developer/#create-an-organization)

[](#create-an-organization)

Argument `$attributes` is an array and contains the following values:

IndexTypeDescriptionnamestringThe name of the organization.shareToUsersarrayThe users who will be invited to the organization. See below for a description of a user share object.`shareToUsers` is also an array with the following structure:

IndexTypeDescriptionuserIdstringThe userId of the existing user. Required if email is not provided.emailstringEmail. Required if userId is not provided.rolestringThe role of the user in the organization. Refer to [organization roles](https://favro.com/developer/#organization-roles). Required.deletebooleanRemoves user from the organization if value equals to true. Optional.```
$result = $favro->organizations->create($attributes);
```

The response will be the created organization:

```
[
    "organizationId" : "67973f72db34592d8fc96c48",
    "name" : "My organization",
    "sharedToUsers": [
        [
            "userId" : "fB6bJr5TbaKLiofns",
            "role" : "administrator",
            "joinDate" : "2016-02-10T14:25:58.745Z"
        ]
    ]
]
```

### [Update an organization](https://favro.com/developer/#update-an-organization)

[](#update-an-organization)

Arguments:

ArgumentTypeDescriptionorganizationIdstringThe id of the organization to update.attributesarrayArray of attributes to be updated.`attributes` is an array with the following structure:

IndexTypeDescriptionnamestringThe name of the organization.membersarrayUpdate user roles in the organization. See below for a description of a user share object.shareToUsersarrayThe users who will be invited to the organization. See below for a description of a user share object.`shareToUsers` is also an array with the following structure:

IndexTypeDescriptionuserIdstringThe userId of the existing user. Required if email is not provided.emailstringEmail. Required if userId is not provided.rolestringThe role of the user in the organization. Refer to [organization roles](https://favro.com/developer/#organization-roles). Required.deletebooleanRemoves user from the organization if value equals to true. Optional.```
$result = $favro->organizations->update($organizationId, $attributes);
```

The response will be the updated organization:

```
[
        "organizationId" : "67973f72db34592d8fc96c48",
        "name" : "My organization",
        "sharedToUsers": [
            [
                "userId" : "fB6bJr5TbaKLiofns",
                "role" : "administrator",
                "joinDate" : "2016-02-10T14:25:58.745Z"
            ]
        ]
]
```

Collections
-----------

[](#collections)

### [Get all collections](https://favro.com/developer/#get-all-collections)

[](#get-all-collections)

```
$result = $favro->collections->getAll();
```

The response will be a paginated list of collections:

```
[
    "limit": 100,
    "page": 0,
    "pages": 1,
    "requestId": "8cc57b1d8a218fa639c8a0fa",
    "entities": [
        [
            "collectionId": "67973f72db34592d8fc96c48",
            "organizationId": "zk4CJpg5uozhL4R2W",
            "name": "My collection",
            "sharedToUsers": [
                [
                    "userId": "ff440e8f358c08513a86c8d6",
                    "role": "admin"
                ]
            ],
            "publicSharing": "users",
            "background": "purple",
            "archived": false,
            "shareWidgetsByDefault": true
        ]
    ]
]
```

### [Get an collection](https://favro.com/developer/#get-a-collection)

[](#get-an-collection)

Arguments:

ArgumentTypeDescriptioncollectionIdstringThe id of the collection to be retrieved.```
$result = $favro->collections->getById($collectionId);
```

The response returns a collection object:

```
[
    "collectionId": "67973f72db34592d8fc96c48",
    "organizationId": "zk4CJpg5uozhL4R2W",
    "name": "My collection",
    "sharedToUsers": [
        [
            "userId": "ff440e8f358c08513a86c8d6",
            "role": "admin"
        ]
    ],
    "publicSharing": "users",
    "background": "purple",
    "archived": false,
    "shareWidgetsByDefault": true
]

```

### [Create a collection](https://favro.com/developer/#create-a-collection)

[](#create-a-collection)

Argument `$attributes` is an array and contains the following values:

IndexTypeDescriptionnamestringThe name of the collection. Required.starPagebooleanStar the collection for authorized user. Defaults to false.shareWidgetsByDefaultbooleanShare widgets to the collection members by default. Defaults to true.publicSharingstringPublic share role for the collection. Refer to [collection public sharing](https://favro.com/developer/#collection-public-sharing).backgroundstringThe background color of the collection. Refer to [collection background](https://favro.com/developer/#collection-background).shareToUsersarrayThe users who will be invited to the collection. See below for a description of a user share object.`shareToUsers` is also an array with the following structure:

IndexTypeDescriptionuserIdstringThe userId of the existing user. Required if email is not provided.emailstringEmail. Required if userId is not provided.rolestringThe role of the user in the collection. Refer to [collection roles](https://favro.com/developer/#collection-roles). Required.deletebooleanRemoves user from the collection if value equals to true. Optional.```
$result = $favro->collections->create($attributes);
```

The response will be the created collection:

```
[
    "collectionId": "67973f72db34592d8fc96c48",
    "organizationId": "zk4CJpg5uozhL4R2W",
    "name": "My collection",
    "sharedToUsers": [
        [
            "userId": "ff440e8f358c08513a86c8d6",
            "role": "admin"
        ]
    ],
    "publicSharing": "users",
    "background": "purple",
    "archived": false,
    "shareWidgetsByDefault": true
]

```

### [Update a collection](https://favro.com/developer/#update-a-collection)

[](#update-a-collection)

Arguments:

ArgumentTypeDescriptioncollectionIdstringThe id of the collection to update.attributesarrayArray of attributes to be updated.`attributes` is an array with the following structure:

IndexTypeDescriptionnamestringThe name of the collection. Required.starPagebooleanStar the collection for authorized user. Defaults to false.shareWidgetsByDefaultbooleanShare widgets to the collection members by default. Defaults to true.publicSharingstringPublic share role for the collection. Refer to [collection public sharing](https://favro.com/developer/#collections).backgroundstringThe background color of the collection. Refer to [collection background](https://favro.com/developer/#collection-background).shareToUsersarrayThe users who will be invited to the collection. See below for a description of a user share object.`shareToUsers` is also an array with the following structure:

IndexTypeDescriptionuserIdstringThe userId of the existing user. Required if email is not provided.emailstringEmail. Required if userId is not provided.rolestringThe role of the user in the collection. Refer to [collection roles](https://favro.com/developer/#collection-roles). Required.deletebooleanRemoves user from the collection if value equals to true. Optional.```
$result = $favro->collections->update($collectionId, $attributes);
```

The response will be the updated collection:

```
[
    "collectionId": "67973f72db34592d8fc96c48",
    "organizationId": "zk4CJpg5uozhL4R2W",
    "name": "My collection",
    "sharedToUsers": [
        [
            "userId": "ff440e8f358c08513a86c8d6",
            "role": "admin"
        ]
    ],
    "publicSharing": "users",
    "background": "purple",
    "archived": false,
    "shareWidgetsByDefault": true
]
```

### [Delete a collection](https://favro.com/developer/#delete-a-collection)

[](#delete-a-collection)

Arguments:

ArgumentTypeDescriptioncollectionIdstringThe id of the collection to be deleted.```
$result = $favro->collections->delete($collectionId);
```

Widgets
-------

[](#widgets)

### [Get all widgets](https://favro.com/developer/#get-all-widgets)

[](#get-all-widgets)

Arguments:

ArgumentTypeDescriptioncollectionIdstringThe id of the collection to filter by. Optional.includePublicbooleanInclude publicly shared widgets. Defaults to false.```
$result = $favro->widgets->getAll();
```

The response will be a paginated array of widgets:

```
[
     "limit": 100,
     "page": 0,
     "pages": 1,
     "requestId": "8cc57b1d8a218fa639c8a0fa",
     "entities": [
        [
             "widgetCommonId": "67973f72db34592d8fc96c48",
             "organizationId": "zk4CJpg5uozhL4R2W",
             "collectionIds": [
                 "8cc57b1d8a218fa639c8a0fa"
             ],
             "name": "This is a widget",
             "type": "board",
             "publicSharing": "collection",
             "color": "purple",
             "sharedToUsers": [
                [
                    "userId": "tXfWe3MXQqhnnTRtw",
                    "role": "view"
                ]
             ]
         ]
     ]
 ]
```

### [Get a widget](https://favro.com/developer/#get-a-widget)

[](#get-a-widget)

Arguments:

ArgumentTypeDescriptionwidgetCommonIdstringThe id of the widget to be retrieved.```
$result = $favro->widgets->getById($widgetCommonId);
```

The response returns a widget object:

```
[
    "widgetCommonId": "67973f72db34592d8fc96c48",
    "organizationId": "zk4CJpg5uozhL4R2W",
    "collectionIds": [
        "8cc57b1d8a218fa639c8a0fa"
    ],
    "name": "This is a widget",
    "type": "board",
    "publicSharing": "collection",
    "color": "purple",
    "sharedToUsers": [
        [
            "userId": "tXfWe3MXQqhnnTRtw",
            "role": "view"
        ]
    ]
]
```

[Create a widget](https://favro.com/developer/#create-a-widget)

Argument `$attributes` is an array and contains the following values:

IndexTypeDescriptioncollectionIdstringThe collectionId of the collection to create the widget in. Required.namestringThe name of the widget. Required.typestringThe type of widget to create. Refer to [widget types](https://favro.com/developer/#widget-types). Required.colorstringThe color of the widget icon. Refer to [widget colors](https://favro.com/developer/#widget-colors).publicSharingstringThe public sharing level of the widget. Refer to [widget public sharing](https://favro.com/developer/#widget-public-sharing).shareToUsersarrayThe list of users to share the widget to. See below for a description of a user share object.`shareToUsers` is also an array with the following structure:

IndexTypeDescriptionuserIdstringThe userId of the existing user. Required if email is not provided.emailstringEmail. Required if userId is not provided.rolestringThe role of the user on the widget. Refer to [widget roles](https://favro.com/developer/#widget-roles). Required.deletebooleanRemoves user from the widget if value equals to true. Optional.```
$result = $favro->widgets->create($attributes);
```

The response will be the created widget:

```
[
    "widgetCommonId": "67973f72db34592d8fc96c48",
    "organizationId": "zk4CJpg5uozhL4R2W",
    "collectionIds": [
        "8cc57b1d8a218fa639c8a0fa"
    ],
    "name": "This is a widget",
    "type": "board",
    "publicSharing": "collection",
    "color": "purple",
    "sharedToUsers": [
        [
            "userId": "tXfWe3MXQqhnnTRtw",
            "role": "view"
        ]
    ]
]
```

### [Update a widget](https://favro.com/developer/#update-a-widget)

[](#update-a-widget)

Arguments:

ArgumentTypeDescriptionwidgetCommonIdstringThe common id of the widget to update. RequiredattributesarrayArray of attributes to be updated.`attributes` is an array with the following structure:

IndexTypeDescriptionnamestringThe name of the widget. Required.archivebooleanArchive or unarchive widget. Requires collectionId to be specified in the request.collectionIdstringThe id of the collection where widget will be archived. Required if archive is included in the request.colorstringThe color of widget label. Look at [widget colors](https://favro.com/developer/#widget-colors).publicSharingnumberThe public sharing level of the widget. Refer to [widget public sharing](https://favro.com/developer/#widget-public-sharing).membersarrayUpdate user roles on the widget. See below for a description of a user share object.shareToUsersarrayThe list of users to share the widget to. See below for a description of a user share object.`shareToUsers` is also an array with the following structure:

IndexTypeDescriptionuserIdstringThe userId of the existing user. Required if email is not provided.emailstringEmail. Required if userId is not provided.rolestringThe role of the user on the widget. Refer to [widget roles](https://favro.com/developer/#widget-roles). Required.deletebooleanRemoves user from the widget if value equals to true. Optional.```
$result = $favro->widgets->update($widgetCommonId, $attributes);
```

The response will be the updated widget:

```
[
        "widgetCommonId": "67973f72db34592d8fc96c48",
        "organizationId": "zk4CJpg5uozhL4R2W",
        "collectionIds": [
            "8cc57b1d8a218fa639c8a0fa"
        ],
        "name": "This is a widget",
        "type": "board",
        "publicSharing": "collection",
        "color": "purple",
        "sharedToUsers": [
            [
                "userId": "tXfWe3MXQqhnnTRtw",
                "role": "view"
            ]
        ]
]
```

### [Delete a widget](https://favro.com/developer/#delete-a-widget)

[](#delete-a-widget)

Arguments:

ArgumentTypeDescriptionwidgetCommonIdstringThe common id of the widget to be deleted. Required.collectionIdstringThe id of collection where widget will be deleted. Optional. If ommitted all instances of the widget will be deleted.```
$favro->widgets->delete($widgetCommonId);

// or

$favro->widgets->delete($widgetCommonId, $collectionId);
```

Columns
-------

[](#columns)

### [Get all columns](https://favro.com/developer/#get-all-columns)

[](#get-all-columns)

Arguments:

ArgumentTypeDescriptionwidgetCommonIdstringThe common id of the widget to filter by. Required.```
$result = $favro->columns->getAll($widgetCommonId);
```

The response will be a paginated array of columns:

```
[
    "limit": 100,
    "page": 0,
    "pages": 1,
    "requestId": "8cc57b1d8a218fa639c8a0fa",
    "entities": [
        [
        "columnId": "67973f72db34592d8fc96c48",
            "organizationId": "zk4CJpg5uozhL4R2W",
            "widgetCommonId": "ff440e8f358c08513a86c8d6",
            "name": "This is a column",
            "position": 0
        ]
    ]
]
```

### [Get a column](https://favro.com/developer/#get-a-column)

[](#get-a-column)

Arguments:

ArgumentTypeDescriptioncolumnIdstringThe id of the column to be retrieved.```
$result = $favro->columns->getById($columnId);
```

The response returns a column object:

```
[
    "columnId": "67973f72db34592d8fc96c48",
    "organizationId": "zk4CJpg5uozhL4R2W",
    "widgetCommonId": "ff440e8f358c08513a86c8d6",
    "name": "This is a column",
    "position": 0
]
```

### [Create a column](https://favro.com/developer/#create-a-column)

[](#create-a-column)

Argument `$attributes` is an array and contains the following values:

IndexTypeDescriptionwidgetCommonIdstringThe widgetCommonId to create the column on. Required.namestringThe name of the column. Required.positionstringThe position of the column on the widget. By default the column will be placed at the end of the widget. Optional.```
$result = $favro->columns->create($attributes);
```

The response will be the created column:

```
[
    "columnId": "67973f72db34592d8fc96c48",
    "organizationId": "zk4CJpg5uozhL4R2W",
    "widgetCommonId": "ff440e8f358c08513a86c8d6",
    "name": "This is a column",
    "position": 0
]
```

### [Update a column](https://favro.com/developer/#update-a-column)

[](#update-a-column)

Arguments:

ArgumentTypeDescriptioncolumnIdstringThe id of the column to update.attributesarrayArray of attributes to be updated.`attributes` is an array with the following structure:

IndexTypeDescriptionnamestringThe name of the column.positionstringThe position of the column.```
$result = $favro->columns->update($columnId, $attributes);
```

The response will be the updated column:

```
[
    "columnId": "67973f72db34592d8fc96c48",
    "organizationId": "zk4CJpg5uozhL4R2W",
    "widgetCommonId": "ff440e8f358c08513a86c8d6",
    "name": "This is a column",
    "position": 0
]
```

### [Delete a column](https://favro.com/developer/#delete-a-column)

[](#delete-a-column)

Deleting a column will also delete any cards that exist within that column.

Arguments:

ArgumentTypeDescriptioncolumnIdstringThe id of the column to be deleted. Required.```
$result = $favro->columns->delete($columnId);
```

Cards
-----

[](#cards)

### [Get Get all cards](https://favro.com/developer/#get-all-cards)

[](#get-get-all-cards)

In order to use this endpoint you must specify either todoList or one of cardCommonId, widgetCommonId or collectionId.

Arguments:

ArgumentTypeDescriptiontodoListbooleanReturn cards from todolist only. Defaults to false.cardCommonIdstringThe common id of the card to filter by.widgetCommonIdstringThe common id of the widget to filter by.collectionIdstringThe id of the collection to filter by.uniquebooleanIf true, return unique cards only. Defaults to false.```
$result = $favro->cards->getAll($params);
```

The response will be a paginated array of cards:

```
[
    "limit": 100,
    "page": 0,
    "pages": 1,
    "requestId": "8cc57b1d8a218fa639c8a0fa",
    "entities": [
        [
        "cardId": "67973f72db34592d8fc96c48",
            "organizationId": "zk4CJpg5uozhL4R2W",
            "widgetCommonId": "ff440e8f358c08513a86c8d6",
            "columnId": "b4d8c6283d9d58f9a39108e7",
            "name": "This is a card"
        ]
    ]
]
```

### [Get a card](https://favro.com/developer/#get-a-card)

[](#get-a-card)

Arguments:

ArgumentTypeDescriptioncardIdstringThe id of the card to be retrieved. Required.```
$result = $favro->cards->get($cardId);
```

The response returns a card object:

```
[
    "cardId": "67973f72db34592d8fc96c48",
    "organizationId": "zk4CJpg5uozhL4R2W",
    "widgetCommonId": "ff440e8f358c08513a86c8d6",
    "columnId": "b4d8c6283d9d58f9a39108e7",
    "name": "This is a card"
]
```

### [Create a card](https://favro.com/developer/#create-a-card)

[](#create-a-card)

Argument `$attributes` is an array and contains the following values:

IndexTypeDescriptionwidgetCommonIdstringThe widgetCommonId to create the card on. One of organizationId, widgetCommonId is required. If not set, the card will be created in the user’s todo list.laneIdstringThe laneId to create the card in. This is only applicable if creating the card on a widget that has lanes enabled. Optional.columnIdstringThe columnId to create the card in. It must belong to the widget specified in the widgetCommonId parameter. WidgetCommonId is required if this parameter is set.parentCardIdstringIf creating a card on a backlog widget, it is possible to create this card as a child of the card specified by this parameter. Optional.namestringThe name of the card. Required.detailedDescriptionstringThe detailed description of the card. Supports [formatting](https://favro.com/developer/#card-formatting).assignmentIdsarrayThe list of assignments (array of userIds). Optional.tagsarrayThe list of tag names or [card tags](https://favro.com/developer/#card-tag) that will be added to card. If current tag is not exist in the organization, it will be created.tagIdsarrayThe list of tag IDs, that will be added to card.startDatestringThe start date of card. Format ISO-8601.dueDatestringThe due date of card. Format ISO-8601.tasklistsarrayThe list of card [tasklists](https://favro.com/developer/#card-tasklist).```
$result = $favro->cards->create($attributes);
```

The response will be the created card:

```
[
    "cardId": "67973f72db34592d8fc96c48",
    "organizationId": "zk4CJpg5uozhL4R2W",
    "widgetCommonId": "ff440e8f358c08513a86c8d6",
    "columnId": "b4d8c6283d9d58f9a39108e7",
    "name": "This is a card"
]
```

### [Update a card](https://favro.com/developer/#update-a-card)

[](#update-a-card)

Arguments:

ArgumentTypeDescriptioncardIdstringThe id of the card to update. Required.attributesarrayArray of attributes to be updated.`attributes` is an array with the following structure:

IndexTypeDescriptionnamestringThe name of the card.detailedDescriptionstringThe detailed description of the card. Supports [formatting](https://favro.com/developer/#card-formatting).widgetCommonIdstringThe widgetCommonId to commit the card in. Optional.laneIdstringThe laneId to commit the card in. This is only applicable if creating the card on a widget that has lanes enabled. Optional.columnIdstringThe columnId to commit the card in. It must belong to the widget specified in the widgetCommonId parameter. Optional.parentCardIdstringIf commiting a card on a backlog widget, it is possible to create this card as a child of the card specified by this parameter. Optional.addAssignmentIdsarrayThe list of assignments, that will be added to card (array of userIds). Optional.removeAssignmentIdsarrayThe list of assignments, that will be removed from card (array of userIds). Optional.addTagsarrayThe list of tag names or [card tags](https://favro.com/developer/#cards) that will be added to the card. If the tag does not exist in the organization it will be created.addTagIdsarrayA list of tagIds that will be added to card.removeTagsarrayThe list of tag names, that will be removed from card.removeTagIdsarrayThe list of tag IDs, that will be removed from card.startDatestringThe start date of card. Format ISO-8601. If *null*, start date will be removed.dueDatestringThe due date of card. Format ISO-8601. If *null*, due date will be removed.addTasklistsarrayThe list of card [tasklists](https://favro.com/developer/#cards), that will be added to card.```
$result = $favro->cards->update($cardId, $attributes);
```

The response will be the updated cards:

```
[
    "cardId": "67973f72db34592d8fc96c48",
    "organizationId": "zk4CJpg5uozhL4R2W",
    "widgetCommonId": "ff440e8f358c08513a86c8d6",
    "columnId": "b4d8c6283d9d58f9a39108e7",
    "name": "This is a card"
]
```

### [Delete a card](https://favro.com/developer/#delete-a-card)

[](#delete-a-card)

Arguments:

ArgumentTypeDescriptioncardIdstringThe id of card to be deleted. Required.everywherebooleanIf true, all copies of card will be deleted too. Defaults to false.```
$result = $favro->cards->delete($cardId, $everyWhere);
```

The response returns an array of cardIds for the cards that were deleted.

```
[
    "67973f72db34592d8fc96c48",
    "67973f72db34592d8fc96c49",
    "67973f72db34592d8fc96c50"
]
```

Tags
----

[](#tags)

### [Get all tags](https://favro.com/developer/#get-all-tags)

[](#get-all-tags)

Arguments:

ArgumentTypeDescriptionnamestringThe name of the tag to filter by. Optional.colorstringThe color of the tag to filter by. Optional.```
$result = $favro->tags->getAll($params);
```

The response will be a paginated array of tags:

```
[
    "limit": 100,
    "page": 0,
    "pages": 1,
    "requestId": "8cc57b1d8a218fa639c8a0fa",
    "entities": [
        [
            "tagId": "67973f72db34592d8fc96c48",
            "organizationId": "zk4CJpg5uozhL4R2W",
            "name": "My tag",
            "color": "purple"
        ]
    ]
]
```

### [Get a tag](https://favro.com/developer/#get-a-tag)

[](#get-a-tag)

ArgumentTypeDescriptiontagIdstringThe id of the tag to be retrieved.```
$result = $favro->tags->get($tagId);
```

The response returns a tag object:

```
[
        "tagId": "67973f72db34592d8fc96c48",
        "organizationId": "zk4CJpg5uozhL4R2W",
        "name": "My tag",
        "color": "purple"
]
```

### [Create a tag](https://favro.com/developer/#create-a-tag)

[](#create-a-tag)

Argument `$attributes` is an array and contains the following values:

IndexTypeDescriptioncardCommonIdstringThe common id of the card to post the tag on. Required.namestringThe name of the tag. Required.colorstringThe color of the tag. If not specified, color will be selected randomly. Refer to [tag colors](https://favro.com/developer/#tags).```
$result = $favro->tags->create($attributes);
```

The response will be the created tag:

```
[
    "tagId": "67973f72db34592d8fc96c48",
    "organizationId": "zk4CJpg5uozhL4R2W",
    "name": "My tag",
    "color": "purple"
]
```

### [Update a tag](https://favro.com/developer/#update-a-tag)

[](#update-a-tag)

ArgumentTypeDescriptiontagIdstringThe id of the tag to update.attributesarrayArray of attributes to be updated.`attributes` is an array with the following structure:

IndexTypeDescriptionnamestringThe name of the tag to edit. Optional.colorstringThe color of the tag to edit. Optional. Refer to [tag colors](https://favro.com/developer/#tags).```
$result = $favro->tags->update($tagId, $attributes);
```

The response will be the updated tag:

```
[
     "tagId": "67973f72db34592d8fc96c48",
     "organizationId": "zk4CJpg5uozhL4R2W",
     "name": "My tag",
     "color": "purple"
]
```

### [Delete a tag](https://favro.com/developer/#delete-a-tag)

[](#delete-a-tag)

Arguments:

ArgumentTypeDescriptiontagIdstringThe id of the tag to be deleted. Required.```
$result = $favro->tags->delete($tagId);
```

Tasks
-----

[](#tasks)

### [Get all tasks](https://favro.com/developer/#get-all-tasks)

[](#get-all-tasks)

Arguments:

ArgumentTypeDescriptioncardCommonIdstringThe card common id to filter by. Required.taskListIdstringThe task list id to filter by. Optional.```
$result = $favro->tasks->getAll($params);
```

The response will be a paginated array of card tasks:

```
[  "limit": 100,
     "page": 0,
     "pages": 1,
     "requestId": "8cc57b1d8a218fa639c8a0fa",
     "entities": [
        [
             "taskId": "67973f72db34592d8fc96c48",
             "taskListId": "8cc57b1d8a218fa639c8a0fa",
             "organizationId": "zk4CJpg5uozhL4R2W",
             "cardCommonId": "tXfWe3MXQqhnnTRtw",
             "name": "This is a task",
             "completed": false,
             "position": 0
        ]
     ]
 ]
```

### [Get a task](https://favro.com/developer/#get-a-task)

[](#get-a-task)

ArgumentTypeDescriptiontaskIdstringThe id of the task to be retrieved.```
$result = $favro->tasks->get($taskId);
```

The response returns a task object:

```
[
    "taskId": "67973f72db34592d8fc96c48",
    "taskListId": "8cc57b1d8a218fa639c8a0fa",
    "organizationId": "zk4CJpg5uozhL4R2W",
    "cardCommonId": "tXfWe3MXQqhnnTRtw",
    "name": "This is a task",
    "completed": false,
    "position": 0
]
```

### [Create a task](https://favro.com/developer/#create-a-task)

[](#create-a-task)

Argument `$attributes` is an array and contains the following values:

IndexTypeDescriptiontaskListIdstringThe task list id to post the task on. Required.namestringThe name of the task. Required.positionnumberTask position in the task list. Optional.completedbooleanTask completion state. Optional.```
$result = $favro->tasks->create($attributes);
```

The response will be the created task:

```
[
    "taskId": "67973f72db34592d8fc96c48",
    "taskListId": "8cc57b1d8a218fa639c8a0fa",
    "organizationId": "zk4CJpg5uozhL4R2W",
    "cardCommonId": "tXfWe3MXQqhnnTRtw",
    "name": "This is a task",
    "completed": false,
    "position": 0
]
```

### [Update a task](https://favro.com/developer/#update-a-task)

[](#update-a-task)

ArgumentTypeDescriptiontaskIdstringThe id of the task to update.attributesarrayArray of attributes to be updated.`attributes` is an array with the following structure:

IndexTypeDescriptionnamestringThe name of the task to edit. Optional.positionstringTask position in the list. Optional.completedstringTask completion state. Optional.```
$result = $favro->tasks->update($taskId, $attributes);
```

The response will be the updated task:

```
[
    "taskId": "67973f72db34592d8fc96c48",
    "taskListId": "8cc57b1d8a218fa639c8a0fa",
    "organizationId": "zk4CJpg5uozhL4R2W",
    "cardCommonId": "tXfWe3MXQqhnnTRtw",
    "name": "This is a task",
    "completed": false,
    "position": 0
]
```

### [Delete a task](https://favro.com/developer/#delete-a-task)

[](#delete-a-task)

Arguments:

ArgumentTypeDescriptiontaskIdstringThe id of the task to be deleted. Required.```
$result = $favro->tasks->delete($taskId);
```

Tasklists
---------

[](#tasklists)

### [Get all tasklists](https://favro.com/developer/#get-all-tasklists)

[](#get-all-tasklists)

Arguments:

ArgumentTypeDescriptioncardCommonIdstringThe card common id to filter by. Required.```
$result = $favro->tasklists->getAll($cardCommonId);
```

The response will be a paginated array of card task lists:

```
[
    "limit": 100,
    "page": 0,
    "pages": 1,
    "requestId": "8cc57b1d8a218fa639c8a0fa",
    "entities": [
        [
            "taskListId": "8cc57b1d8a218fa639c8a0fa",
            "organizationId": "zk4CJpg5uozhL4R2W",
            "cardCommonId": "tXfWe3MXQqhnnTRtw",
            "description": "This is a tasklist",
            "position": 0
        ]
    ]
]
```

### [Get a task list](https://favro.com/developer/#get-a-task-list)

[](#get-a-task-list)

ArgumentTypeDescriptiontaskListIdstringThe id of the task list to be retrieved.```
$result = $favro->tasklists->get($taskListId);
```

The response returns a task list object:

```
[
    "taskListId": "8cc57b1d8a218fa639c8a0fa",
    "organizationId": "zk4CJpg5uozhL4R2W",
    "cardCommonId": "tXfWe3MXQqhnnTRtw",
    "description": "This is a tasklist",
    "position": 0
]
```

### [Create a task list](https://favro.com/developer/#create-a-task-list)

[](#create-a-task-list)

Argument `$attributes` is an array and contains the following values:

IndexTypeDescriptioncardCommonIdstringThe card common id to post the task list on. RequirednamestringThe name of the task list. Required.positionstringTask position of the task list. Optional.tasksarrayThe list of [card task](https://favro.com/developer/#card-task). Optional.```
$result = $favro->tasklists->create($attributes);
```

The response will be the created task list:

```
[
    "taskListId": "8cc57b1d8a218fa639c8a0fa",
    "organizationId": "zk4CJpg5uozhL4R2W",
    "cardCommonId": "tXfWe3MXQqhnnTRtw",
    "description": "This is a tasklist",
    "position": 0
]
```

### [Update a task list](https://favro.com/developer/#update-a-task-list)

[](#update-a-task-list)

ArgumentTypeDescriptiontaskIdstringThe id of the task list to update.attributesarrayArray of attributes to be updated.`attributes` is an array with the following structure:

IndexTypeDescriptionnamestringThe name of the task list to edit. Optional.positionnumberTask position of the task list. Optional.```
$result = $favro->tasklists->update($taskListId, $attributes);
```

The response will be the updated task:

```
[
    "taskListId": "8cc57b1d8a218fa639c8a0fa",
    "organizationId": "zk4CJpg5uozhL4R2W",
    "cardCommonId": "tXfWe3MXQqhnnTRtw",
    "description": "This is a tasklist",
    "position": 0
]
```

### [Delete a task list](https://favro.com/developer/#delete-a-task-list)

[](#delete-a-task-list)

Arguments:

ArgumentTypeDescriptiontaskListIdstringThe id of the task list to be deleted. Required.```
$result = $favro->tasklists->delete($taskListId);
```

Comments
--------

[](#comments)

### [Get all comments](https://favro.com/developer/#get-all-comments)

[](#get-all-comments)

Arguments:

ArgumentTypeDescriptioncardCommonIdstringThe card common id to filter by. Required.```
$result = $favro->comments->getAll($cardCommonId);
```

The response will be a paginated array of comments:

```
  "limit": 100,
    "page": 0,
    "pages": 1,
    "requestId": "8cc57b1d8a218fa639c8a0fa",
    "entities": [
        [
        "commentId": "67973f72db34592d8fc96c48",
            "cardCommonId": "ff440e8f358c08513a86c8d6",
            "organizationId": "zk4CJpg5uozhL4R2W",
            "userId": "b4d8c6283d9d58f9a39108e7",
            "comment": "This is a comment",
            "created": "2016-04-18T11:18:42.901Z",
            "lastUpdated": "2016-04-18T11:18:42.901Z"
        ]
    ]
```

### [Get a comment](https://favro.com/developer/#get-a-comment)

[](#get-a-comment)

ArgumentTypeDescriptioncommentIdstringThe id of the comment to be retrieved.```
$result = $favro->comments->get($commentId);
```

The response returns a comment object:

```
[
    "commentId": "67973f72db34592d8fc96c48",
    "cardCommonId": "ff440e8f358c08513a86c8d6",
    "organizationId": "zk4CJpg5uozhL4R2W",
    "userId": "b4d8c6283d9d58f9a39108e7",
    "comment": "This is a comment",
    "created": "2016-04-18T11:18:42.901Z",
    "lastUpdated": "2016-04-18T11:18:42.901Z"
]
```

### [Create a comment](https://favro.com/developer/#create-a-comment)

[](#create-a-comment)

How can I thank you?
--------------------

[](#how-can-i-thank-you)

Why not star the github repo? I'd love the attention!

Thanks!

###  Health Score

29

—

LowBetter than 57% of packages

Maintenance13

Infrequent updates — may be unmaintained

Popularity25

Limited adoption so far

Community14

Small or concentrated contributor base

Maturity54

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 98.1% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~118 days

Recently: every ~144 days

Total

6

Last Release

3012d ago

PHP version history (2 changes)0.1.0PHP &gt;=5.5.9

0.2.1PHP &gt;=5.6

### Community

Maintainers

![](https://www.gravatar.com/avatar/cb0e185b75648fb1c0095795e222f210700b86ae8c575c3cd6dd28a970ae2f34?d=identicon)[seregazhuk](/maintainers/seregazhuk)

---

Top Contributors

[![seregazhuk](https://avatars.githubusercontent.com/u/9959761?v=4)](https://github.com/seregazhuk "seregazhuk (105 commits)")[![scrutinizer-auto-fixer](https://avatars.githubusercontent.com/u/6253494?v=4)](https://github.com/scrutinizer-auto-fixer "scrutinizer-auto-fixer (1 commits)")[![wrossier](https://avatars.githubusercontent.com/u/7271179?v=4)](https://github.com/wrossier "wrossier (1 commits)")

---

Tags

favrophplibfavro

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/seregazhuk-favro-api/health.svg)

```
[![Health](https://phpackages.com/badges/seregazhuk-favro-api/health.svg)](https://phpackages.com/packages/seregazhuk-favro-api)
```

###  Alternatives

[tencentcloud/tencentcloud-sdk-php

TencentCloudApi php sdk

3661.2M46](/packages/tencentcloud-tencentcloud-sdk-php)[theodo-group/llphant

LLPhant is a library to help you build Generative AI applications.

1.7k371.6k6](/packages/theodo-group-llphant)[resend/resend-php

Resend PHP library.

596.2M36](/packages/resend-resend-php)[mozex/anthropic-laravel

Laravel integration for the Anthropic API: facade, config publishing, install command, testing fakes, messages, streaming, tool use, thinking, and batches.

72287.1k1](/packages/mozex-anthropic-laravel)[clicksend/clicksend-php

301.6M11](/packages/clicksend-clicksend-php)[eslazarev/wildberries-sdk

Wildberries OpenAPI clients (generated).

252.5k](/packages/eslazarev-wildberries-sdk)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
