Skip to main content
Unsere Website gibt es auch auf Deutsch - würden Sie gerne zu dieser Version wechseln?Zur deutschen Version wechseln
MADE & HOSTED IN GERMANY
ISO 27001 CERTIFIED, BSI C5

Stackfield API

With the Stackfield API, you can exchange data between your systems and Stackfield, read and edit tasks, and automate internal processes.

Description

You can find an article with examples on how to easily use Webhooks with external tools on the following page: https://www.stackfield.com/blog/automated-processes-zapier-ifttt-86

Incoming Webhooks let you transmit information directly to Stackfield without detours. The interface uses HTTP requests with JSON payloads, allowing you to create messages, tasks, or similar content in Stackfield. Tasks can also be read, updated, and filtered in a targeted way; individual Webhooks can optionally be secured with JWT. To send data to Stackfield, you first need to generate POST URLs.

Where do I find the POST URL?

POST URL for sending data

The POST URL for sending data to a room can be retrieved via the room settings. To do this, open the settings of the desired room and switch to the "Integrations" tab.

Using the "Add a new Webhook" button, you can select which type of content you want to send to Stackfield. The corresponding POST URL is then generated, which you can store in your external system.

The POST URL is used for sending or creating content via incoming Webhooks. For reading, updating, and filtering existing tasks, dedicated endpoints are available (see the sections "Read task", "Update task", and "Filter tasks").

POST URL for changing room settings

You can also find the room API ID in the room settings under the "Integrations" tab. It allows room-specific settings to be read and edited via the API.

Note: This function is only available in the Enterprise version.
POST URL for changing organization settings

Within the organization settings, there is an "Integrations" tab that lets you manage all interfaces to the organization. The "Webhook" option is listed there; after clicking "More", the necessary options for adding new Webhooks to control the organization settings are displayed.

Note: This function is only available in the Enterprise version.

Limitations

A maximum of one request per second can be processed.

Availability

In addition to forwarding information to Stackfield, it is also possible to make changes to the settings of rooms and the organization. Editing settings via the API is only available in the Enterprise package.

Authentication (JWT)

In addition to the unique Webhook URL, a Webhook can optionally be secured with JWT (JSON Web Token). If this option is enabled, a token is generated for the Webhook that must be sent in the Authorization header with every request. Requests without a valid token are rejected.

The token is permanently bound to the respective Webhook URL and cannot be used for another Webhook. To revoke a token, remove it from the Webhook in the room settings. A newly generated token replaces the previous one, thereby invalidating it.

Token source
Room settings > Integrations > Webhook > JWT authentication
Header
Authorization: "Bearer <TOKEN>"
Example
curl -X POST -H 'Content-Type: application/json' -H 'Authorization: Bearer <TOKEN>' -d '{"Title":"Hello World!"}' https://www.stackfield.com/apiwh/e5a1cfbd-970e-45a1-b81c-3e004f9bdab5

Error codes

For failed API requests, Stackfield returns a corresponding error code together with a description of the cause. The following overview lists the possible error codes and their respective meanings.

Note: API error messages are always returned in English, regardless of the language selected in Stackfield.

Error code Description
200Successful request and response.
4030Request could not be completed.
4031Invalid request.
4032Encrypted rooms are not supported.
4033Room type is not supported.
4034Invalid request.
4035List level: Module, Room or Organisation not active.
4035Invalid request. ObjectId is invalid.
4036Room level: Module, Room or Organisation not active.
4037Organisation level: Module, Room or Organisation not active.
4038Integration disabled.
4038Module disabled.
4039This organization is not a paid organization.
4040API call limit exceeded.
4041No files found.
4042File is too big. Max 1GB.
4042There is not enough free storage space in this organization to perform the upload.
4043Cannot read file.
4044Attachment could not be added.
4045Invalid file type.
4050Invalid request. Title is null or empty.
4051Invalid request. Users is null or empty.
4052Invalid request. Command is unknown.
4055Invalid request. DateEnd is before DateStart.
4056Invalid request. User contains invalid email.
4056Invalid request. Property could not be parsed.
4057Double request.
4060Invalid email.
4061Invalid email. Item not found
4070Invalid request. Command is null or empty.
4071Invalid request. RoomId is null or empty.
4072Not enough free slots.
4073Too many invitations
4074Users are managed by your domain.
4075Invalid request. User with email not member of this organization.
4076Invalid request. User with email is already deactivated.
4077Invalid request. You can not remove all admins.
4078Invalid email and group combination.
4079Room is already archived.
4080User is already member of this organization.
4081Setting: Rooms must be encrypted.
4082You can not use encrypted templates.
4083Invalid request. {Name} not found.
4084Invalid or missing authentication token.

