How to create Actions on a Board using the REST API

Modified on Tue, 20 Feb 2024 at 08:07 PM


This guild will walk through the steps required to create an Action or Actions on a specific Board in Fluid. 



TABLE OF CONTENTS



In the context of this article, an Action can also be referred to as a Card or Task and this terminology can be used interchangeably.


Requirements


Authentication - PAT token


You will need a valid username and PAT token as part of the REST API request. You can find more information on how to generate a PAT token here Creating a Personal Access Token.



Board identifier - GUID


The board GUID is the key that uniquely identifies a board.

You can use the Board REST API here List Boards to find the board GUID or alternatively the GUID for a board can be found in the browser URL. Navigate to the board you want to create the action for, the URL should read as http://organisation.fluid.work/Process/Board/7505a102-93fc-4465-a23b-2eb6303f7f71 the value 7505a102-93fc-4465-a23b-2eb6303f7f71 is the board GUID you should pass as part of the create Action payload.



The board GUID is referred to as a Principal GUID in Fluid terminology. A principal is considered a tier 1 object within the Fluid framework and represents the container this Action belongs to. Examples of principals include Users, Meetings, Projects etc. In this article the Action is created with its principal GUID defined as the board GUID.



Creating a single Action on a Board


HTTP

POST https://organisation.fluid.work/rest/api/action

cURL

curl --user username:pattoken --location 'http://organisation.fluid.work/rest/api/action' \
--header 'Content-Type: application/json' \
--data '	{
    "fields": {
        "principalGuid": "7505a102-93fc-4465-a23b-2eb6303f7f71",
        "title": "Sample Title",
        "description": "Sample Description",
        "status": "Not Started",
        "taskType": "Task"
    }
}'


with optional parameters


HTTP

POST https://organisation.fluid.work/rest/api/action?fields={fields}&$expand={$expand}&version=3.0

cURL

curl --user username:pattoken --location 'http://organisation.fluid.work/rest/api/action?fields=all&expand=all' \
--header 'Content-Type: application/json' \
--data '	{
    "fields": {
        "principalGuid": "7505a102-93fc-4465-a23b-2eb6303f7f71",
        "title": "Sample Title",
        "description": "Sample Description",
        "status": "Not Started",
        "taskType": "Task"
    }
}'


Response

Status code: 200

JSON


{
    "fields": {
        "assignee": [
            {
                "id": 603,
                "guid": "f1cb6467-0262-4539-9148-7b869defd817",
                "name": "David Burt",
                "userName": "david.burt",
                "email": "dump18@fluidbsg.com"
            }
        ],
        "attachmentCount": 0,
        "author": {
            "id": 603,
            "guid": "f1cb6467-0262-4539-9148-7b869defd817",
            "name": "David Burt",
            "userName": "david.burt",
            "email": "dump18@fluidbsg.com"
        },
        "boardCategory": 0,
        "boardId": 0,
        "boardGuid": "7505a102-93fc-4465-a23b-2eb6303f7f71",
        "boardTitle": "Bulk edit",
        "businessValue": 0,
        "chatCount": 0,
        "contentType": "Process",
        "createDate": "2024-02-16T19:20:41.0000000",
        "description": "Sample Description - Create Action on a Board",
        "descriptionHtml": "Sample Description - Create Action on a Board",
        "dueDate": null,
        "endDate": null,
        "isClosed": false,
        "isCalculated": false,
        "isOwner": true,
        "modifiedBy": {
            "id": 603,
            "guid": "f1cb6467-0262-4539-9148-7b869defd817",
            "name": "David Burt",
            "userName": "david.burt",
            "email": "dump18@fluidbsg.com"
        },
        "modifiedDate": "2024-02-16T19:20:41.0000000",
        "principalGuid": "7505a102-93fc-4465-a23b-2eb6303f7f71",
        "shortCode": "BE-105",
        "startDate": null,
        "status": "Not Started",
        "statusCode": 1,
        "taskType": "Task",
        "title": "Sample Title - Create Action on a Board",
        "titleRichText": "Sample Title - Create Action on a Board",
        "titleHtml": "Sample Title - Create Action on a Board"
    },
    "id": 4433,
    "methods": [
        {
            "type": "PermaLink",
            "httpMethod": "GET",
            "url": "https://organisation.fluid.work/Action/EditFull/12c2e661-270c-43e1-8d05-1218b5842b6c"
        },
        {
            "type": "Update",
            "httpMethod": "PUT",
            "url": "https://organisation.fluid.work/rest/api/action/4433",
            "description": "Update Action",
            "payload": {
                "fields": {
                    "description": "<Description>",
                    "title": "<Title>"
                },
                "customProperties": []
            }
        },
        {
            "type": "Delete",
            "httpMethod": "DELETE",
            "url": "https://organisation.fluid.work/rest/api/action/4433"
        }
    ],
    "guid": "12c2e661-270c-43e1-8d05-1218b5842b6c",
    "url": "https://organisation.fluid.work/rest/api/action/4433"
}



