DNAnexus Documentation
APIDownloadsIndex of dx CommandsLegal
  • Overview
  • Getting Started
    • DNAnexus Essentials
    • Key Concepts
      • Projects
      • Organizations
      • Apps and Workflows
    • User Interface Quickstart
    • Command Line Quickstart
    • Developer Quickstart
    • Developer Tutorials
      • Bash
        • Bash Helpers
        • Distributed by Chr (sh)
        • Distributed by Region (sh)
        • SAMtools count
        • TensorBoard Example Web App
        • Git Dependency
        • Mkfifo and dx cat
        • Parallel by Region (sh)
        • Parallel xargs by Chr
        • Precompiled Binary
        • R Shiny Example Web App
      • Python
        • Dash Example Web App
        • Distributed by Region (py)
        • Parallel by Chr (py)
        • Parallel by Region (py)
        • Pysam
      • Web App(let) Tutorials
        • Dash Example Web App
        • TensorBoard Example Web App
      • Concurrent Computing Tutorials
        • Distributed
          • Distributed by Region (sh)
          • Distributed by Chr (sh)
          • Distributed by Region (py)
        • Parallel
          • Parallel by Chr (py)
          • Parallel by Region (py)
          • Parallel by Region (sh)
          • Parallel xargs by Chr
  • User
    • Login and Logout
    • Projects
      • Project Navigation
      • Path Resolution
    • Running Apps and Workflows
      • Running Apps and Applets
      • Running Workflows
      • Running Nextflow Pipelines
      • Running Batch Jobs
      • Monitoring Executions
      • Job Notifications
      • Job Lifecycle
      • Executions and Time Limits
      • Executions and Cost and Spending Limits
      • Smart Reuse (Job Reuse)
      • Apps and Workflows Glossary
      • Tools List
    • Cohort Browser
      • Chart Types
        • Row Chart
        • Histogram
        • Box Plot
        • List View
        • Grouped Box Plot
        • Stacked Row Chart
        • Scatter Plot
        • Kaplan-Meier Survival Curve
      • Locus Details Page
    • Using DXJupyterLab
      • DXJupyterLab Quickstart
      • Running DXJupyterLab
        • FreeSurfer in DXJupyterLab
      • Spark Cluster-Enabled DXJupyterLab
        • Exploring and Querying Datasets
      • Stata in DXJupyterLab
      • Running Older Versions of DXJupyterLab
      • DXJupyterLab Reference
    • Using Spark
      • Apollo Apps
      • Connect to Thrift
      • Example Applications
        • CSV Loader
        • SQL Runner
        • VCF Loader
      • VCF Preprocessing
    • Environment Variables
    • Objects
      • Describing Data Objects
      • Searching Data Objects
      • Visualizing Data
      • Filtering Objects and Jobs
      • Archiving Files
      • Relational Database Clusters
      • Symlinks
      • Uploading and Downloading Files
        • Small File Sets
          • dx upload
          • dx download
        • Batch
          • Upload Agent
          • Download Agent
    • Platform IDs
    • Organization Member Guide
    • Index of dx commands
  • Developer
    • Developing Portable Pipelines
      • dxCompiler
    • Cloud Workstation
    • Apps
      • Introduction to Building Apps
      • App Build Process
      • Advanced Applet Tutorial
      • Bash Apps
      • Python Apps
      • Spark Apps
        • Table Exporter
        • DX Spark Submit Utility
      • HTTPS Apps
        • Isolated Browsing for HTTPS Apps
      • Transitioning from Applets to Apps
      • Third Party and Community Apps
        • Community App Guidelines
        • Third Party App Style Guide
        • Third Party App Publishing Checklist
      • App Metadata
      • App Permissions
      • App Execution Environment
        • Connecting to Jobs
      • Dependency Management
        • Asset Build Process
        • Docker Images
        • Python package installation in Ubuntu 24.04 AEE
      • Job Identity Tokens for Access to Clouds and Third-Party Services
      • Enabling Web Application Users to Log In with DNAnexus Credentials
      • Types of Errors
    • Workflows
      • Importing Workflows
      • Introduction to Building Workflows
      • Building and Running Workflows
      • Workflow Build Process
      • Versioning and Publishing Global Workflows
      • Workflow Metadata
    • Ingesting Data
      • Molecular Expression Assay Loader
        • Common Errors
        • Example Usage
        • Example Input
      • Data Model Loader
        • Data Ingestion Key Steps
        • Ingestion Data Types
        • Data Files Used by the Data Model Loader
        • Troubleshooting
      • Dataset Extender
        • Using Dataset Extender
    • Dataset Management
      • Rebase Cohorts and Dashboards
      • Assay Dataset Merger
      • Clinical Dataset Merger
    • Apollo Datasets
      • Dataset Versions
      • Cohorts
    • Creating Custom Viewers
    • Client Libraries
      • Support for Python 3
    • Walkthroughs
      • Creating a Mixed Phenotypic Assay Dataset
      • Guide for Ingesting a Simple Four Table Dataset
    • DNAnexus API
      • Entity IDs
      • Protocols
      • Authentication
      • Regions
      • Nonces
      • Users
      • Organizations
      • OIDC Clients
      • Data Containers
        • Folders and Deletion
        • Cloning
        • Project API Methods
        • Project Permissions and Sharing
      • Data Object Lifecycle
        • Types
        • Object Details
        • Visibility
      • Data Object Metadata
        • Name
        • Properties
        • Tags
      • Data Object Classes
        • Records
        • Files
        • Databases
        • Drives
        • DBClusters
      • Running Analyses
        • I/O and Run Specifications
        • Instance Types
        • Job Input and Output
        • Applets and Entry Points
        • Apps
        • Workflows and Analyses
        • Global Workflows
        • Containers for Execution
      • Search
      • System Methods
      • Directory of API Methods
      • DNAnexus Service Limits
  • Administrator
    • Billing
    • Org Management
    • Single Sign-On
    • Audit Trail
    • Integrating with External Services
    • Portal Setup
    • GxP
      • Controlled Tool Access (allowed executables)
  • Science Corner
    • Scientific Guides
      • Somatic Small Variant and CNV Discovery Workflow Walkthrough
      • SAIGE GWAS Walkthrough
      • LocusZoom DNAnexus App
      • Human Reference Genomes
    • Using Hail to Analyze Genomic Data
    • Open-Source Tools by DNAnexus Scientists
    • Using IGV Locally with DNAnexus
  • Downloads
  • FAQs
    • EOL Documentation
      • Python 3 Support and Python 2 End of Life (EOL)
    • Automating Analysis Workflow
    • Backups of Customer Data
    • Developing Apps and Applets
    • Importing Data
    • Platform Uptime
    • Legal and Compliance
    • Sharing and Collaboration
    • Product Version Numbering
  • Release Notes
  • Technical Support
  • Legal
