REST API

/{version}/projects

The following operations are supported on this resource:

GET

Displays a list of projects stored in the system. If the number of projects returned exceeds the display maximum, the results are paged.

When submitting a GET request, you can use the following query parameters to filter the results. For more information about using query parameters, please refer to the Filtering list resources section under REST General Concepts.

Parameters

name description type default
start-index When working with large lists of projects, displays the results from a set point. If omitted, the first page of projects is returned. query 0
udf.UDFNAME[.OPERATOR]=UDFVALUE Displays only projects that include the specified UDF value. The system will only return projects with standalone UDFs; it will not return projects with UDFs that belong to a UDT. When filtering results, you can repeat this parameter. query
udt.name=UDTNAME Displays only projects that include data for the specified UDT name. When filtering results, you can repeat this parameter. query
udt.UDTNAME.UDFNAME[.OPERATOR]=UDFVALUE Displays only projects that include the specified value for a UDF within a UDT. The system will only return projects with UDFs that belong to a UDT; it will not return projects with standalone UDFs. When filtering results, you can repeat this parameter. query
last-modified Displays only the projects modified since the specified date, in YYYY-MM-DDThh:mm:ssTZD format. For more information on this format, please refer to the ISO 8601 Complete Date (plus hours, minutes and seconds) standard. query
open-date Displays only the projects submitted since 00:00:00 of the specified date, in YYYY-MM-DD format. query
name Displays only the projects that match the project name against the provided parameter. When filtering results, you can repeat this parameter. query

Output Payload

element produceable content type(s)
projects (XML)
  • application/xml
description
The system returns a response that includes a list of projects and URI links, starting from the start-index offset.

POST

Creates a new project in the system. The system will automatically assign the project a LIMS ID.

When POSTing a project, the following rules apply:

  • You must provide a contact for the project using the researcher element. The researcher you specify must link to an existing researcher in the system and be assigned to a lab.
  • You must provide a name for the project using the name child element.
  • You can use the close-date child element to specify a 'close date' for the project, but only if an 'open date' is provided with the open-date child element.
  • Here is an example <project> in xml format. Note the researcher uri will need to match your system. The file uri is optional and will need to match an existing resource in the system. The UDF and UDT elements are also optional and must be pre-configured in the system.
    <prj:project xmlns:udf="http://genologics.com/ri/userdefined" xmlns:ri="http://genologics.com/ri" xmlns:file="http://genologics.com/ri/file" xmlns:prj="http://genologics.com/ri/project">   <name>API Demo</name>   <open-date>2012-01-03</open-date>   <researcher uri="http://qafunc03:8080/api/v2/researchers/1"/>   <udf:type name="Project UDT Demo">     <udf:field type="String" name="Project UDF UDT Demo">Project UDF Under UDT Demo value</udf:field>   </udf:type>   <udf:field type="String" name="Project Standalone UDF Demo">Project Standalone Demo UDF value</udf:field>   <file:file uri="http://qafunc03:8080/api/v2/files/ADM2-40-3"/> </prj:project>
    Here is an example response in xml format:
    <prj:project xmlns:udf="http://genologics.com/ri/userdefined" xmlns:ri="http://genologics.com/ri" xmlns:file="http://genologics.com/ri/file" xmlns:prj="http://genologics.com/ri/project" uri="http://qafunc03:8080/api/v2/projects/ADM3" limsid="ADM3">   <name>API Demo</name>   <open-date>2012-01-03</open-date>   <researcher uri="http://qafunc03:8080/api/v2/researchers/1"/>   <udf:type name="Project UDT Demo">     <udf:field type="String" name="Project UDF UDT Demo">Project UDF Under UDT Demo value</udf:field>   </udf:type>   <udf:field type="String" name="Project Standalone UDF Demo">Project Standalone Demo UDF value</udf:field>   <file:file limsid="ADM2-40-3" uri="http://qafunc03:8080/api/v2/files/ADM2-40-3"/> </prj:project>

The following attributes of a project can no longer be created:
  • file: files can no longer be created through the POST operation and changes will be ignored. The "files" resource should be used instead. Files attached to a Project are still visible in the payload returned by a GET.

Input Payload

element consumeable content type(s)
project (XML)
  • */*
  • application/xml
description
The information about the project you want to add to the system.

Output Payload

element produceable content type(s)
project (XML)
  • application/xml
description
When the project is successfully created, the system returns an HTTP 201 (Created) code with a response body that includes information about the new project.

/{version}/projects

Home

REST Endpoints

XML Data Elements

XML Data Types