Reference

Projects API

Endpoints under /api/projects, from the com_projects API controllers. Authenticate with an OAuth bearer token or a session cookie; see the developers book for the API basics.

Method Endpoint Purpose
POST /projects Create a project
GET /projects/list (v1.0) Display projects user belongs to
GET /projects/list (v1.1) Display projects user belongs to
GET /projects/list (v2.0) List projects
DELETE /projects/{id} Delete a project
GET /projects/{id} (v1.0) Get project info (if user is in project)
GET /projects/{id} (v1.1) Get project info (if user is in project)
GET /projects/{id} (v2.0) Get project info (if user is in project)
PUT /projects/{id} Update a project
GET /projects/{id}/files (v1.0, filefsv1_0) Get a list of project files
GET /projects/{id}/files (v1.0, filesv1_0) Get a list of project files
GET /projects/{id}/files (v1.0, publicationsv1_0) Get a list of project files
GET /projects/{id}/files/connections Get a list of project files connections
GET,POST /projects/{id}/files/connections/{cid}/chunkedUpload Uploads file chunk(s) and combines them before adding the final file to repository
GET /projects/{id}/files/connections/{cid}/download Download file or folder from project (non-default connection providers only)
GET /projects/{id}/files/connections/{cid}/getmetadata Get file annotation
GET /projects/{id}/files/connections/{cid}/setmetadata Set file annotation
POST /projects/{id}/files/connections/{cid}/upload upload/replace a project file (only for non-default connection providers)
GET /projects/{id}/files/delete (v1.0, filefsv1_0) Delete file or folder from project
GET /projects/{id}/files/delete (v1.0, filesv1_0) Delete file or folder from project
GET /projects/{id}/files/download Download file or folder from project (non-default connection providers only)
GET /projects/{id}/files/get (v1.0, filefsv1_0) Get file(s) metadata
GET /projects/{id}/files/get (v1.0, filesv1_0) Get file(s) metadata
GET /projects/{id}/files/getmetadata Get file annotation
GET /projects/{id}/files/insert (v1.0, filefsv1_0) Insert/update a project file
GET /projects/{id}/files/insert (v1.0, filesv1_0) Insert/update a project file
GET /projects/{id}/files/makedirectory (v1.0, filefsv1_0) Create a folder in project local repo
GET /projects/{id}/files/makedirectory (v1.0, filesv1_0) Create a folder in project local repo
GET /projects/{id}/files/move (v1.0, filefsv1_0) Move file or folder in project
GET /projects/{id}/files/move (v1.0, filesv1_0) Move file or folder in project
GET /projects/{id}/files/rename (v1.0, filefsv1_0) Move file or folder in project
GET /projects/{id}/files/rename (v1.0, filesv1_0) Move file or folder in project
GET /projects/{id}/files/setmetadata Set file annotation
POST /projects/{id}/files/upload upload/replace a project file (only for non-default connection providers)
GET /projects/{id}/team Get a list of project team members

POST /projects

Create a project

API version 2.0, task create in projectsv2_0.php.

