Create, update, delete

This document explains how to add, update and delete resources via Trello API. This requires authentication, as explained here.

Creating and modifying resources

The create_resource() function allows you to create new boards, cards, lists and other resources. To create a new resource, specify its type (e.g. “card”) using the resource argument. Further details such as name or description must be passed as a named list using the body argument.

The following example creates a new card and places it at the bottom of a list (see the Trello API reference for query parameters):

library(trelloR)
payload = list(
  name = "My new card!", desc = "An example card.", 
  pos = "bottom",
  idList = list_id # get it by calling get_board_lists()
)
create_resource(model = "card", body = payload)

When successful, the request returns a named list of values describing the newly created resource, including its ID. This is very useful as you can immediately capture the ID if you need it.

The update_resource() function follows the similar logic, but can only be used with existing resources.

To delete resources, use delete_resource(), but beware: Deleted resources cannot be brought back!

Built with

sessionInfo()
#> R version 4.3.1 (2023-06-16)
#> Platform: x86_64-pc-linux-gnu (64-bit)
#> Running under: elementary OS 6.1 Jólnir
#> 
#> Matrix products: default
#> BLAS:   /usr/lib/x86_64-linux-gnu/blas/libblas.so.3.9.0 
#> LAPACK: /usr/lib/x86_64-linux-gnu/lapack/liblapack.so.3.9.0
#> 
#> locale:
#>  [1] LC_CTYPE=en_GB.UTF-8       LC_NUMERIC=C              
#>  [3] LC_TIME=en_GB.UTF-8        LC_COLLATE=C              
#>  [5] LC_MONETARY=en_GB.UTF-8    LC_MESSAGES=en_GB.UTF-8   
#>  [7] LC_PAPER=en_GB.UTF-8       LC_NAME=C                 
#>  [9] LC_ADDRESS=C               LC_TELEPHONE=C            
#> [11] LC_MEASUREMENT=en_GB.UTF-8 LC_IDENTIFICATION=C       
#> 
#> time zone: Europe/London
#> tzcode source: system (glibc)
#> 
#> attached base packages:
#> [1] stats     graphics  grDevices utils     datasets  methods   base     
#> 
#> loaded via a namespace (and not attached):
#>  [1] digest_0.6.33     R6_2.5.1          fastmap_1.1.1     xfun_0.40        
#>  [5] cachem_1.0.8      knitr_1.43        htmltools_0.5.6   rmarkdown_2.24   
#>  [9] cli_3.6.1         sass_0.4.7        jquerylib_0.1.4   compiler_4.3.1   
#> [13] rstudioapi_0.15.0 tools_4.3.1       evaluate_0.21     bslib_0.5.1      
#> [17] yaml_2.3.7        rlang_1.1.1       jsonlite_1.8.7