Creating multiple Actions on a Board


HTTP

POST https://organisation.fluid.work/rest/api/action/bulk

cURL

curl --user username:patToken --location 'http://organisation.fluid.work/rest/api/action/bulk' \
--header 'Content-Type: application/json' \
--data '[
    {
        "Fields": {
            "principalGuid": "7505a102-93fc-4465-a23b-2eb6303f7f71",
            "title": "BULK Create 1",
            "description": "Bulk Create 1 - Description",
            "status": "Not Started",
            "taskType": "Task"
        }
    },
    {
        "fields": {
            "principalGuid": "7505a102-93fc-4465-a23b-2eb6303f7f71",
            "title": "BULK Create 2",
            "description": "Bulk Create 2  - Description",
            "status": "Not Started",
            "taskType": "Task"
        }
    }
]'


with optional parameters


HTTP

POST https://organisation.fluid.work/rest/api/action/bulk?fields={fields}&$expand={$expand}&version=3.0

cURL

curl --user username:pat_token --location 'http://organisation.fluid.work/rest/api/action/bulk?fields=all&expand=all' \
--header 'Content-Type: application/json' \
--data '[
    {
        "Fields": {
            "principalGuid": "7505a102-93fc-4465-a23b-2eb6303f7f71",
            "title": "BULK Create 1",
            "description": "Bulk Create 1 - Description",
            "status": "Not Started",
            "taskType": "Task"
        }
    },
    {
        "fields": {
            "principalGuid": "7505a102-93fc-4465-a23b-2eb6303f7f71",
            "title": "BULK Create 2",
            "description": "Bulk Create 2  - Description",
            "status": "Not Started",
            "taskType": "Task"
        }
    }
]'


Response

Status code: 200

JSON

