Manifest Endpoints

The manifest endpoints are used to manage and retrieve information about sample manifests, including fetching manifests, sample records and validation reports.

Note

The examples below use API endpoints from the live COPO website.

To use the demo website instead, replace https://copo-project.org/api/ with https://demo.copo-project.org/api/ in the URLs.

Tip

  • To view details of the endpoint, click the manifest-collapsible-item-arrow Show endpoint details button.

  • Then, inside that section, click the manifest-collapsible-item-arrow Show API query parameters button to see input parameter details.

  • By default, the API returns results in JSON format and uses the Tree of Life (ToL) standard. You do not need to specify these unless you want to override them.

    To explicitly include them in the API URL:

    • Use ?return_type=json or ?standard=tol if there are no other query parameters.

    • Use &return_type=json or &standard=tol if the URL already includes other parameters.

See also

See term Manifest for more information.


Fetch Manifests

Show endpoint details

Usage

https://copo-project.org/api/manifest
$ curl -X GET "https://copo-project.org/api/manifest" -H  "accept: application/json"

Fetch Manifests Filtered by Sequencing Centre

Show endpoint details
Show API query parameters

Tip

Filters are applied by appending them as query parameters in the API URL. See the Usage and Example sections for details.

  • sequencing_centre (required): The name of the sequencing centre used to filter sample records. Choose from the list of available sequencing centres provided in this endpoint.

  • return_type (optional): Output format for the results. Options include json (default) and csv


Usage

Please include at least the sequencing_centre parameter value in the API URL to retrieve a list of manifest IDs records by that sequencing centre. Replace <sequencing-centre> with the desired sequencing centre name.

https://copo-project.org/api/manifest/sequencing_centre?sequencing_centre=<sequencing-centre>
$ curl -X GET "https://copo-project.org/api/manifest/sequencing_centre?sequencing_centre=<sequencing-centre>" -H  "accept: application/json"

Example

To retrieve manifest IDs associated with the sequencing centre EARLHAM INSTITUTE in the default JSON format, use the following URL.

https://copo-project.org/api/manifest/sequencing_centre?sequencing_centre=EARLHAM%20INSTITUTE
$ curl -X GET "https://copo-project.org/api/manifest/sequencing_centre?sequencing_centre=EARLHAM%20INSTITUTE" -H  "accept: application/json"

Fetch Current Manifest Versions

Show endpoint details
Show API query parameters

Tip

Filters are applied by appending them as query parameters in the API URL. See the Usage and Example sections for details.

  • manifest_type (optional): The type of the manifest [2]. If no manifest type is provided, COPO returns a list of project names along with the latest manifest version associated with each.

  • return_type (optional): Output format for the results. Options include json (default) and csv


Usage

https://copo-project.org/api/manifest/current_version
$ curl -X GET "https://copo-project.org/api/manifest/current_version" -H  "accept: application/json"

Example

To retrieve the current manifest version of the DTOL project in the default JSON format, use the following URL.

https://copo-project.org/api/manifest/current_version?manifest_type=DTOL
$ curl -X GET "https://copo-project.org/api/manifest/current_version?manifest_type=DTOL" -H "accept: application/json"

Fetch Sample in Manifest by Manifest ID

Show endpoint details
Show API query parameters

Tip

Filters are applied by appending them as query parameters in the API URL. See the Usage and Example sections for details.

  • manifest_id (required): The manifest ID [1] assigned to sample records.

  • standard (optional): The standard to query the endpoint. Options include: tol (default), dwc, ena and mixs

  • return_type (optional): Output format for the results. Options include json (default), csv and rocrate


Usage

Please include at least the manifest_id parameter value in the API URL to retrieve sample records for that manifest. Replace {manifest_id} with the desired manifest ID.

https://copo-project.org/api/manifest/{manifest_id}
$ curl -X GET "https://copo-project.org/api/manifest/{manifest_id}" -H  "accept: application/json"

Example

To retrieve sample records for the manifest ID f8e5c23d-f735-439f-bfaf-a6886e31741e in the rocrate format, use the following URL.

https://copo-project.org/api/manifest/f8e5c23d-f735-439f-bfaf-a6886e31741e?return_type=rocrate
$ curl -X GET "https://copo-project.org/api/manifest/f8e5c23d-f735-439f-bfaf-a6886e31741e?return_type=rocrate" -H  "accept: application/json"

Fetch Manifests between Dates

Show endpoint details
Show API query parameters

Tip

Filters are applied by appending them as query parameters in the API URL. See the Usage and Example sections for details.

  • from (required): Start date for filtering (format: YYYY-MM- DDTHH:MM:SS+00:00)

  • to (required): End date for filtering (format: YYYY-MM- DDTHH:MM:SS+00:00)

  • return_type (optional): Output format for the results. Options include json (default) and csv


Usage

Please include at least the from and to parameter values in the API URL to retrieve a list of manifest IDs [1] in a given date period. Replace {from} and {to} with the desired start and end dates respectively.