Chat Message

POST URL source
Room settings > Integrations > Add a new Webhook > Chat Message
Parameters
Parameter Required Description
Title Yes Content of the chat message
Type
POST Content-Type: "application/json"
Example
curl -X POST -H 'Content-Type: application/json' -d '{"Title":"Hello World!"}' https://www.stackfield.com/apiwh/e5a1cfbd-970e-45a1-b81c-3e004f9bdab5

Discussion

POST URL source
Room settings > Integrations > Add a new Webhook > Discussion
Parameters
Parameter Required Description
TitleYesTitle of the discussion
ContentNoDescription of the discussion
Type
POST Content-Type: "application/json"
Example
curl -X POST -H 'Content-Type: application/json' -d '{"Title":"I am the title", "Content":"I am a description"}' https://www.stackfield.com/apiwh/e5a1cfbd-970e-45a1-b81c-3e004f9bdab5

Task

POST URL source
Room settings > Integrations > Add a new Webhook > Task
Parameters
Parameter Required Description
TitleYesTitle of the task
ContentNoDescription of the task
DateStartNoStart date (ISO 8601 format)
DateEndNoEnd date (ISO 8601 format)
UsersNoList of email addresses of the assigned persons
LabelsNoName of the label
StatusNoName of the status
Name of the custom fieldNoContent of the custom field, e.g. an option of a dropdown list or true / false for a checkbox
Type
POST Content-Type: "application/json"
Example
curl -X POST -H 'Content-Type: application/json' -d '{"Title":"I am the title", "Content":"I am a description", "DateStart":"2026-07-09T00:00+02:00", "Users":["user1@demo.de","user2@demo.de"], "Labels": ["Prio"], "Prozentsatz": "10", "Checkbox": true, "ColorSelection": "Green"}' https://www.stackfield.com/apiwh/e5a1cfbd-970e-45a1-b81c-3e004f9bdab5
This screenshot shows the task created from the example above

Read task

Note: This function is available with the Premium version and above.

Reads an existing task. The task is addressed via its defValueId in the URL. This function is only available in unencrypted rooms.

POST URL source
Room settings > Integrations > Add a new Webhook > Task
Parameters
Parameter Required Description
defValueIdYesIdentifier of the task. Passed as part of the URL (not in the body). You obtain the defValueId as a return value when creating a task via the API, when reading via the "Filter tasks" endpoint (/list), or directly in the app at the top of the task dialog ("Task ID", provided it is enabled in the settings of the task module).
Type
GET
Example
curl -X GET https://www.stackfield.com/apiwh/e5a1cfbd-970e-45a1-b81c-3e004f9bdab5/{defValueId}
Response
{
    "Result": {
        "ValueId": 116785,
        "DefValueId": "T0021-315",
        "Status": "Todo",
        "Users": [
            "user1@demo.de",
            "user2@demo.de"
        ],
        "Title": "task 2",
        "Content": "Description of the task",
        "customTextfield": "task2 text",
        "customCheckBox": false,
        "customDropdown": "op1",
        "Subtasks": []
    },
    "ErrorText": ""
}

Update task

Note: This function is available with the Premium version and above.

Updates an existing task. The task is addressed via its defValueId in the URL; the fields to be changed are passed in the body. Standard fields as well as custom fields can be filled and updated. This function is only available in unencrypted rooms.

POST URL source
Room settings > Integrations > Add a new Webhook > Task
Parameters
Parameter Required Description
defValueIdYesIdentifier of the task to be updated (part of the URL, not the body)
TitleNoTitle of the task
ContentNoDescription of the task
StatusNoName of the status (including custom statuses)
UsersNoList of email addresses of the assigned persons
DateStartNoStart date (ISO 8601 format)
DateEndNoEnd date (ISO 8601 format)
Name of the custom fieldNoContent of the custom field. The key corresponds to the name of the field; the value depends on the field type (see table below).
Custom field types (examples)
Field type Example value Description
Text field"text test"Free text (single-line)
Text box"text box test"Free text (multi-line)
CheckboxfalseBoolean value (true / false)
Date"2026-05-05"Date (ISO 8601)
Dropdown list"op1"Name of the selected option
Decimal number3.14Number with decimal places
Number1337Integer
User"user@demo.de"Email address of the user
Email"user@demo.de"Email address
Hyperlink"https://www.example.com/"URL
Phone"089-123456"Phone number
Currency"42 EUR"Amount incl. currency
Percentage50Percentage value as a number, optionally with or without "%"
Type
POST Content-Type: "application/json"
Example
curl -X POST -H 'Content-Type: application/json' -d '{"Title":"webhook 3", "Content":"descr", "Status":"Doing", "Users":["user1@demo.de","user2@demo.de"], "DateStart":"2026-05-20", "DateEnd":"2026-05-25", "customTextfield":"text test", "customCheckBox":false, "customDate":"2026-05-05", "customDropdown":"op1", "customDecimal":3.14, "customNumber":1337, "customTextbox":"text box test", "customUser":"user@demo.de", "customMail":"user@demo.de", "customHyperlink":"https://www.example.com/", "customPhone":"089-123456", "customCurrency":"42 EUR", "customPercentage":50}' https://www.stackfield.com/apiwh/e5a1cfbd-970e-45a1-b81c-3e004f9bdab5/{defValueId}