{
    "fields": {
        "assignee": [
            {
                "id": 603,
                "guid": "f1cb6467-0262-4539-9148-7b869defd817",
                "name": "David Burt",
                "userName": "david.burt",
                "email": "dump18@fluidbsg.com"
            }
        ],
        "attachmentCount": 0,
        "author": {
            "id": 603,
            "guid": "f1cb6467-0262-4539-9148-7b869defd817",
            "name": "David Burt",
            "userName": "david.burt",
            "email": "dump18@fluidbsg.com"
        },
        "boardCategory": 0,
        "boardId": 0,
        "businessValue": 0,
        "chatCount": 0,
        "contentType": "Task",
        "createDate": "2024-02-16T18:22:18.0000000",
        "description": "Bulk Create 1 - Descrption",
        "descriptionHtml": "Bulk Create 1 - Descrption",
        "dueDate": null,
        "endDate": null,
        "impediment": 0,
        "isClosed": false,
        "isCalculated": false,
        "isOwner": true,
        "modifiedBy": {
            "id": 603,
            "guid": "f1cb6467-0262-4539-9148-7b869defd817",
            "name": "David Burt",
            "userName": "david.burt",
            "email": "dump18@fluidbsg.com"
        },
        "modifiedDate": "2024-02-16T18:22:18.0000000",
        "owners": [
            {
                "id": 603,
                "guid": "f1cb6467-0262-4539-9148-7b869defd817",
                "name": "David Burt",
                "userName": "david.burt",
                "email": "dump18@fluidbsg.com"
            }
        ],
        "priority": "Medium",
        "principalGuid": "f1cb6467-0262-4539-9148-7b869defd817",
        "ragStatus": "Green",
        "shortCode": "DB-117",
        "startDate": null,
        "status": "Not Started",
        "statusCode": 4,
        "taskType": "Task",
        "title": "BULK Create 1",
        "titleRichText": "BULK Create 1",
        "titleHtml": "BULK Create 1"
    },
    "id": 4415,
    "methods": [
        {
            "type": "PermaLink",
            "httpMethod": "GET",
            "url": "https://organisation.fluid.work/Action/EditFull/90d486aa-11e9-461d-85a0-f72df83a5e5f"
        },
        {
            "type": "Update",
            "httpMethod": "PUT",
            "url": "https://organisation.fluid.work/rest/api/action/4415",
            "description": "Update Action",
            "payload": {
                "fields": {
                    "description": "<Description>",
                    "title": "<Title>"
                },
                "customProperties": []
            }
        },
        {
            "type": "Delete",
            "httpMethod": "DELETE",
            "url": "https://organisation.fluid.work/rest/api/action/4415"
        }
    ],
    "guid": "90d486aa-11e9-461d-85a0-f72df83a5e5f",
    "url": "https://organisation.fluid.work/rest/api/action/4415"
},
{
    "fields": {
        "assignee": [
            {
                "id": 603,
                "guid": "f1cb6467-0262-4539-9148-7b869defd817",
                "name": "David Burt",
                "userName": "david.burt",
                "email": "dump18@fluidbsg.com"
            }
        ],
        "attachmentCount": 0,
        "author": {
            "id": 603,
            "guid": "f1cb6467-0262-4539-9148-7b869defd817",
            "name": "David Burt",
            "userName": "david.burt",
            "email": "dump18@fluidbsg.com"
        },
        "boardCategory": 0,
        "boardId": 0,
        "businessValue": 0,
        "chatCount": 0,
        "contentType": "Task",
        "createDate": "2024-02-16T18:22:18.0000000",
        "description": "Bulk Create 2 - Descrption",
        "descriptionHtml": "Bulk Create 2  - Descrption",
        "dueDate": null,
        "endDate": null,
        "impediment": 0,
        "isClosed": false,
        "isCalculated": false,
        "isOwner": true,
        "modifiedBy": {
            "id": 603,
            "guid": "f1cb6467-0262-4539-9148-7b869defd817",
            "name": "David Burt",
            "userName": "david.burt",
            "email": "dump18@fluidbsg.com"
        },
        "modifiedDate": "2024-02-16T18:22:18.0000000",
        "owners": [
            {
                "id": 603,
                "guid": "f1cb6467-0262-4539-9148-7b869defd817",
                "name": "David Burt",
                "userName": "david.burt",
                "email": "dump18@fluidbsg.com"
            }
        ],
        "priority": "Medium",
        "principalGuid": "f1cb6467-0262-4539-9148-7b869defd817",
        "ragStatus": "Green",
        "shortCode": "DB-118",
        "startDate": null,
        "status": "Not Started",
        "statusCode": 4,
        "taskType": "Task",
        "title": "BULK Create 2",
        "titleRichText": "BULK Create 2",
        "titleHtml": "BULK Create 2"
    },
    "id": 4416,
    "methods": [
        {
            "type": "PermaLink",
            "httpMethod": "GET",
            "url": "https://organisation.fluid.work/Action/EditFull/778f7f08-fe2b-4b4f-9e52-49ea2c9319e8"
        },
        {
            "type": "Update",
            "httpMethod": "PUT",
            "url": "https://organisation.fluid.work/rest/api/action/4416",
            "description": "Update Action",
            "payload": {
                "fields": {
                    "description": "<Description>",
                    "title": "<Title>"
                },
                "customProperties": []
            }
        },
        {
            "type": "Delete",
            "httpMethod": "DELETE",
            "url": "https://organisation.fluid.work/rest/api/action/4416"
        }
    ],
    "guid": "778f7f08-fe2b-4b4f-9e52-49ea2c9319e8",
    "url": "https://organisation.fluid.work/rest/api/action/4416"
}