Powered by GitBook

Copyright 2025 DNAnexus

On this page
  • Records
  • Record API Method Specifications
  • API method: /record/new
  • API method: /record-xxxx/describe

Was this helpful?

Export as PDF
  1. Developer
  2. DNAnexus API
  3. Data Object Classes

Records

Last updated 1 year ago

Was this helpful?

Records

A record object stores no additional data nor has any additional routes beyond those described for all entities and classes. A record object can be used to store data in its details, i.e. as a base object containing only metadata and links to other objects.

Record API Method Specifications

API method: /record/new

Specification

Creates a new record object. If initializeFrom is set to a hash specifying a record object, then all metadata fields of the new record created are initialized to be the same as the specified record (with the exception of any other specified fields).

Inputs

  • project string ID of the project or container to which the record should belong (e.g. the string "project-xxxx")

  • name string (optional, default is the new ID) The name of the object

  • tags array of strings (optional) Tags to associate with the object

  • types array of strings (optional) Types to associate with the object; see the page for details on valid input

  • hidden boolean (optional, default false) Whether the object should be hidden

  • properties mapping (optional) Properties to associate with the object

    • key Property name

    • value string Property value

  • details mapping or array (optional, default { }) JSON object or array that is to be associated with the object; see the section for details on valid input

  • folder string (optional, default "/") Full path of the folder that is to contain the new object

  • close boolean (optional, default false) Whether the record should be closed immediately after creation

  • parents boolean (optional, default false) Whether all folders in the path provided in folder should be created if they do not exist

  • initializeFrom mapping (optional) Indicate an existing record from which to use the metadata as default values for all fields that are not given:

    • project string ID of the project or container containing the record to use

    • id string ID of the record to use

  • nonce string (optional) Unique identifier for this request. Ensures that even if multiple requests fail and are retried, only a single record is created. For more information, see .