Parameter Type Required Default Description
title string yes Project title
alias string yes Project alias
about string no Blurb about the project.
owned_by_user integer no 0 User ID of entry owner. Defaults to entry creator if not specified.
owned_by_group integer no 0 Group ID of entry owner.Specifies if a project is owned by a group.
state integer no 1 Published state (0 = unpublished, 1 = published)
private integer no 1 Private (1) project or publicly disoverable (0)?
sync_group integer no 0 Sync group membership to projects? (only applies if owned_by_group is set.
agree integer yes 0 Agree to terms & conditions
restricted string no Project contains restricted data?
hipaa string no no Project contains HIPAA data?
ferpa string no no Project contains FERPA data?
agree_ferpa integer no 0 Agree to terms & conditions for FERPA data. Required if 'ferpa'='yes'.
irb string no no Project contains IRB data?
agree_irb integer no 0 Agree to terms & conditions for IRB data. Required if 'irb'='yes'.
export string no no Project data can be exported?
grant_title string no Grant title
grant_agency string no Grant agency
grant_PI string no Grant PI
grant_budget string no Grant budget

GET /projects/list (v1.0)

Display projects user belongs to

API version 1.0, task list in projectsv1_0.php.

Parameter Type Required Default Description
limit integer no 0 Number of result to return.
start integer no 0 Number of where to start returning results.
sort string no title Field to sort results by.
sort_Dir string no asc Direction to sort results by.
verbose integer no 0 Receive verbose output for project status, team member role and privacy.

GET /projects/list (v1.1)

Display projects user belongs to

API version 1.1, task list in projectsv1_1.php.

Parameter Type Required Default Description
limit integer no 0 Number of result to return.
start integer no 0 Number of where to start returning results.
sort string no title Field to sort results by.
sort_Dir string no asc Direction to sort results by.
verbose integer no 0 Receive verbose output for project status, team member role and privacy.

GET /projects/list (v2.0)

List projects

API version 2.0, task list in projectsv2_0.php.

Parameter Type Required Default Description
limit integer no 0 Number of result to return.
start integer no 0 Number of where to start returning results.
sort string no title Field to sort results by.
sort_Dir string no asc Direction to sort results by.
verbose integer no 0 Receive verbose output for project status, team member role and privacy.

DELETE /projects/{id}

Delete a project

API version 2.0, task delete in projectsv2_0.php.

Parameter Type Required Default Description
id integer|string yes Project identifier (numeric ID or alias)

GET /projects/{id} (v1.0)

Get project info (if user is in project)

API version 1.0, task get in projectsv1_0.php.

Parameter Type Required Default Description
id string yes Project identifier (numeric ID or alias)

GET /projects/{id} (v1.1)

Get project info (if user is in project)

API version 1.1, task get in projectsv1_1.php.

Parameter Type Required Default Description
id string yes Project identifier (numeric ID or alias)

GET /projects/{id} (v2.0)

Get project info (if user is in project)

API version 2.0, task read in projectsv2_0.php.

Parameter Type Required Default Description
id integer|string yes Project identifier (numeric ID or alias)

PUT /projects/{id}

Update a project

API version 2.0, task update in projectsv2_0.php.

Parameter Type Required Default Description
id integer|string yes Project identifier (numeric ID or alias)
title string yes Project title
alias string yes Project alias
about string no Blurb about the project.
owned_by_user integer no 0 User ID of entry owner. Defaults to entry creator if nto specified.
owned_by_group integer no 0 Group ID of entry owner.Specifies if a project is owned by a group.
state integer no 1 Published state (0 = unpublished, 1 = published)
private integer no 1 Private (1) project or publicly disoverable (0)?
sync_group integer no 0 Sync group membership to projects? (only applies if owned_by_group is set.
restricted string no Project contains restricted data?
hipaa string no no Project contains HIPAA data?
ferpa string no no Project contains FERPA data?
agree_ferpa integer no 0 Agree to terms & conditions for FERPA data. Required if 'ferpa'='yes'.
irb string no no Project contains IRB data?
agree_irb integer no 0 Agree to terms & conditions for IRB data. Required if 'irb'='yes'.
export string no no Project data can be exported?
grant_title string no Grant title
grant_agency string no Grant agency
grant_PI string no Grant PI
grant_budget string no Grant budget

GET /projects/{id}/files (v1.0, filefsv1_0)

Get a list of project files

API version 1.0, task list in filefsv1_0.php.

Parameter Type Required Default Description
id string yes Project identifier (numeric ID or alias)
limit integer no 25 Number of result to return.
limitstart integer no 0 Number of where to start returning results.
filter string no A word or phrase to search for.
subdir string no Directory path within project repo, if not already included in the asset file path.

GET /projects/{id}/files (v1.0, filesv1_0)

Get a list of project files

API version 1.0, task list in filesv1_0.php.

Parameter Type Required Default Description
id string yes Project identifier (numeric ID or alias)
limit integer no 25 Number of result to return.
limitstart integer no 0 Number of where to start returning results.
filter string no A word or phrase to search for.
subdir string no Directory path within project repo, if not already included in the asset file path.

GET /projects/{id}/files (v1.0, publicationsv1_0)

Get a list of project files

API version 1.0, task list in publicationsv1_0.php.

Parameter Type Required Default Description
id string yes Project identifier (numeric ID or alias)
limit integer no 25 Number of result to return.
limitstart integer no 0 Number of where to start returning results.
sortby string no title Field to sort results by.
sortdir string no asc Direction to sort results by.
published string no 0 Get only published datasets (1) or all including drafts (0)

GET /projects/{id}/files/connections

Get a list of project files connections

API version 1.0, task connections in filesv1_0.php.

Parameter Type Required Default Description
id string yes Project identifier (numeric ID or alias)

GET,POST /projects/{id}/files/connections/{cid}/chunkedUpload

Uploads file chunk(s) and combines them before adding the final file to repository

API version 1.0, task chunkedUpload in filesv1_0.php.

Parameter Type Required Default Description
id string yes Project identifier (numeric ID or alias)
cid string yes Connection identifier (numeric ID)
subdir string yes Directory path to upload to
flowFilename string yes Name of file being uploaded
flowIdentifier string yes Temporary file basename for chunk parts
flowTotalChunks integer yes Total number of file chunks
flowTotalSize integer yes Total file size
flowChunkNumber integer yes Index of the chunk in the request
flowChunkSize integer yes Size of ths chunk in the request
flowChunkHash string yes MD5 hash of the chunk in the request

GET /projects/{id}/files/connections/{cid}/download

Download file or folder from project (non-default connection providers only)

API version 1.0, task download in filesv1_0.php.

Parameter Type Required Default Description
id string yes Project identifier (numeric ID or alias)
cid string yes Connection identifier (numeric ID)
asset array yes Array of file paths.
folder array no Array of folder paths.
subdir string no Directory path within project repo, if not already included in the asset file path.

GET /projects/{id}/files/connections/{cid}/getmetadata

Get file annotation

API version 1.0, task getmetadata in filesv1_0.php.

Parameter Type Required Default Description
id string yes Project identifier (numeric ID or alias)
cid string yes Connection identifier (numeric ID or alias)
asset array yes Array of files (do not include local path - use subdir param).
fields array no Fields to get metadata for (if empty, return all fields).
subdir string no Directory path within project repo.

GET /projects/{id}/files/connections/{cid}/setmetadata

Set file annotation

API version 1.0, task setmetadata in filesv1_0.php.

Parameter Type Required Default Description
id string yes Project identifier (numeric ID or alias)
cid string yes Connection identifier (numeric ID or alias)
asset string yes Array of files (do not include local path - use subdir param).
metadata array no Associative array of metadata to update.
subdir string no Directory path within project repo.

POST /projects/{id}/files/connections/{cid}/upload

upload/replace a project file (only for non-default connection providers)

API version 1.0, task upload in filesv1_0.php.

Parameter Type Required Default Description
id string yes Project identifier (numeric ID or alias)
cid string yes Connection identifier (numeric ID)
subdir string no Directory path within project filespace
file binary yes File contents to upload

GET /projects/{id}/files/delete (v1.0, filefsv1_0)

Delete file or folder from project

API version 1.0, task delete in filefsv1_0.php.

Parameter Type Required Default Description
id string yes Project identifier (numeric ID or alias)
asset array yes Array of file paths.
folder array no Array of folder paths.
subdir string no Directory path within project repo, if not already included in the asset file path.

GET /projects/{id}/files/delete (v1.0, filesv1_0)

Delete file or folder from project

API version 1.0, task delete in filesv1_0.php.

Parameter Type Required Default Description
id string yes Project identifier (numeric ID or alias)
asset array yes Array of file paths.
folder array no Array of folder paths.
subdir string no Directory path within project repo, if not already included in the asset file path.

GET /projects/{id}/files/download

Download file or folder from project (non-default connection providers only)

API version 1.0, task download in filefsv1_0.php.

Parameter Type Required Default Description
id string yes Project identifier (numeric ID or alias)
asset array yes Array of file paths.
folder array no Array of folder paths.
subdir string no Directory path within project repo, if not already included in the asset file path.

GET /projects/{id}/files/get (v1.0, filefsv1_0)

Get file(s) metadata

API version 1.0, task get in filefsv1_0.php.

Parameter Type Required Default Description
id string yes Project identifier (numeric ID or alias)
asset array yes Array of file/folder paths to get metadata for.
subdir string no Directory path within project repo, if not already included in the asset file path.

GET /projects/{id}/files/get (v1.0, filesv1_0)

Get file(s) metadata

API version 1.0, task get in filesv1_0.php.

Parameter Type Required Default Description
id string yes Project identifier (numeric ID or alias)
asset array yes Array of file/folder paths to get metadata for.
subdir string no Directory path within project repo, if not already included in the asset file path.

GET /projects/{id}/files/getmetadata

Get file annotation

API version 1.0, task getmetadata in filefsv1_0.php.

Parameter Type Required Default Description
id string yes Project identifier (numeric ID or alias)
asset array yes Array of files (do not include local path - use subdir param).
fields array no Fields to get metadata for (if empty, return all fields).
subdir string no Directory path within project repo.

GET /projects/{id}/files/insert (v1.0, filefsv1_0)

Insert/update a project file

API version 1.0, task save in filefsv1_0.php.

Parameter Type Required Default Description
id string yes Project identifier (numeric ID or alias)
data_path string yes 25 Path to local or remote file.
subdir string no Directory path within project repo, if not already included in the asset file path.

GET /projects/{id}/files/insert (v1.0, filesv1_0)

Insert/update a project file

API version 1.0, task save in filesv1_0.php.

Parameter Type Required Default Description
id string yes Project identifier (numeric ID or alias)
data_path string yes 25 Path to local or remote file.
subdir string no Directory path within project repo, if not already included in the asset file path.

GET /projects/{id}/files/makedirectory (v1.0, filefsv1_0)

Create a folder in project local repo

API version 1.0, task makedirectory in filefsv1_0.php.

Parameter Type Required Default Description
id string yes Project identifier (numeric ID or alias)
directory string yes Directory path
subdir string no Directory path within project repo, if not already included in the asset file path.

GET /projects/{id}/files/makedirectory (v1.0, filesv1_0)

Create a folder in project local repo

API version 1.0, task makedirectory in filesv1_0.php.

Parameter Type Required Default Description
id string yes Project identifier (numeric ID or alias)
directory string yes Directory path
subdir string no Directory path within project repo, if not already included in the asset file path.

GET /projects/{id}/files/move (v1.0, filefsv1_0)

Move file or folder in project

API version 1.0, task move in filefsv1_0.php.

Parameter Type Required Default Description
id string yes Project identifier (numeric ID or alias)
target string yes Target directory path within project repo
asset array yes Array of file paths to move.
folder array no Array of folder paths to move.

GET /projects/{id}/files/move (v1.0, filesv1_0)

Move file or folder in project

API version 1.0, task move in filesv1_0.php.

Parameter Type Required Default Description
id string yes Project identifier (numeric ID or alias)
target string yes Target directory path within project repo
asset array yes Array of file paths to move.
folder array no Array of folder paths to move.

GET /projects/{id}/files/rename (v1.0, filefsv1_0)

Move file or folder in project

API version 1.0, task rename in filefsv1_0.php.

Parameter Type Required Default Description
id string yes Project identifier (numeric ID or alias)
type string yes file File or folder.
from string yes Name of file/folder to rename (do not include local path - use subdir param).
to string yes New name for file/folder (do not include local path - use subdir param).
subdir string no Directory path within project repo.

GET /projects/{id}/files/rename (v1.0, filesv1_0)

Move file or folder in project

API version 1.0, task rename in filesv1_0.php.

Parameter Type Required Default Description
id string yes Project identifier (numeric ID or alias)
type string yes file File or folder.
from string yes Name of file/folder to rename (do not include local path - use subdir param).
to string yes New name for file/folder (do not include local path - use subdir param).
subdir string no Directory path within project repo.

GET /projects/{id}/files/setmetadata

Set file annotation

API version 1.0, task setmetadata in filefsv1_0.php.

Parameter Type Required Default Description
id string yes Project identifier (numeric ID or alias)
asset string yes Array of files (do not include local path - use subdir param).
metadata array no Associative array of metadata to update.
subdir string no Directory path within project repo.

POST /projects/{id}/files/upload

upload/replace a project file (only for non-default connection providers)

API version 1.0, task upload in filefsv1_0.php.

Parameter Type Required Default Description
id string yes Project identifier (numeric ID or alias)
subdir string no Directory path within project filespace
file binary yes File contents to upload

GET /projects/{id}/team

Get a list of project team members

API version 1.0, task list in teamv1_0.php.

Parameter Type Required Default Description
id string yes Project identifier (numeric ID or alias)
limit integer no 25 Number of result to return.
limitstart integer no 0 Number of where to start returning results.
sortby string no title Field to sort results by.
sortdir string no desc Direction to sort results by.

Generated from the source tree.