https://copo-project.org/api/manifest/{from}/{to}
$ curl -X GET "https://copo-project.org/api/manifest/{from}/{to}"
-H  "accept: application/json"

Example

To retrieve manifest IDs recorded between 1st January, 2025 and 1st May, 2025 in the default JSON format, use the following URL.

https://copo-project.org/api/manifest/2025-01-
01T00:00:00+00:00/2025-05-01T00:00:00+00:00
$ curl -X GET "https://copo-project.org/api/manifest/2025-01-
01T00:00:00+00:00/2025-05-01T00:00:00+00:00" -H  "accept:
application/json"

Fetch Manifests between Dates for a Project

Show endpoint details
Show API query parameters

Tip

Filters are applied by appending them as query parameters in the API URL. See the Usage and Example sections for details.

  • project (required): The name of the project [2]

  • from (required): Start date for filtering (format: YYYY-MM- DDTHH:MM:SS+00:00)

  • to (required): End date for filtering (format: YYYY-MM- DDTHH:MM:SS+00:00)

  • return_type (optional): Output format for the results. Options include json (default) and csv


Usage

Please include at least the project, from and to parameter values in the API URL to retrieve a list of manifest IDs [1] in a given date period for that project. Replace {project}, {from} and {to} with the desired start and end dates respectively.

https://copo-project.org/api/manifest/{project}/{from}/{to}
$ curl -X GET "https://copo-
project.org/api/manifest/{project}/{from}/{to}" -H  "accept:
application/json"

Example

To retrieve manifest IDs for the ERGA project recorded between 1st January, 2025 and 1st May, 2025 in the default JSON format, use the following URL.

https://copo-project.org/api/manifest/erga/2025-01-
01T00:00:00+00:00/2025-05-01T00:00:00+00:00
$ curl -X GET "https://copo-project.org/api/manifest/erga/2025-01-
01T00:00:00+00:00/2025-05-01T00:00:00+00:00" -H  "accept:
application/json"

Fetch Sample Status in a Manifest

Show endpoint details
Show API query parameters

Tip

Filters are applied by appending them as query parameters in the API URL. See the Usage and Example sections for details.

  • manifest_id (required):The manifest ID [1] assigned to sample records.

  • return_type (optional): Output format for the results. Options include json (default) and csv


Usage

Please include at least the manifest_id parameter value in the API URL to retrieve minimal sample status information for each sample for that manifest ID. Replace {manifest_id} with the desired manifest ID.

https://copo-project.org/api/manifest/{manifest_id}/sample_status
$ curl -X GET "https://copo-
project.org/api/manifest/{manifest_id}/sample_status" -H  "accept:
application/json"

Example

To retrieve status information for sample records with the manifest ID f8e5c23d-f735-439f-bfaf-a6886e31741e in the default CSV format, use the following URL.

The browser method will prompt a download of the CSV while the curl method is helpful if you are scripting or working in a terminal environment.

https://copo-project.org/api/manifest/f8e5c23d-f735-439f-bfaf-
a6886e31741e/sample_status?return_type=csv
$ curl -X GET "https://copo-project.org/api/manifest/f8e5c23d-
f735-439f-bfaf-a6886e31741e/sample_status?return_type=csv" -H
"accept: application/json"

Validate Manifest by Profile ID

Show endpoint details
Show API query parameters

Note

Authentication is required in order to use this API method. Create an API key from the /apiKey API endpoint before using this method.

  • profile_id (required): The identifier of the profile associated with the manifest to be validated.

  • file (optional): The manifest file to be validated. This should be a valid CSV or XLSX manifest file.


Usage

  • Please include at least the profile_id parameter value in the API URL to validate a manifest associated with that profile and receive the validation report ID. Replace {profile_id} with the profile ID.

  • After having retrieved the validation report ID, you can use it to retrieve the validation report using the Validate Manifest by Report ID endpoint.

https://copo-project.org/api/manifest/validate
$ curl -X POST "https://copo-project.org/api/manifest/validate" -H
"accept: */*" -d "title=<title>&description=<description>&profile_
type=<profile_type>"

Validate Manifest by Report ID

Show endpoint details
Show API query parameters

Note

Authentication is required in order to use this API method. Create an API key from the /apiKey API endpoint before using this method.

validation_report_id (required): The identifier of the validation report.


Usage

Please include the validation_report_id parameter value in the API URL to retrieve the manifest validation report associated with that ID.

https://copo-project.org/api/manifest/validate/report
$ curl -X POST "https://copo-
project.org/api/manifest/validate/report" -H  "accept: */*" -d "ti
tle=<title>&description=<description>&profile_type=<profile_type>"

Validate Manifest

Show endpoint details

Usage

This endpoint all manifest validations performed by the authenticated user.

https://copo-project.org/api/manifest/validations
$ curl -X POST "https://copo-
project.org/api/manifest/validations/" -H  "accept: */*" -d ""

Footnotes