Definitions


NameDescription
idThe Id integer, uniquely identifies this particular Action, can be interchangeable with guid, see below
guidThe guid string, uniquely identifies this particular Action, can be interchangeable with id, see above
urlThe REST GET Url for this Action
fieldsMap of field and values for the Action
assignee[]Describes a list of users this action has been assigned to
authorDescribes the user who authored this Action
modifiedByDescribes the user who last modified this Action
owners[]Describes a list of users this action is owned by
customProperties[]Describes a list of customProperties for this Action if configured.
methods[]Describes relevant actions that can be made against this Action, including REST url and payload information



Attachments[]


NameDescription
idThe Id integer, uniquely identifies this particular User, can be interchangeable with guid, see below
guidThe guid string, uniquely identifies this particular User, can be interchangeable with id, see above
typeThe type of attachment, Report etc
statusStatus of the attachment
fileNameThe filename of the attachment
titleTitle of the attachment
modifiedDateThe last date the attachment was modified
modifiedByThe User that made the last modification to the attachment
linkThe URL link to download the attachment


CustomProperties[]


NameDescription
guidThe guid string, uniquely identifies this particular custom property
dataTypeThe data type of the value for this Custom Property. eg string, datetime etc
isAdminLocked
isCatalogTypeCustom Property is a Catalog Type and is used as part of taxonomy
isMultipleCan contain multiple values
isSubType
keyUnique name key that identifies this Custom Property by name
requiredFlag to indicate this Custom Property requires a valid value
reportableFlag to indicate this Custom Property is reportable
readOnlyFlag to indicate value is read only and cannot be changed
valueThe value of this Custom Property


Assignee[]


NameDescription
idThe Id integer, uniquely identifies this particular User, can be interchangeable with guid, see below
guidThe guid string, uniquely identifies this particular User, can be interchangeable with id, see above
nameThe long name of this User
usernameThe username associated with this User
emailUnique email associated with this User


Author


NameDescription
idThe Id integer, uniquely identifies this particular User, can be interchangeable with guid, see below
guidThe guid string, uniquely identifies this particular User, can be interchangeable with id, see above
nameThe long name of this User
usernameThe username associated with this User
emailUnique email associated with this User


ModifiedBy


NameDescription
idThe Id integer, uniquely identifies this particular User, can be interchangeable with guid, see below
guidThe guid string, uniquely identifies this particular User, can be interchangeable with id, see above
nameThe long name of this User
usernameThe username associated with this User
emailUnique email associated with this User



Owners[]


NameDescription
idThe Id integer, uniquely identifies this particular User, can be interchangeable with guid, see below
guidThe guid string, uniquely identifies this particular User, can be interchangeable with id, see above
nameThe long name of this User
usernameThe username associated with this User
emailUnique email associated with this User



Methods[]


NameDescription
typeThe type of action this method performs
httpMethodHTTP Request Method verb
urlThe REST URL that can be used with the Http Method verb
descriptionDescription of what this method performs
payloadSample payload related to the HTTP Method verb. This payload is typically the minimal payload required to perform the verb method.

Was this article helpful?

That’s Great!

Thank you for your feedback

Sorry! We couldn't be helpful

Thank you for your feedback

Let us know how can we improve this article!

Select atleast one of the reasons

Feedback sent

We appreciate your effort and will try to fix the article