Filter tasks

Note: This function is available with the Premium version and above.

Returns a list of tasks that match the given rules. Multiple rules are always combined with AND (an OR combination is not supported). This function is only available in unencrypted rooms.

POST URL source
Room settings > Integrations > Add a new Webhook > Task
Structure of a rule
Parameter Required Description
RulesYesList of rules. All rules are combined with AND.
fieldYesName of the field to filter by (standard field or custom field)
opYesOperator (see table below)
dataYesComparison value
Operators
Operator Meaning Description
eqequalequal to
nenot equalnot equal to
ltless thanless than
leless or equalless than or equal to
gtgreater thangreater than
gegreater or equalgreater than or equal to
Filterable fields
Field Operators Notes
Date fields (e.g. DateStart, DateEnd)eq, ne, gt, ge, lt, leOnly tasks for which the date is set are returned.
Text fieldseq, nene with "" filters for non-empty fields; eq filters for specific content.
Statuseq, neFilters for a status (including custom statuses).
Type
POST Content-Type: "application/json"
Example
curl -X POST -H 'Content-Type: application/json' -d '{"Rules":[{"field":"DateStart","op":"ge","data":"2026-06-16"},{"field":"DateEnd","op":"le","data":"2026-06-10"},{"field":"customTextfield","op":"ne","data":""},{"field":"customTextfield","op":"eq","data":"test content"},{"field":"Status","op":"eq","data":"Doing"}]}' https://www.stackfield.com/apiwh/e5a1cfbd-970e-45a1-b81c-3e004f9bdab5/list

Page

POST URL source
Room settings > Integrations > Add a new Webhook > Page
Parameters
Parameter Required Description
TitleYesTitle of the page
ContentNoDescription of the page
Type
POST Content-Type: "application/json"
Example
curl -X POST -H 'Content-Type: application/json' -d '{"Title":"I am the title", "Content":"I am a description"}' https://www.stackfield.com/apiwh/e5a1cfbd-970e-45a1-b81c-3e004f9bdab5

File

POST URL source
Room settings > Integrations > Add a new Webhook > File
Parameters
Parameter Required Description
FileYesFile path
Type
POST Content-Type: "multipart/form-data"
Example
curl -F 'File=@C:\Pictures\MyImage.jpg' https://www.stackfield.com/apiwh/e5a1cfbd-970e-45a1-b81c-3e004f9bdab5

Appointment

POST URL source
Room settings > Integrations > Add a new Webhook > Appointment
Parameters
Parameter Required Description
TitleYesTitle of the appointment
ContentNoDescription of the appointment
DateStartYesStart date (ISO 8601 format)
DateEndYesEnd date (ISO 8601 format)
UsersNoList of email addresses of the invited persons
Type
POST Content-Type: "application/json"
Example
curl -X POST -H 'Content-Type: application/json' -d '{"Title":"I am the title", "Content":"I am a description", "DateStart":"2026-07-08T22:00:00+02:00","DateEnd":"2026-07-08T23:00:00+02:00", "Users":["user1@demo.de","user2@demo.de"]}' https://www.stackfield.com/apiwh/e5a1cfbd-970e-45a1-b81c-3e004f9bdab5

Add user to organization

Note: This function is only available in the Enterprise version.
POST-URL
Organization settings > Integrations > Webhook > Add a new Webhook
Parameters
Parameter Required Description
CommandYesCommand name: CreateUser
EmailYesEmail address of the user
DisplayNameYesDisplay name of the user
UserNameOnly with Windows authentication (on OnPremise)User ID
OrgRoleIdYesRole in organization:
1 - Admin
2 - Member
3 - Guest
4 - External
AuthProviderNo (only used with SSO)ID of the identity provider
Type
POST Content-Type: "application/json"
Example
curl -X POST -H 'Content-Type: application/json' -d '{"Command":"CreateUser","Email":"apiTester01@webhook.de","DisplayName":"Api Tester01","OrgRoleId":2}' https://www.stackfield.com/apiwh/e5a1cfbd-970e-45a1-b81c-3e004f9bdab5

