Is there any reason for not exposing all projects settings to the api?


I stumbled across the fact, that the createProject method of the api just accepts 4 properties of a project (based of the documentation under Project API Procedures — Kanboard documentation):
name (string, required)
description (string, optional)
owner_id (integer, optional)
identifier (alphanumeric string, optional)

After searching for it in this forum I found the thread Setting start/end date for projects from the API? - #3 by tobiasbp where a merge request was created which also offers the start_- and end_date as parameters.

So the actual codes allows this 6 parameters (but just 4 are documented), correct?

Am I right, that is would be feasible to adjust the code of
in the same way to extend the api with the missing fields? (priority_default | priority_start | priority_end | email | predefined_email_subjects).

The fields is_public and is_private are also not exposed. Would there be a difference?



I noticed that as well, as I was trying to set is_private to false on some projects from a webhook.

After reading a few issues, I’ve come to the conclusion that « the reason for not exposing all projects settings » is somewhere near « I didn’t need those when I went to write this part ». I also found that « Kanboard will happily accept patches ». So gladly that it did accept the patch you pointed at despite the fact that these two new settings are now available to the API but are not documented :slight_smile:

Reading around this PR again, I now find quite easy to add the is_private setting by myself. If I was to try, I may add the missing documentation for these start_date and end_date settings as well! I did.

Actually I would have prefer having a default is_private value settings available in the Application Settings, even better an option to allow regular users to change this on the projects they own, but hey, that’s much beyond my StackOverflow CopyPasta skills.