Outputs

  • id string ID of the created record object (i.e. a string in the form "record-xxxx")

Errors

  • InvalidInput

    • A reserved linking string ("$dnanexus_link") appears as a key in a hash in details but is not the only key in the hash

    • A reserved linking string ("$dnanexus_link") appears as the only key in a hash in details but has value other than a string

    • The id given under initializeFrom is not a valid record ID

    • For each property key-value pair, the size, encoded in UTF-8, of the property key may not exceed 100 bytes and the property value may not exceed 700 bytes

    • A nonce was reused in a request but some of the other inputs had changed signifying a new and different request

    • A nonce may not exceed 128 bytes

  • InvalidType (project is not a project ID)

  • PermissionDenied (UPLOAD access required, VIEW access required for the project specified under initializeFrom if a record was specified)

  • ResourceNotFound (the specified project is not found, the route in folder does not exist while parents is false, or the specified project and/or record ID specified in initializeFrom are not found)

API method: /record-xxxx/describe

Specification

Describes a record. A project ID can be given to request user-provided metadata from a particular project and will be treated as a hint, i.e. if the specified project does not contain the object and another project is found which does contain it and for which the user has VIEW permissions, this other project is used instead to return the metadata. The project ID of the project used to return the user-provided metadata is always returned, regardless of whether it was the same as the hint provided. Details can also be requested via this method, but if the requestor does not have VIEW access, they will not be returned.

Inputs

  • project string (optional) Project or container ID to be used as a hint for finding the object in an accessible project

  • defaultFields boolean (optional, default false if fields is supplied, true otherwise) whether to include the default set of fields in the output (the default fields are described in the "Outputs" section below). The selections are overridden by any fields explicitly named in fields.

  • fields mapping (optional) include or exclude the specified fields from the output. These selections override the settings in defaultFields.

    • key Desired output field; see the "Outputs" section below for valid values here

    • value boolean whether to include the field

The following options are deprecated (and will not be respected if fields is present):

  • properties boolean (optional, default false) Whether the properties should be returned

  • details boolean (optional, default false) Whether the details should also be returned

Outputs

  • id string The object ID (i.e. the string "record-xxxx")

The following fields are included by default (but can be disabled using fields or defaultFields):

  • project string ID of the project or container in which the

    object was found

  • class string The value "record"

  • types array of strings Types associated with the object

  • created timestamp Time at which this object was created

  • state string Either "open" or "closed"

  • hidden boolean Whether the object is hidden or not

  • links array of strings The object IDs that are pointed to from this object

  • name string The name of the object

  • folder string The full path to the folder containing the object

  • sponsored boolean Whether the object is sponsored by DNAnexus

  • tags array of strings Tags associated with the object

  • modified timestamp Time at which the user-provided metadata of the object was last modified

  • createdBy mapping How the object was created

    • user string ID of the user who created the object or

      launched an execution which created the object

    • job string present if a job created the object ID of the job that created the object

    • executable string present if a job created the object ID of the app or applet that the job was running

The following field (included by default) is available if the object is sponsored by a third party:

  • sponsoredUntil timestamp Indicates the expiration time of data sponsorship (this field is only set if the object is currently sponsored, and if set, the specified time is always in the future)

The following fields are only returned if the corresponding field in the fields input is set to true:

  • properties mapping Properties associated with the object

    • key Property name

    • value string Property value

  • details mapping or array Contents of the object’s details

Errors

  • ResourceNotFound (the specified object does not exist or the specified project does not exist)

  • InvalidInput (the input is not a hash, project (if supplied) is not a string, or the value of properties (if supplied) is not a boolean)

  • PermissionDenied (VIEW access required for the project provided (if any), and VIEW access required for some project containing the specified object (not necessarily the same as the hint provided))

Alternatively, you can use the method to describe a large number of data objects at once.

Types
Object Details
Nonces
/system/describeDataObjects