Skip to main content
Skip table of contents

Data Sharing API

Contents

Data sharing and permissions in XNAT are a complex topic. For more detail on what sharing behaviors are supported in XNAT, see https://flywheelio.atlassian.net/wiki/spaces/XNAT17/pages/2507546194.


Share Subject And Its Experiments Into A New Project

CODE
PUT - /data/projects/{original-project-id}/subjects/{subject-id | subject-label}/projects/{shared-project-id}

Parameters

{original-project-id}Required path parameter. Specify the ID of the project that owns a given subject.
{subject-id} or {subject-label}Required path parameter.
{shared-project-id}

Required path parameter. Specify the ID of the project that you intend a subject to be shared into.

Logged-in user must have ownership permissions in the shared project.

labelOptional querystring parameter. Specify a new label for this subject that will be used in the shared project, if desired.
primary

Optional querystring parameter.

  • If set to "true", you are changing the primary ownership of the subject from the original project to the new project.

Logged-in user must have ownership permissions in both projects to change the primary ownership.

format

Optional querystring parameter. Specify the format of the returned response.

  • html (default)
  • json
  • xml
  • csv

Response Codes

200OK
403Forbidden – User does not have permission to perform the requested operation
404Not Found – Project ID not recognized
409Conflict – Attempting to write data into an XNAT object that already exists

Response Format
Returns the subject metadata from the original project



Get A List Of Shared Projects Associated With A Subject

This query will return a list of all projects associated with a subject. The root project ID in the URI can be either a project that owns the subject or a shared project.

CODE
GET - /data/projects/{project-id}/subjects/{subject-id | subject-label}/projects

Parameters

{project-id}Required path parameter
{subject-id} or {subject-label}Required path parameter
format

Optional querystring parameter. Specify the format of the returned response.

  • html (default)
  • json
  • xml
  • csv

Response Format
Displaying JSON results. Note that the response does not specify which project owns a subject.

CODE
{
  "ResultSet": {
    "Result": [
      {
        "label": "string",
        "ID": "string",
        "Secondary_ID": "string",
        "Name": "string"
      },
      ...
    ]
  }
}




Share An Experiment Into A New Project

Sharing an experiment by itself has no effect if the subject that owns the experiment is not also shared.


PUT - /data/projects/{original-project-id}/subjects/{subject-id | subject-label}/experiments/{experiment-id | experiment-label}/projects/{shared-project-id}

Parameters

{original-project-id}Required path parameter. Specify the ID of the project that owns a given subject.
{subject-id} or {subject-label}Required path parameter.
{experiment-id} or {experiment-label}Required path parameter.
{shared-project-id}

Required path parameter. Specify the ID of the project that you intend a subject to be shared into.

Logged-in user must have ownership permissions in the shared project.

labelOptional querystring parameter. Specify a new label for this experiment that will be used in the shared project, if desired.
primary

Optional querystring parameter.

  • If set to "true", you are changing the primary ownership of the experiment from the original project to the new project.

Logged-in user must have ownership permissions in both projects to change the primary ownership.

Response Codes

200OK
403Forbidden (User does not have permission to perform the requested operation)
404Project Not Found
409Conflict Found – Attempting to share data into an object that already exists

Response Format

Returns the experiment accession ID as a string


Get A List Of Shared Projects Associated With An Experiment

CODE
GET - /data/projects/{original-project-id}/subjects/{subject-id | subject-label}/experiments/{experiment-id | experiment-label}/projects

Parameters

{original-project-id}Required path parameter. Specify the ID of the project that owns a given subject.
{subject-id} or {subject-label}Required path parameter.
{experiment-id} or {experiment-label}Required path parameter.
format

Optional querystring parameter. Specify the format of the returned response.

  • html (default)
  • json
  • xml
  • csv

Response

Displaying JSON results. Note that the response does not specify which project owns an experiment.

CODE
{
  "ResultSet": {
    "Result": [
      {
        "label": "string",
        "ID": "string",
        "Secondary_ID": "string",
        "Name": "string"
      },
      ...
    ]
  }
}


JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.