Remove user from organization

Note: This function is only available in the Enterprise version.
POST-URL
Organization settings > Integrations > Webhook > Add a new Webhook
Parameters
Parameter Required Description
CommandYesCommand name: RemoveUser
EmailYesEmail address of the user
Type
POST Content-Type: "application/json"
Example
curl -X POST -H 'Content-Type: application/json' -d '{"Command":"RemoveUser","Email":"apiTester01@webhook.de"}' https://www.stackfield.com/apiwh/e5a1cfbd-970e-45a1-b81c-3e004f9bdab5

Deactivate user in organization

Note: This function is only available in the Enterprise version.
POST-URL
Organization settings > Integrations > Webhook > Add a new Webhook
Parameters
Parameter Required Description
CommandYesCommand name: DeactivateUser
EmailYesEmail address of the user
Type
POST Content-Type: "application/json"
Example
curl -X POST -H 'Content-Type: application/json' -d '{"Command":"DeactivateUser","Email":"apiTester01@webhook.de"}' https://www.stackfield.com/apiwh/e5a1cfbd-970e-45a1-b81c-3e004f9bdab5

Create room

Note: This function is only available in the Enterprise version.
POST-URL
Organization settings > Integrations > Webhook > Add a new Webhook
Parameters
Parameter Required Description
CommandYesCommand name: CreateRoom
RoomId(Return)ID of the room
NameYesName of the room
DescriptionNoDescription of the room
TemplateIdNoID of the room template
UsersYesList of room members as objects with Email and optionally GroupId and IsAdmin
Type
POST Content-Type: "application/json"
Example
curl -X POST -H 'Content-Type: application/json' -d '{"Command":"CreateRoom","Name":"webhook room from template6","Description":"new webhook room desc","TemplateId":"03852566-669e-4991-9491-12ab34cd56ef","Users":[{"Email":"remtester@mail.de","GroupId":2,"IsAdmin":"true"}]}' https://www.stackfield.com/apiwh/e5a1cfbd-970e-45a1-b81c-3e004f9bdab5

Archive room

Note: This function is only available in the Enterprise version.
POST-URL
Organization settings > Integrations > Webhook > Add a new Webhook > Room settings
Parameters
Parameter Required Description
CommandYesCommand name: ArchiveRoom
Type
POST Content-Type: "application/json"
Example
curl -X POST -H 'Content-Type: application/json' -d '{"Command":"ArchiveRoom"}' https://www.stackfield.com/apiwh/e5a1cfbd-970e-45a1-b81c-3e004f9bdab5

Add user to room

Note: This function is only available in the Enterprise version.
POST-URL
Organization settings > Integrations > Webhook > Add a new Webhook > Room settings
Room settings > Integrations > Webhook > Add a new Webhook > Room settings
Parameters
Parameter Required Description
CommandYesCommand name: GrantRoomAccess
UsersYesList of room members as objects with Email and optionally GroupId and IsAdmin
RoomIdNoRoom API ID
Type
POST Content-Type: "application/json"
Example
curl -X POST -H 'Content-Type: application/json' -d '{"Command":"GrantRoomAccess", "Users":[{"Email":"remtester@mail.de","GroupId":2,"IsAdmin":"true"}]}' https://www.stackfield.com/apiwh/e5a1cfbd-970e-45a1-b81c-3e004f9bdab5

Remove user from room

Note: This function is only available in the Enterprise version.
POST-URL
Organization settings > Integrations > Webhook > Add a new Webhook > Room settings
Room settings > Integrations > Webhook > Add a new Webhook > Room settings
Parameters
Parameter Required Description
CommandYesCommand name: RevokeRoomAccess
UsersYesList of email addresses of the members to be removed
RoomIdNoRoom API ID
Type
POST Content-Type: "application/json"
Example
curl -X POST -H 'Content-Type: application/json' -d '{"Command":"RevokeRoomAccess","Users":["remtester@mail.de"]}' https://www.stackfield.com/apiwh/e5a1cfbd-970e-45a1-b81c-3e004f9bdab5
Ready to try Stackfield?
Trusted by over 10,000 companies since 2012
Try it free for 14 days