Project API Methods
Learn more about Project methods.
Projects
Projects serve as special containers for collaboration. Users with ADMINISTER access manage permissions within projects.
Projects and Containers
Create projects through the web user interface or use the API method /project/new
. Creating a project outside an organization makes the creator responsible for storage costs and compute time for project jobs. Each project includes metadata (name, description, tags, properties) and can use boolean flags to control data modifications and copying per Project Data Access Controls.
The system creates generic data containers automatically for analysis and data sharing. Each container links to a project or user/organization that pays storage costs.
Project Metadata
Projects can have names, descriptions, properties, and tags. The DNAnexus Platform sets properties automatically to for optimal user experience.
Project API Method Specifications
API method: /project/new
/project/new
Specification
Creates a new project and grants ADMINISTER access to the creating user.
Inputs
name
string The name of the project.summary
string (optional, default "") A short summary of what the project contains.description
string (optional, default "") A longer description of the project.protected
boolean (optional, default false) Sets protection for the project. See details in the Project Data Access Controls section.restricted
boolean (optional, default false) Sets restrictions for the project. See details in the Project Data Access Controls section.downloadRestricted
boolean (optional, default false) Controls downloading of data outside the platform. For database objects, controls access to project data from outside DNAnexus. See details in the Project Data Access Controls section.externalUploadRestricted
boolean (optional, default false) When true, rejects data uploads from outside the job context. See Project Data Access Controls for details.httpsAppIsolatedBrowsing
boolean (optional, default false) When true, wraps httpsApp access in Isolated Browsing for project jobs. See Project Data Access Controls and Isolated Browsing for details.httpsAppIsolatedBrowsingOptions
mapping (optional, default{}
) A mapping with Isolated Browsing options that can be specified only ifhttpsAppIsolatedBrowsing
argument is also set totrue
. Mapping, if specified, may contain the following keys:pasteFromLocalClipboardMaxBytes
integer (optional, default 0) Must be between 0 and 262,144 bytes. Specifies the maximum size of the locally copied text that is pasteable in the remote browser. Value of0
disables pasting of any local text into the remote browser and is the default whenpasteFromLocalClipboardMaxBytes
is not explicitly specified.
databaseUIViewOnly
boolean (optional, default false) If set to true, project members with VIEW access have their access to project databases restricted to the Cohort Browser only.containsPHI
boolean (optional, default false) Whether to mark the project as containing protected health information (PHI). See more details in the Project Data Access Controls section.egressBillTo
string (optional, either"projectBillTo"
(default) or"downloaderBillTo"
). Specifies whether to bill egress costs to the project's billTo account or the downloading user's default billTo account.tags
array of strings (optional) Tags to associate with the project.properties
mapping (optional) Properties to associate with the project.key Property name
value string Property value
billTo
string (optional, default is thebillTo
of the requesting user) ID of the entity for billing any costs associated with this project. This must be the ID of the requesting user or an org of which the requesting user is a member withallowBillableActivities
permission.region
string (optional, defaults to thedefaultRegion
of thebillTo
of the project) The region where this project is created. The region must be among the permitted regions of the project'sbillTo
. For more information about regions, see Region.monthlyComputeLimit
int or null (optional) The project-level compute spending limit.monthlyEgressBytesLimit
int or null (optional) The project-level egress spending limit.monthlyStorageLimit
float or null (optional) The project-level storage limit.
defaultSymlink
mapping (optional) Default remote location for new files in the project and all its execution containers. RequirestmpSymlinkWriteSupport
license enabled forbillTo
.drive
string (required) The drive ID, formatted as "drive-xxxx" and cannot be "drive-PUBLISHED".container
string (required) The container name. This isregion:bucket
for AWS S3 andcontainerName
for Azure Blob.prefix
string (optional, default "/") The remote location prefix in the container
Outputs
id
string ID of the created project.
Errors
InvalidInput
name
may not be empty and may not match the regex[\x00-\x1F].
containsPHI
may not be set to false if the project is marked as containing PHI.protected
,restricted
,downloadRestricted
,externalUploadRestricted
,containsPHI
,databaseUIViewOnly
,httpsAppIsolatedBrowsing
(if provided) are not booleans.If
httpsAppIsolatedBrowsingOptions
is being set, buthttpsAppIsolatedBrowsing
is not being set totrue
.httpsAppIsolatedBrowsingOptions
is not a mapping or contains unrecognized keys.httpsAppIsolatedBrowsingOptions.pasteFromLocalClipboardMaxBytes
is not an integer or within the expected range.
InvalidState
containsPHI
is true, but the project is in a region that does not support PHI features.
SpendingLimitExceeded
billTo
has reached its spending limit.
PermissionDenied
One of the following must be supplied: a full scope token, a token with ADMINISTER access in all projects ('*') , or a token with the projectCreation scope set.
If
containsPHI
was set to true, thebillTo
of the project must have PHI features enabled.If
externalUploadRestricted
was set to true, thebillTo
of the project must have theexternalUploadRestrictedControl
license.If
httpsAppIsolatedBrowsing
is being set totrue
, thebillTo
of the project must have thehttpsAppIsolatedBrowsingControl
license.billTo
must be either the ID of the requesting user or the ID of an org in which the requesting user is a member withallowBillableActivities
permission.The
billTo
of the invoking user is an org and the user is no longer a member of that org.The
region
that was selected was not among thepermittedRegions
of thebillTo.
API method: /project-xxxx/update
/project-xxxx/update
Specification
Updates the specified project with the specified options. Options not supplied in the input hash remain unchanged. For example, if a project has the protected
flag set, calling this method to update the title or description without the protected
field preserves the flag's value. Only members with ADMINISTER access can update the project. Updating the billTo
field resets both totalSponsoredEgressBytes
and consumedSponsoredEgressBytes
for the project.
Inputs
name
string (optional) The new name of the project.summary
string (optional) The new summary of the project.description
string (optional) The new description of the project.protected
boolean (optional) The new value of the protected property. See more details in the Project Data Access Controls section.restricted
boolean (optional) The new value of the restricted property. See more details in the Project Data Access Controls section.downloadRestricted
boolean (optional) If set to true, disables the downloading of data outside of the platform. For database objects, it prohibits users from accessing the data in the project from outside DNAnexus.externalUploadRestricted
boolean (optional, default false) If true, data uploads to this project from outside the job context are rejected. See Project Data Access Controls for details.httpsAppIsolatedBrowsing
boolean (optional, default false) If true, the jobs in the project have their httpsApp access wrapped in Isolated Browsing. See more details in the Project Data Access Controls and Isolated Browsing sections.httpsAppIsolatedBrowsingOptions
mapping (optional) A mapping with Isolated Browsing options that replaces the existinghttpsAppIsolatedBrowsingOptions
mapping. Can be specified only if thehttpsAppIsolatedBrowsing
argument is also set totrue
. Mapping, if specified, may contain the following keys:pasteFromLocalClipboardMaxBytes
integer (optional, default 0) Must be between 0 and 262,144 bytes. Specifies the maximum size of the locally copied text that is pasteable in the remote browser. Value of0
disables pasting of any local text into the remote browser and is the default whenpasteFromLocalClipboardMaxBytes
is not explicitly specified.
containsPHI
boolean (optional) Set to true to mark the project as containing protected health information (PHI). See more details in the Project Data Access Controls section.egressBillTo
string (optional, either"projectBillTo"
or"downloaderBillTo"
). The new value for theegressBillTo
property.databaseUIViewOnly
boolean (optional) If set to true, project members with VIEW access have their access to project databases restricted to the Cohort Browser only.version
int (optional) If provided, the value must match the current project's version. Otherwise, the update applies unconditionally.billTo
string (optional) ID of the entity to bill for any costs associated with this project. This must be the ID of the requesting user or an org of which the requesting user is a member withallowBillableActivities
permission.allowedExecutables
array of strings or null (optional) List of executable IDs permitted for root executions in this project. Set to null or omit to remove executable restrictions.monthlyComputeLimit
int or null (optional) The project-level compute spending limit. null is considered as unlimited, which should be treated as a higher value for any non-null defaults.monthlyEgressBytesLimit
int or null (optional) The project-level egress spending limit. null is considered as unlimited, which should be treated as a higher value for any non-null defaults.monthlyStorageLimit
float or null (optional) The project-level storage spending limit. null is considered as unlimited, which should be treated as a higher value for any non-null defaults.
Outputs
id
string ID of the manipulated project.
Errors
ResourceNotFound
The specified project does not exist.
InvalidInput
The input is not a hash.
name
(if provided) is not a nonempty string.summary
(if provided) is not a string.description
(if provided) is not a string.protected
,restricted
,downloadRestricted
,externalUploadRestricted
,containsPHI
,databaseUIViewOnly
,httpsAppIsolatedBrowsing
(if provided) are not booleans.containsPHI
(if provided) cannot be false -- marking a project as no longer containing PHI is unsupported.containsPHI
is true, but the project is in a region that does not support PHI features.monthlyComputeLimit
is not an int and not a null, or is not larger than zero.*monthlyEgressBytesLimit
is not an int and not a null, or is not larger than zero.*monthlyComputeLimit
is higher than the max value of the org default value and the currentmonthlyComputeLimit
and the user is NOT the admin user of the org.*monthlyEgressBytesLimit
is higher than the max value of the org default value and the currentmonthlyEgressBytesLimit
and the user is NOT the admin user of the org.*monthlyStorageLimit
is not a float or null, or is not larger than or equal to zero.*monthlyStorageLimit
is higher than the org default value and the user is not an org admin.*monthlyStorageLimit
is not a float, or NULL, or is not larger than or equal to zero.*monthlyStorageLimit
is higher than the max value of the org default value and the currentmonthlyStorageLimit
, and the user is not an org admin.*
InvalidState
version
was provided and does not match the current version number found in the project.
PermissionDenied
containsPHI
was set to true, but thebillTo
of the project does not have PHI features enabled.If
externalUploadRestricted
was set to true, thebillTo
of the project must have theexternalUploadRestrictedControl
license.The new billTo must be licensed to use the externalUploadRestricted option.
If
httpsAppIsolatedBrowsing
is being set totrue
, thebillTo
of the project must have thehttpsAppIsolatedBrowsingControl
license.The new
billTo
must have thehttpsAppIsolatedBrowsingControl
license for projects withhttpsAppIsolatedBrowsing
set totrue
.httpsAppIsolatedBrowsingOptions
can only be specified whenhttpsAppIsolatedBrowsing
is truehttpsAppIsolatedBrowsingOptions
is not a mapping or contains unrecognized keys.httpsAppIsolatedBrowsingOptions.pasteFromLocalClipboardMaxBytes
is not an integer or within the expected range.billTo
must be either the ID of the requesting user or the ID of an org of which the requesting user is a member withallowBillableActivities
permission.If the requesting user is not one of the project admins or org admins of the project
billTo
org.The
billTo
org of the project does not havemonthlyProjectSpendingLimit
enabled.The
billTo
org does not havemonthlyProjectStorageSpendingLimit
enabledThe
billTo
org of the project does not havemonthlyProjectStorageSpendingLimit
enabledThe requesting user is neither an ADMIN of the project nor an ADMIN of the billTo org of the project
Can not change the billTo of
project-xxxx
while the project contains a DBCluster.
billTo
must have theregion
of this project in itspermittedRegions.
If
billTo
is specified and the project has an org as its billing entity, then the requesting user must be a member of the org. Depending on therestrictProjectTransfer
, the requesting user may need to be an ADMIN of the org.
SpendingLimitExceeded
billTo
has reached its spending limit.
API method: /project-xxxx/updateSponsorship
/project-xxxx/updateSponsorship
Specification
This method modifies specific forms of sponsorship in the project. It can be used to set or modify data egress sponsorship, or used to set or unset third-party data storage sponsorship in the project.
Data egress sponsorship, when set to a specified number of bytes, charges the project's billTo
for data transferred outside of the system up to that amount, covering data downloaded by users. The billing rate varies based on the downloader's IP range. After exceeding the sponsored bytes limit, the downloader incurs the costs of downloading data from the project.
For projects with data storage sponsorship, the project's billTo
covers storage charges for all objects in the project. Users or organizations with copies of these data objects in other projects receive free storage until the sponsorship period expires.
Adding data objects to a sponsored project makes them sponsored, and removing them revokes their sponsorship. An object can be sponsored in only one project at a time. Cloning an object into a sponsored project fails if another project sponsors the object.
For sponsored projects, use this method to update the expiration time or terminate sponsorship.
Inputs
sponsoredUntil
timestamp or null (optional) Sets the expiration time of data storage sponsorship. Specifying null (or any time in the past) terminates the sponsorship effective immediately.totalSponsoredEgressBytes
int (optional) Sets the number of bytes to be sponsored for downloads (data egress) from the DNAnexus Platform to an external IP for this project. Users may download up to the specified number of bytes from the project at no cost to themselves, with the cost charged to the project's billTo. If the new value is less than the consumed bytes, the sponsor's charges apply only to completed downloads. Setting this value overrides rather than increments the previous value. To extend the byte limit, invoke this method with a value higher than its previous value.
Outputs
id
string ID of the project.
Errors
InvalidInput
totalSponsoredEgressBytes
must be a non-negative integer.
InvalidState
A data object in the project has third-party sponsorship in another project. Remove the data objects from this project (or from the other project) before applying third-party sponsorship. When this error occurs, the error
details
has the form{alreadySponsored: [{id: ..., project: ...}, ...]}
indicating the ID and sponsoring project of each third-party sponsored object.A data object in the project has DNAnexus sponsorship.
The project is archived.
The project has a pending transfer.
PermissionDenied
If
sponsoredUntil
is supplied, thebillTo
of the project requires data sponsorship features. Contact us to enable data storage sponsorship features for your account.ADMINISTER access to the project is required.
The user's billTo must match the billTo of the project.
API method: /project-xxxx/setProperties
/project-xxxx/setProperties
Specification
Sets properties on the specified project. To remove a property, set its value to JSON null
instead of a string. This call updates project properties by merging the available properties with the provided input. The new values take precedence when the same key appears in both sets.
Best practice for resetting properties: Issue a describe call to get the property names, then issue a setProperties
request to set those property values to null. This removes all key/value pairs and allows you to replace them with new ones.
Inputs
properties
mapping Properties to modify.key Name of property to modify
value string or null Either a new string value for the property, or null to unset the property.
Outputs
id
string ID of the manipulated project, such as "project-xxxx".
Errors
InvalidInput
The input is not a hash,
properties
is missing or is not a hash, or there exists at least one value inproperties
which is neither a string nor the JSON null.
ResourceNotFound
The specified project does not exist.
PermissionDenied
CONTRIBUTE access required for the specified project.
API method: /project-xxxx/describe
/project-xxxx/describe
Specification
Describes the specified project.
Inputs
fields
mapping (optional) Restrict the output of this method to have only the provided keys in this field.key Desired output field. See the "Outputs" section below for additional valid values here.
value boolean The value true.
Outputs
id
string ID of the project, such as "project-xxxx"
The following fields are included by default (but can be disabled using fields
) :
class
string The value "project".name
string The name of the project.region
string The region this project resides in. For more information about regions, see Regions.summary
string The summary of the project.description
string The description of the project.version
int The version number of the project used for tracking changes to its metadata.tags
array of strings Tags associated with the project.billTo
string ID of the account to which any costs associated with this project is billed.protected
boolean The value of the protected flag.restricted
boolean The value of the restricted flag.downloadRestricted
boolean The value of the downloadRestricted flag.externalUploadRestricted
boolean The value of the externalUploadRestricted flag.httpsAppIsolatedBrowsing
boolean The value of the httpsAppIsolatedBrowsing flag.httpsAppIsolatedBrowsingOptions
mapping A mapping with Isolated Browsing options.pasteFromLocalClipboardMaxBytes
integer Must be between 0 and 262,144 bytes. Specifies the maximum size of the locally copied text that is pasteable in the remote browser. Value of0
disables pasting of any local text into the remote browser and is the default whenpasteFromLocalClipboardMaxBytes
is not explicitly specified.
containsPHI
boolean Whether the project is marked as containing protected health information (PHI) and subject to additional restrictions to ensure security and compliance.databaseUIViewOnly
boolean (optional) If set to true, project members with VIEW access have their access to project databases restricted to the Cohort Browser only.created
timestamp Time at which this project was created.createdBy
mapping How the project was created.user
string ID of the user who created the project.job
string (present if applicable) ID of the job that created the project.executable
string (present ifjob
is present) ID of the applet or app that the job was running.
modified
timestamp Time at which this project was last updated.level
string The highest permission level that the requesting user has.dataUsage
number Data usage in GB (not including sponsored data or DBCluster storage). Value updates can experience delays after project changes.defaultInstanceType
string Default instance type for apps to run on.sponsoredDataUsage
number sum of DNAnexus-sponsored and third-party sponsored data usage in GB, excluding DBCluster storage. For third-party sponsored projects, objects appear indataUsage
rather thansponsoredDataUsage
since the project'sbillTo
handles the billing. Value updates can experience delays after container changes.sponsoredUntil
timestamp If present, indicates that the project is sponsored by itsbillTo
until the specified time. This field only appears for sponsored projects, and the specified time must be in the future).pendingTransfer
string or null If applicable, account ID that has been invited to take the project. Otherwise null.totalSponsoredEgressBytes
int The total number of bytes sponsored for this project over the lifetime of the project's current billTo. If this value is less thanconsumedSponsoredEgressBytes
, the downloader is billed for additional downloads instead of the sponsor.consumedSponsoredEgressBytes
int The number of sponsored bytes used to transfer files from this project out of the DNAnexus Platform, over the lifetime of the project's current billTo.allowedExecutables
array of strings If present, the set of executable IDs that are allowed to run as root executions in this project.
The following fields (included by default) are available if the requesting user has UPLOAD+ access to the project:
atSpendingLimit
boolean Indicates whether thebillTo
of the project is at their spending limit (and therefore functionality is restricted).
The following fields (included by default) are available if the requesting user has permissions to view the pricing model of the billTo
of the project:
storageCost
number Storage cost (in dollars) of the project per month based on data usage (the total cost of an account's projects may be smaller than the sum of this value over all projects if any objects are shared between the projects).
The following fields are only returned if the corresponding field in the fields
input is set to true:
folders
array of strings List of all folders in the project.objects
int The number of visible objects in the project.permissions
mapping Who has permissions to access this project.key Entity ID. A user or org ID.
value string One of the values "VIEW", "UPLOAD", "CONTRIBUTE", "ADMINISTER".
egressBillTo
string. The value of theegressBillTo
property.appCaches
mapping List of containers attached to the project that have been created for running apps.key App ID
value string ID of the app ID's project cache container
properties
mapping Properties associated with the projectkey Property name
value string Property value
fileUploadParameters
mapping Information about what part sizes and numbers should be used to upload files in this project. See the section Limits on Parts of the Files API for more information about interpreting this. Mapping with the key/values:minimumPartSize
int minimum part size, in bytes, that applies to all parts except the part with the highest index. (Clients may assume that ifemptyLastPartAllowed
is false, thenminimumPartSize
is at least 1, that is, the constraint on the last part is no stronger than the constraint on previous parts.)maximumPartSize
int maximum part size, in bytes.emptyLastPartAllowed
boolean If true, then the minimum number of parts is 1 and the part with the highest index may contain 0 bytes. If false, then the minimum number of parts is 0 and the part with the highest index must contain at least 1 byte. All parts other than the part with the highest index must still have minimum size given byminimumPartSize
. If true, then the client can upload a 0-byte file by invoking /file-xxxx/upload once with a part of size 0. If false, then the client can upload a 0-byte file by not invoking /file-xxxx/upload at all.maximumNumParts
int the maximum number of parts that may be uploaded (also equal to the largest permissible part index).maximumFileSize
int the maximum size of the file, in bytes.
availableInstanceTypes
mapping Instances available in the project for apps and applets to run on.key Instance type
value mapping Contains information on the instance type.
numCores
int Number of corestotalMemoryMB
int Memory size in MBephemeralStorageGB
int Storage size in GBos
array of mappings Supported operating systems. Each value is a mapping with the following fields, indicating one of the supported operating systems:distribution
string The Linux operating system distribution. Must match thedistribution
of the run specifications of the app or the applet to be run.release
string The Linux operating system release. Must match therelease
of the run specifications of the app or the applet to be run.
rank
int Ranking of the instance type based on its value, with rank value of 1 being least valuable.
metadataCapacity
float Value ofmetadataCapacity
. Between 0 and 1, with a 1 indicating the project is at maximum metadata capacity and cannot accept additional metadata.
The following fields (included by default) are available if the requesting user has permissions to view the pricing model of the billTo
of the project and the billTo
of the project has monthlyProjectSpendingLimit
enabled:
monthlyComputeLimit
int or null The current monthly project spending limit for compute.monthlyEgressBytesLimit
int or null The current monthly project spending limit for egress.currentMonthComputeAvailableBudget
float or null The current month's project available spending budget for compute.currentMonthEgressBytesAvailableBudget
float or null The current month's project available spending budget for egress.currentMonthComputeUsage
float The current month's project usage for compute.currentMonthEgressBytesUsage
float The current month's project usage for egress.
The following fields (included by default) are available if the requesting user has permissions to view the pricing model of the billTo
of the project and the billTo
of the project has monthlyProjectStorageSpendingLimit
enabled:
monthlyStorageLimit
float or null The current monthly project spending limit for storagecurrentMonthStorageAvailableBudget
float or null The current month's project available spending budget for storagecurrentMonthExpectedStorageUsage
float The current month's projected usage for storage
Errors
ResourceNotFound
The specified project does not exist.
InvalidInput
Input is not a hash, or
fields
if present, is not a hash or has a non-boolean key.
PermissionDenied
Must have at least VIEW access to the project, be the
billTo
with a full scope token (if thebillTo
is a user) , or be an admin of thebillTo
with a full scope token (if thebillTo
is an org).
API method: /project-xxxx/destroy
/project-xxxx/destroy
Specification
Destroys the specified project. All objects in the project are removed.
For jobs not in a terminal state (not done, failed, or terminated), the system throws an InvalidState error unless the terminateJobs
option is set to force termination.
Inputs
terminateJobs
boolean (optional, default false) Whether to force the destruction of the project and terminate all non-terminal jobs.
Outputs
id
string ID of the manipulated project.
Errors
ResourceNotFound
The specified project does not exist.
PermissionDenied
The requesting user is neither an ADMIN of the project nor an ADMIN of the billTo org of the project
InvalidInput
terminateJobs
(if present) is not a boolean.
InvalidState
terminateJobs
was not set to true, and there still remain jobs which are not in a terminal state.The project is sponsored (sponsorship must be terminated before the project may be destroyed).
API method: /project-xxxx/addTags
/project-xxxx/addTags
Specification
Tags the project with the given strings. Previously applied tags remain unaffected.
Inputs
tags
array of strings Tags to be added.
Outputs
id
string ID of the manipulated project.
Errors
ResourceNotFound
The specified project does not exist.
InvalidInput
tags
is not present or is not a list of nonempty strings.
PermissionDenied
CONTRIBUTE access required.
API method: /project-xxxx/removeTags
/project-xxxx/removeTags
Specification
Removes the given tags from the project. Tags that do not exist have no effect when removed.
Inputs
tags
array of strings Tags to be removed.
Outputs
id
string ID of the manipulated project.
Errors
ResourceNotFound
The specified project does not exist.
InvalidInput
tags
is not present or is not a list of nonempty strings.
PermissionDenied
CONTRIBUTE access required.
API method: /project-xxxx/countRootExecutions
/project-xxxx/countRootExecutions
Specification
Counts the root executions in this project that were created within the last 7 days by state. Returns an object whose keys are execution states, and whose values are the number of root executions that are in that state.
Inputs
None
Outputs
key State
value int Number of root executions in that state.
Errors
ResourceNotFound
The specified project does not exist.
PermissionDenied
VIEW access required.
API method: /system/getProjectTags
/system/getProjectTags
Specification
Returns the tags on all visible projects. The initial implementation includes only public projects.
Inputs
None
Outputs
key Tag
value int Number of projects with the tag.
Errors
No errors are returned.
API method: /project-xxxx/archive
/project-xxxx/archive
Specification
Requests for a set of files to be archived on the platform. For each file, if this is the last copy of a file to have archival requested, this triggers the full archival of the object. Otherwise, the file receives an archival
state marking that archival has been requested.
Inputs
files
array of strings (optional) A subset list of files that should be archived. Example:'{"files": ["file-xxxx", "file-yyyy"], "allCopies": true}'
. Mutually exclusive withfolder
.folder
string (optional) The folder which contains all files that should be archived. Example:'{"folder" : "/folder1"}'
. Mutually exclusive withfiles
and required whenfiles
not present.recurse
boolean (optional, default true) If true, archive all files in subfolders offolder
. If false, only archive files infolder
.folder
must be set.allCopies
boolean (optional, default false) This flag forces the transition of files into thearchived
state. Requesting user must be theADMIN
of the projectbillTo
org. If true, archive all the copies of files in projects with the samebillTo
org. If false, only the copy of the file in the current project transitions to thearchival
state, while other copies of the file in the rest projects with the samebillTo
org remain in thelive
state.
Outputs
id
string The id of the project.count
int The number of files to be tagged for archival.
Errors
InvalidInput
if both
files
andfolder
are providedone or more files in key
files
of the input contain symlinks
InvalidState
one or more files is in an "open" ("non-closed") state
one or more files is being used as
bundledDepends
for applets
ResourceNotFound
the specified project does not exist.
a file or folder does not exist.
PermissionDenied
CONTRIBUTE access required.
Must be an org ADMIN of the project
billTo
org to use theallCopies
options.
API method: /project-xxxx/unarchive
/project-xxxx/unarchive
Specification
Requests for a set of files to be unarchived on the platform. This is an asynchronous command. The requested copy transitions to the live state while all other copies move to the archival
state.
Inputs
files
array of strings (optional) A subset list of files that should be unarchived. Mutually exclusive withfolder
and required whenfolder
is not present.folder
string (optional) The folder which contains all files that should be unarchived. Mutually exclusive withfiles
and required whenfiles
is not present.recurse
boolean (optional, default true) If true, unarchive all files in subfolders offolder
. If false, only unarchive files infolder
.folder
must be set.rate
string (optional, AWS only) The speed at which all files in this request are unarchived. Valid entries: "Standard" and "Bulk".dryRun
boolean (optional, default false) If true, only display the output of the API call without executing the unarchival process.
Outputs
files
int The number of files to be unarchived.size
int The size of the data, in GB, to be unarchived.cost
float The total cost, in millidollars, to be charged for the unarchival request.
Errors
InvalidInput
if both
files
andfolder
are provided.
ResourceNotFound
The specified project does not exist.
A file or folder does not exist.
PermissionDenied
CONTRIBUTE access required.
Last updated
Was this helpful?