Edit

Share via


Tutorial: Use Rock and Fluid Samples (RAFS) DDMS APIs

Rock and Fluid Samples (RAFS) DDMS allows you to manage storage, retrieval, and association of rock and fluid sample master data, analyses, and reports. This tutorial shows a step-by-step workflow using cURL to create and interact with these entities in your Azure Data Manager for Energy instance.

In this tutorial, you learn how to use a RAFS DDMS APIs to:

  • Create a legal tag
  • Create Master data hierarchy
  • Create RAFS master data records
  • Create Sample Analysis Report
  • Create Sample Analysis

This tutorial shows common end-to-end cURL-based interactions with RAFS DDMS API endpoints.

Prerequisites

  • An Azure subscription
  • Azure Data Manager for Energy instance (see [quickstart]](quickstart-create-microsoft-energy-data-services-instance.md))
  • cURL installed locally
  • OSDU standard reference data loaded in your instance
  • Valid access token (See How to generate auth token)

Get details for the Azure Data Manager for Energy instance

For this tutorial, you need the following parameters:

Parameter Value to use Example Where to find this value
DNS URI of the Azure Data Manager for Energy instance <instance>.energy.azure.com Overview page of the Azure Data Manager for Energy instance
DATA_PARTITION_ID Data partition identifier <data-partition-id> Data Partition section within the Azure Data Manager for Energy instance
ACCESS_TOKEN OAuth 2.0 access token (Bearer token) 0.ATcA01-XWHdJ0ES-qDevC6r........... Generate using the How to generate auth token guide
LEGAL_TAG Name for a new legal tag opendes-demo-legal-tag You define (see below)

Follow the Manage users guide to add appropriate entitlements for the user who's running this tutorial.

Legal tags are essential for compliance purpose and will be used in subsequent records.

curl --request POST \
  --url {{DNS}}/api/legal/v1/legaltags \
  --header 'authorization: Bearer {{ACCESS_TOKEN}}' \
  --header 'content-type: application/json' \
  --header 'data-partition-id: {{DATA_PARTITION_ID}}' \
  --data '{
  "name": "{{LEGAL_TAG}}",
  "description": "RAFS DDMS Demo legal tag",
  "properties": {
    "countryOfOrigin": [
      "US"
    ],
    "contractId": "A1234",
    "expirationDate": "2099-01-25",
    "originator": "Contoso",
    "dataType": "Public Domain Data",
    "securityClassification": "Public",
    "personalData": "No Personal Data",
    "exportClassification": "EAR99"
  }
}'

Sample response:

{
  "name": "opendes-osdu-rafs-ddms-demo-legal-ta",
  "description": "RAFS DDMS Demo legal tag",
  "properties": {
    "countryOfOrigin": ["US"],
    "contractId": "A1234",
    "expirationDate": "2099-01-25",
    "originator": "Contoso",
    "dataType": "Public Domain Data",
    "securityClassification": "Public",
    "personalData": "No Personal Data",
    "exportClassification": "EAR99"
  }
}

2. Create Master data hierarchy

Entities must be created in this sequence: Organization → Field → Well → Wellbore. All requests use the Storage Service endpoint: /api/storage/v2/records.

2.1 Organization

Create organization record using the following sample cURL command.

curl --request PUT \
  --url {{DNS}}/api/storage/v2/records \
  --header 'authorization: Bearer {{ACCESS_TOKEN}}' \
  --header 'content-type: application/json' \
  --header 'data-partition-id: {{DATA_PARTITION_ID}}' \
  --data '[
  {
    "id": "{{DATA_PARTITION_ID}}:master-data--Organisation:CoreLabs-IN",
    "kind": "{{AUTHORITY}}:{{SCHEMA_SOURCE}}:master-data--Organisation:1.2.0",
    "acl": {
      "owners": [
        "{{ACL_DATA_OWNERS}}"
      ],
      "viewers": [
        "{{ACL_DATA_VIEWERS}}"
      ]
    },
    "legal": {
      "legaltags": [
        "{{DATA_PARTITION_ID}}-{{LEGAL_TAG}}"
      ],
      "otherRelevantDataCountries": [
        "FR",
        "US"
      ],
      "status": "compliant"
    },
    "data": {
      "OrganisationID": "CoreLabs India Identifier",
      "OrganisationName": "CoreLabs India",
      "EffectiveDateTime": "2020-02-13T09:13:15.55Z",
      "TerminationDateTime": "2030-02-13T09:13:15.55Z"
    }
  }
]'

Sample response:

{
  "recordCount": 1,
  "recordIds": [
    "opendes:master-data--Organisation:CoreLabs-IN"
  ],
  "skippedRecordIds": [],
  "recordIdVersions": [
    "opendes:master-data--Organisation:CoreLabs-IN:1758005682610981"
  ]
}

2.2 Field

curl --request PUT \
  --url {{DNS}}/api/storage/v2/records \
  --header 'authorization: Bearer {{ACCESS_TOKEN}}' \
  --header 'content-type: application/json' \
  --header 'data-partition-id: {{DATA_PARTITION_ID}}' \
  --data '[
  {
    "id": "{{DATA_PARTITION_ID}}:master-data--Field:RAFS-Field",
    "kind": "{{AUTHORITY}}:{{SCHEMA_SOURCE}}:master-data--Field:1.0.0",
    "acl": {
      "owners": [
        "{{ACL_DATA_OWNERS}}"
      ],
      "viewers": [
        "{{ACL_DATA_VIEWERS}}"
      ]
    },
    "legal": {
      "legaltags": [
        "{{DATA_PARTITION_ID}}-{{LEGAL_TAG}}"
      ],
      "otherRelevantDataCountries": [
        "FR",
        "US"
      ],
      "status": "compliant"
    },
    "data": {
      "FieldID": "RAFS Field Identifier",
      "FieldName": "RAFS FieldName",
      "FieldDescription": "RAFS FieldDescription",
      "NameAliases": [
        {
          "AliasName": "RAFS AliasName",
          "AliasNameTypeID": "{{DATA_PARTITION_ID}}:reference-data--AliasNameType:RegulatoryIdentifier:",
          "DefinitionOrganisationID": "{{organisation_id}}:",
          "EffectiveDateTime": "2020-02-13T09:13:15.55Z",
          "TerminationDateTime": "2030-02-13T09:13:15.55Z"
        }
      ]
    }
  }
]'

Sample response:

{
  "recordCount": 1,
  "recordIds": [
    "opendes:master-data--Field:RAFS-Field"
  ],
  "skippedRecordIds": [],
  "recordIdVersions": [
    "opendes:master-data--Field:RAFS-Field:1758005692653158"
  ]
}

2.3 Well

curl --request PUT \
  --url {{DNS}}/api/storage/v2/records \
  --header 'authorization: Bearer {{ACCESS_TOKEN}}' \
  --header 'content-type: application/json' \
  --header 'data-partition-id: {{DATA_PARTITION_ID}}' \
  --data '[
  {
    "id": "{{DATA_PARTITION_ID}}:master-data--Well:RAFS-Well",
    "kind": "{{AUTHORITY}}:{{SCHEMA_SOURCE}}:master-data--Well:1.4.0",
    "acl": {
      "owners": [
        "{{ACL_DATA_OWNERS}}"
      ],
      "viewers": [
        "{{ACL_DATA_VIEWERS}}"
      ]
    },
    "legal": {
      "legaltags": [
        "{{DATA_PARTITION_ID}}-{{LEGAL_TAG}}"
      ],
      "otherRelevantDataCountries": [
        "FR",
        "US"
      ],
      "status": "compliant"
    },
    "data": {
      "FacilityID": "RAFS Facility Identifier",
      "FacilityTypeID": "{{DATA_PARTITION_ID}}:reference-data--FacilityType:Well:",
      "FacilityOperators": [
        {
          "FacilityOperatorID": "RAFS Facility Operator ID",
          "FacilityOperatorOrganisationID": "{{organisation_id}}:",
          "EffectiveDateTime": "2020-02-13T09:13:15.55Z",
          "TerminationDateTime": "2030-02-13T09:13:15.55Z",
          "Remark": "Example Remark"
        }
      ],
      "GeoContexts": [
        {
          "FieldID": "{{field_id}}:",
          "GeoTypeID": "Field"
        }
      ]
    }
  }
]'

Sample response:

{
  "recordCount": 1,
  "recordIds": [
    "opendes:master-data--Well:RAFS-Well"
  ],
  "skippedRecordIds": [],
  "recordIdVersions": [
    "opendes:master-data--Well:RAFS-Well:1758005701048535"
  ]
}

2.4 Wellbore

curl --request PUT \
  --url {{DNS}}/api/storage/v2/records \
  --header 'authorization: Bearer {{ACCESS_TOKEN}}' \
  --header 'content-type: application/json' \
  --header 'data-partition-id: {{DATA_PARTITION_ID}}' \
  --data '[
  {
    "id": "{{DATA_PARTITION_ID}}:master-data--Wellbore:RAFS-Wellbore",
    "kind": "{{AUTHORITY}}:{{SCHEMA_SOURCE}}:master-data--Wellbore:1.5.1",
    "acl": {
      "owners": [
        "{{ACL_DATA_OWNERS}}"
      ],
      "viewers": [
        "{{ACL_DATA_VIEWERS}}"
      ]
    },
    "legal": {
      "legaltags": [
        "{{DATA_PARTITION_ID}}-{{LEGAL_TAG}}"
      ],
      "otherRelevantDataCountries": [
        "FR",
        "US"
      ],
      "status": "compliant"
    },
    "data": {
      "FacilityID": "RAFS Facility Identifier",
      "FacilityTypeID": "{{DATA_PARTITION_ID}}:reference-data--FacilityType:Well:",
      "FacilityOperators": [
        {
          "FacilityOperatorID": "RAFS Facility Operator ID",
          "FacilityOperatorOrganisationID": "{{organisation_id}}:",
          "EffectiveDateTime": "2020-02-13T09:13:15.55Z",
          "TerminationDateTime": "2030-02-13T09:13:15.55Z",
          "Remark": "Example Remark"
        }
      ],
      "GeoContexts": [
        {
          "FieldID": "{{field_id}}:",
          "GeoTypeID": "Field"
        }
      ],
      "WellID": "{{well_id}}:"
    }
  }
]'

Sample response:

{
  "recordCount": 1,
  "recordIds": [
    "opendes:master-data--Wellbore:RAFS-Wellbore"
  ],
  "skippedRecordIds": [],
  "recordIdVersions": [
    "opendes:master-data--Wellbore:RAFS-Wellbore:1758005709139052"
  ]
}

3. Ingest RAFS master data

Use RAFS DDMS API /v2/masterdata to load Generic Facility, Generic Site, Sample Acquisition Job, Sample Acquisition Container, Sample and Sample Chain of Custody Event master data.

3.1 Generic Facility

curl --request POST \
  --url {{DNS}}/api/rafs-ddms/v2/masterdata \
  --header 'authorization: Bearer {{ACCESS_TOKEN}}' \
  --header 'cache-control: no-store' \
  --header 'content-type: application/json' \
  --header 'data-partition-id: {{DATA_PARTITION_ID}}' \
  --data '[
  {
    "id": "{{DATA_PARTITION_ID}}:master-data--GenericFacility:CENTRAL-LAB-001",
    "kind": "osdu:wks:master-data--GenericFacility:1.0.0",
    "legal": {
      "legaltags": [
        "{{DATA_PARTITION_ID}}-{{LEGAL_TAG}}"
      ],
      "otherRelevantDataCountries": [
        "IN"
      ],
      "status": "compliant"
    },
    "acl": {
      "owners": [
        "{{ACL_DATA_OWNERS}}"
      ],
      "viewers": [
        "{{ACL_DATA_VIEWERS}}"
      ]
    },
    "data": {
      "ResourceHomeRegionID": "{{DATA_PARTITION_ID}}:reference-data--OSDURegion:AWSEastUSA:",
      "ResourceHostRegionIDs": [
        "{{DATA_PARTITION_ID}}:reference-data--OSDURegion:AWSEastUSA:"
      ],
      "ResourceCurationStatus": "{{DATA_PARTITION_ID}}:reference-data--ResourceCurationStatus:Created:",
      "ResourceLifecycleStatus": "{{DATA_PARTITION_ID}}:reference-data--ResourceLifecycleStatus:Loading:",
      "Source": "Example Data Source",
      "ExistenceKind": "{{DATA_PARTITION_ID}}:reference-data--ExistenceKind:Prototype:",
      "NameAliases": [
        {
          "AliasName": "Example AliasName",
          "AliasNameTypeID": "{{DATA_PARTITION_ID}}:reference-data--AliasNameType:RegulatoryIdentifier:",
          "DefinitionOrganisationID": "{{organisation_id}}:",
          "EffectiveDateTime": "2020-02-13T09:13:15.55Z",
          "TerminationDateTime": "2020-02-13T09:13:15.55Z"
        }
      ],
      "GeoContexts": [
        {
          "FieldID": "{{field_id}}:",
          "GeoTypeID": "Field"
        }
      ],
      "Name": "Chevron Central Core Lab",
      "FacilityTypeID": "{{DATA_PARTITION_ID}}:reference-data--FacilityType:Wellbore:",
      "ResourceHomeRegionID": "{{DATA_PARTITION_ID}}:reference-data--OSDURegion:AzureAustralia:",
      "ResourceLifecycleStatus": "{{DATA_PARTITION_ID}}:reference-data--ResourceLifecycleStatus:ACCEPTED:",
      "VersionCreationReason": "Example VersionCreationReason",
      "FacilityID": "Example External Facility Identifier",
      "FacilityTypeID": "{{DATA_PARTITION_ID}}:reference-data--FacilityType:Well:",
      "FacilityOperators": [
        {
          "FacilityOperatorID": "Example Facility Operator ID",
          "FacilityOperatorOrganisationID": "{{organisation_id}}:",
          "EffectiveDateTime": "2020-02-13T09:13:15.55Z",
          "TerminationDateTime": "2020-02-13T09:13:15.55Z",
          "Remark": "Example Remark"
        }
      ],
      "InitialOperatorID": "{{organisation_id}}:",
      "CurrentOperatorID": "{{organisation_id}}:",
      "DataSourceOrganisationID": "{{organisation_id}}:",
      "OperatingEnvironmentID": "{{DATA_PARTITION_ID}}:reference-data--OperatingEnvironment:Onshore:",
      "FacilityName": "Example FacilityName",
      "FacilityDescription": "Example Facility Description",
      "FacilityStates": [
        {
          "EffectiveDateTime": "2020-02-13T09:13:15.55Z",
          "TerminationDateTime": "2020-02-13T09:13:15.55Z",
          "FacilityStateTypeID": "{{DATA_PARTITION_ID}}:reference-data--FacilityStateType:Closed:",
          "Remark": "Example Remark"
        }
      ],
      "FacilityEvents": [
        {
          "FacilityEventTypeID": "{{DATA_PARTITION_ID}}:reference-data--FacilityEventType:Abandon:",
          "EffectiveDateTime": "2020-02-13T09:13:15.55Z",
          "TerminationDateTime": "2020-02-13T09:13:15.55Z",
          "Remark": "Example Remark"
        }
      ],
      "FacilitySpecifications": [
        {
          "EffectiveDateTime": "2020-02-13T09:13:15.55Z",
          "TerminationDateTime": "2020-02-13T09:13:15.55Z",
          "FacilitySpecificationQuantity": 12345.6,
          "FacilitySpecificationDateTime": "2020-02-13T09:13:15.55Z",
          "FacilitySpecificationIndicator": true,
          "FacilitySpecificationText": "Example FacilitySpecificationText",
          "UnitOfMeasureID": "{{DATA_PARTITION_ID}}:reference-data--UnitOfMeasure:m:",
          "ParameterTypeID": "{{DATA_PARTITION_ID}}:reference-data--ParameterType:SlotName:"
        }
      ],
      "ExtensionProperties": {}
    }
  }
]'

Sample response:

{
  "recordCount": 1,
  "recordIdVersions": [
    "opendes:master-data--GenericFacility:CENTRAL-LAB-001:1758005722706490"
  ],
  "skippedRecordCount": 0
}

3.2 Generic Site

curl --request POST \
  --url {{DNS}}/api/rafs-ddms/v2/masterdata \
  --header 'authorization: Bearer {{ACCESS_TOKEN}}' \
  --header 'cache-control: no-store' \
  --header 'content-type: application/json' \
  --header 'data-partition-id: {{DATA_PARTITION_ID}}' \
  --data '[
  {
    "id": "{{DATA_PARTITION_ID}}:master-data--GenericSite:KKS-ADIT-001",
    "kind": "osdu:wks:master-data--GenericSite:1.0.0",
    "legal": {
      "legaltags": [
        "{{DATA_PARTITION_ID}}-{{LEGAL_TAG}}"
      ],
      "otherRelevantDataCountries": [
        "IN"
      ],
      "status": "compliant"
    },
    "acl": {
      "owners": [
        "{{ACL_DATA_OWNERS}}"
      ],
      "viewers": [
        "{{ACL_DATA_VIEWERS}}"
      ]
    },
    "data": {
      "Name": "Kentish Knock South-1 Adit",
      "SiteTypeID": "{{DATA_PARTITION_ID}}:reference-data--SiteType:Adit:",
      "ResourceHomeRegionID": "{{DATA_PARTITION_ID}}:reference-data--OSDURegion:AzureAustralia:",
      "ResourceLifecycleStatus": "{{DATA_PARTITION_ID}}:reference-data--ResourceLifecycleStatus:ACCEPTED:",
      "ExistenceKind": "{{DATA_PARTITION_ID}}:reference-data--ExistenceKind:Simulated:"
    }
  }
]'

Sample response:

{
  "recordCount": 1,
  "recordIdVersions": [
    "opendes:master-data--GenericSite:KKS-ADIT-001:1758005728156709"
  ],
  "skippedRecordCount": 0
}

3.3 Sample Acquisition Job

curl --request POST \
  --url {{DNS}}/api/rafs-ddms/v2/masterdata \
  --header 'authorization: Bearer {{ACCESS_TOKEN}}' \
  --header 'cache-control: no-store' \
  --header 'content-type: application/json' \
  --header 'data-partition-id: {{DATA_PARTITION_ID}}' \
  --data '[
  {
    "id": "{{DATA_PARTITION_ID}}:master-data--SampleAcquisitionJob:KKS-CORE-20230304-001",
    "kind": "osdu:wks:master-data--SampleAcquisitionJob:1.0.0",
    "legal": {
      "legaltags": [
        "{{DATA_PARTITION_ID}}-{{LEGAL_TAG}}"
      ],
      "otherRelevantDataCountries": [
        "IN"
      ],
      "status": "compliant"
    },
    "acl": {
      "owners": [
        "{{ACL_DATA_OWNERS}}"
      ],
      "viewers": [
        "{{ACL_DATA_VIEWERS}}"
      ]
    },
    "data": {
      "ContractorID": "{{organisation_id}}:",
      "ProjectBeginDate": "2013-03-04T00:00:00Z",
      "ProjectEndDate": "2013-03-07T00:00:00Z"
    }
  }
]'

Sample response:

{
  "recordCount": 1,
  "recordIdVersions": [
    "opendes:master-data--SampleAcquisitionJob:KKS-CORE-20230304-001:1758005733180422"
  ],
  "skippedRecordCount": 0
}

3.4 Sample Acquisition Container

curl --request POST \
  --url {{DNS}}/api/rafs-ddms/v2/masterdata \
  --header 'authorization: Bearer {{ACCESS_TOKEN}}' \
  --header 'cache-control: no-store' \
  --header 'content-type: application/json' \
  --header 'data-partition-id: {{DATA_PARTITION_ID}}' \
  --data '[
  {
    "id": "{{DATA_PARTITION_ID}}:master-data--SampleContainer:COB-12A-001",
    "kind": "osdu:wks:master-data--SampleContainer:1.0.0",
    "legal": {
      "legaltags": [
        "{{DATA_PARTITION_ID}}-{{LEGAL_TAG}}"
      ],
      "otherRelevantDataCountries": [
        "IN"
      ],
      "status": "compliant"
    },
    "acl": {
      "owners": [
        "{{ACL_DATA_OWNERS}}"
      ],
      "viewers": [
        "{{ACL_DATA_VIEWERS}}"
      ]
    },
    "data": {
      "SampleContainerTypeID": "{{DATA_PARTITION_ID}}:reference-data--SampleContainerType:Box:",
      "Capacity": 10.0,
      "ContainerIdentifier": "CORE-BOX-12A",
      "OperatingConditionRating": {
        "Pressure": 200,
        "Temperature": 100
      },
      "SampleContainerServiceTypeIDs": [
        "{{DATA_PARTITION_ID}}:reference-data--SampleContainerServiceType:Hydrocarbon.Sour:"
      ]
    }
  }
]'

Sample response:

{
  "recordCount": 1,
  "recordIdVersions": [
    "opendes:master-data--SampleContainer:COB-12A-001:1758005738846690"
  ],
  "skippedRecordCount": 0
}

3.5 Sample

curl --request POST \
  --url {{DNS}}/api/rafs-ddms/v2/masterdata \
  --header 'authorization: Bearer {{ACCESS_TOKEN}}' \
  --header 'cache-control: no-store' \
  --header 'content-type: application/json' \
  --header 'data-partition-id: {{DATA_PARTITION_ID}}' \
  --data '[
  {
    "id": "{{DATA_PARTITION_ID}}:master-data--Sample:KKS-CORE-PLUG-001",
    "kind": "osdu:wks:master-data--Sample:2.1.0",
    "legal": {
      "legaltags": [
        "{{DATA_PARTITION_ID}}-{{LEGAL_TAG}}"
      ],
      "otherRelevantDataCountries": [
        "IN"
      ],
      "status": "compliant"
    },
    "acl": {
      "owners": [
        "{{ACL_DATA_OWNERS}}"
      ],
      "viewers": [
        "{{ACL_DATA_VIEWERS}}"
      ]
    },
    "data": {
      "SampleAcquisition": {
        "SampleAcquisitionJobID": "{{sar_sample_acquisition_record_id}}:",
        "SampleAcquisitionDetail": {
          "VerticalMeasurement": {
            "EffectiveDateTime": "2020-02-13T09:13:15.55Z",
            "VerticalMeasurement": 12345.6,
            "TerminationDateTime": "2020-02-13T09:13:15.55Z",
            "VerticalMeasurementTypeID": "{{DATA_PARTITION_ID}}:reference-data--VerticalMeasurementType:ArbitraryPoint:",
            "VerticalMeasurementPathID": "{{DATA_PARTITION_ID}}:reference-data--VerticalMeasurementPath:MD:",
            "VerticalMeasurementSourceID": "{{DATA_PARTITION_ID}}:reference-data--VerticalMeasurementSource:DRL:",
            "VerticalMeasurementUnitOfMeasureID": "{{DATA_PARTITION_ID}}:reference-data--UnitOfMeasure:m:",
            "VerticalCRSID": "{{DATA_PARTITION_ID}}:reference-data--CoordinateReferenceSystem:BoundProjected:EPSG::32021_EPSG::15851:",
            "VerticalReferenceID": "Example VerticalReferenceID",
            "VerticalMeasurementDescription": "Example VerticalMeasurementDescription"
          },
          "TopDepth": 10000.0,
          "BaseDepth": 20000.0,
          "ToolKind": "Wireline Formation Tester",
          "RunNumber": "22",
          "WellboreID": "{{wellbore_id}}:",
          "WellheadOperatingCondition": {
            "Pressure": 1.0,
            "Temperature": 15.0
          },
          "SeparatorOperatingCondition": {
            "Pressure": 1.0,
            "Temperature": 15.0
          },
          "SamplingPoint": {
            "SamplingPointTypeID": "{{DATA_PARTITION_ID}}:reference-data--SamplingPointType:FlowPort:",
            "SamplingPointName": "VALVE:1723RR-01"
          },
          "CorrectedOilRate": 12345.6,
          "CorrectedGasRate": 12345.6,
          "CorrectedWaterRate": 12345.6,
          "MeasuredOilRate": 12345.6,
          "MeasuredGasRate": 12345.6,
          "MeasuredWaterRate": 12345.6,
          "FormationCondition": {
            "Pressure": 120,
            "Temperature": 60
          },
          "CorrectionRemarks": {
            "RemarkSequenceNumber": 1,
            "Remark": "Example Remark",
            "RemarkSource": "Example Remark Source",
            "RemarkDate": "2020-02-13"
          },
          "SampleCarrierSlotName": "Example Sample Carrier Slot Name",
          "ToolSectionName": "Example Tool Section Name",
          "SampleContainerCushionPressure": 12345.6,
          "GrossFluidKindID": "{{DATA_PARTITION_ID}}:reference-data--WellProductType:Gas:",
          "FacilityEquipmentOperatingCondition": {
            "Pressure": 1.0,
            "Temperature": 15.0
          },
          "SiteID": "{{sar_generic_site_record_id}}:",
          "SampleRecoveredLengthActual": 12345.6,
          "PreservationTypeID": "{{DATA_PARTITION_ID}}:reference-data--CorePreservationType:ClingWrap:",
          "SampleRecoveredLengthPlanned": 12345.6,
          "AcquisitionCondition": {
            "Pressure": 120,
            "Temperature": 60
          },
          "AcquisitionGOR": 340.0,
          "MudBaseTypeID": "{{DATA_PARTITION_ID}}:reference-data--MudBaseType:Brine:",
          "MudTracerTypeID": "{{DATA_PARTITION_ID}}:reference-data--MudTracerType:ChemicalTracer:"
        },
        "SampleAcquisitionTypeID": "{{DATA_PARTITION_ID}}:reference-data--SampleAcquisitionType:DownholeSampleAcquisition:",
        "SampleAcquisitionContainerID": "{{sar_sample_container_record_id}}:",
        "AcquisitionStartDate": "2023-01-01T12:00:00Z",
        "AcquisitionEndDate": "2023-01-01T12:00:00Z",
        "Remarks": [
          {
            "RemarkSequenceNumber": 1,
            "Remark": "Example Remark",
            "RemarkSource": "Example Remark Source",
            "RemarkDate": "2020-02-13"
          }
        ],
        "CollectionServiceCompanyID": "{{organisation_id}}:",
        "HandlingServiceCompanyID": "{{organisation_id}}:"
      }
    }
  }
]'

Sample response:

{
  "recordCount": 1,
  "recordIdVersions": [
    "opendes:master-data--Sample:KKS-CORE-PLUG-001:1758005744573136"
  ],
  "skippedRecordCount": 0
}

3.6 Sample Chain of Custody Event

curl --request POST \
  --url {{DNS}}/api/rafs-ddms/v2/masterdata \
  --header 'authorization: Bearer {{ACCESS_TOKEN}}' \
  --header 'cache-control: no-store' \
  --header 'content-type: application/json' \
  --header 'data-partition-id: {{DATA_PARTITION_ID}}' \
  --data '[
  {
    "id": "{{DATA_PARTITION_ID}}:master-data--SampleChainOfCustodyEvent:KKS-TRANSFER-001",
    "kind": "osdu:wks:master-data--SampleChainOfCustodyEvent:1.0.0",
    "legal": {
      "legaltags": [
        "{{DATA_PARTITION_ID}}-{{LEGAL_TAG}}"
      ],
      "otherRelevantDataCountries": [
        "IN"
      ],
      "status": "compliant"
    },
    "acl": {
      "owners": [
        "{{ACL_DATA_OWNERS}}"
      ],
      "viewers": [
        "{{ACL_DATA_VIEWERS}}"
      ]
    },
    "data": {
      "Name": "Example Name",
      "TransferCondition": {
        "Pressure": 100,
        "Temperature": 60
      },
      "OpeningCondition": {
        "Pressure": 100,
        "Temperature": 60
      },
      "ClosingCondition": {
        "Pressure": 100,
        "Temperature": 60
      },
      "CustodyDate": "2022-01-01T10:00:00",
      "CustodyEventTypeID": "{{DATA_PARTITION_ID}}:reference-data--CustodyEventType:SampleTransfer:",
      "Custodian": "Harris A.",
      "PreviousStorageLocation": {
        "StorageLocationDescription": "Example StorageLocationDescription",
        "StorageOrganisationID": "{{organisation_id}}:",
        "EffectiveDateTime": "2020-02-13",
        "TerminationDateTime": "2020-02-13",
        "SampleIdentifier": "Example SampleIdentifier"
      },
      "CurrentStorageLocation": {
        "StorageLocationDescription": "Example StorageLocationDescription",
        "StorageOrganisationID": "{{organisation_id}}:",
        "EffectiveDateTime": "2020-02-13",
        "TerminationDateTime": "2020-02-13",
        "SampleIdentifier": "Example SampleIdentifier"
      },
      "CustodyEventLocationID": "{{organisation_id}}:",
      "CurrentContainerID": "{{sar_sample_container_record_id}}:",
      "Remarks": [
        {
          "Remark": "Transfer process resulted in lost volume.",
          "RemarkSource": "Lab Analyst 1"
        }
      ],
      "SampleID": "{{sample_record_id}}:"
    }
  }
]'

Sample response:

{
  "recordCount": 1,
  "recordIdVersions": [
    "opendes:master-data--SampleChainOfCustodyEvent:KKS-TRANSFER-001:1758005749904118"
  ],
  "skippedRecordCount": 0
}

4. Ingest Sample Analysis Report

4.1 Create a new Sample Analysis Report

curl --request POST \
  --url {{DNS}}/api/rafs-ddms/v2/samplesanalysesreport \
  --header 'authorization: Bearer {{ACCESS_TOKEN}}' \
  --header 'content-type: application/json' \
  --header 'data-partition-id: {{DATA_PARTITION_ID}}' \
  --data '[
  {
    "id": "{{DATA_PARTITION_ID}}:work-product-component--SamplesAnalysesReport:KKS1",
    "kind": "{{AUTHORITY}}:wks:work-product-component--SamplesAnalysesReport:1.0.0",
    "acl": {
      "viewers": [
        "{{ACL_DATA_VIEWERS}}"
      ],
      "owners": [
        "{{ACL_DATA_OWNERS}}"
      ]
    },
    "legal": {
      "legaltags": [
        "{{DATA_PARTITION_ID}}-{{LEGAL_TAG}}"
      ],
      "otherRelevantDataCountries": [
        "IN"
      ],
      "status": "compliant"
    },
    "tags": {
      "NameOfKey": "String value"
    },
    "meta": [],
    "data": {
      "DocumentTypeID": "{{DATA_PARTITION_ID}}:reference-data--DocumentType:SampleAnalysisReport:",
      "NumberOfPages": 210,
      "SubTitle": "An Advanced Rock Properties Study Of Selected Samples From Well: KENTISH KNOCK SOUTH 1",
      "DocumentSubject": "Special Core Analysis Results Report (Final)",
      "DatePublished": "2020-12-16T11:46:20.163Z",
      "DateModified": "2020-12-16T11:46:20.163Z",
      "DocumentLanguage": "English",
      "SampleIDs": [
        "{{sample_record_id}}:"
      ],
      "ReportSampleIdentifiers": [
        "48B"
      ],
      "SampleAnalysisTypeIDs": [
        "{{DATA_PARTITION_ID}}:reference-data--SampleAnalysisType:RelativePermeability.SteadyState:",
        "{{DATA_PARTITION_ID}}:reference-data--SampleAnalysisType:NMR:",
        "{{DATA_PARTITION_ID}}:reference-data--SampleAnalysisType:ElectricalProperties.FormationResistivityFactor:"
      ],
      "SamplesAnalysisCategoryTagIDs": [
        "{{DATA_PARTITION_ID}}:reference-data--SamplesAnalysisCategoryTag:GreenCompany.SCAL:"
      ],
      "Remarks": [
        {
          "Remark": "RelativePermeability, page 105",
          "RemarkSequenceNumber": 1,
          "RemarkSource": "CoreLab"
        },
        {
          "Remark": "NMR, page 91",
          "RemarkSequenceNumber": 1,
          "RemarkSource": "CoreLab"
        }
      ],
      "LaboratoryIDs": [
        "{{organisation_id}}:"
      ],
      "LaboratoryNames": [
        "Core Laboratories"
      ]
    }
  }
]'

Sample response:

{
  "recordCount": 1,
  "recordIdVersions": [
    "opendes:work-product-component--SamplesAnalysesReport:KKS1:1758005756819109"
  ],
  "skippedRecordCount": 0
}

4.2 Get the Sample Analysis Report record

To retrieve a report, use GET /api/rafs-ddms/v2/samplesanalysesreport/{reportId}

curl --request GET \
  --url {{DNS}}/api/rafs-ddms/v2/samplesanalysesreport/{{report_id}} \
  --header 'authorization: Bearer {{ACCESS_TOKEN}}' \
  --header 'cache-control: no-store' \
  --header 'content-type: application/json' \
  --header 'data-partition-id: {{DATA_PARTITION_ID}}'
{
  "data": {
    "DocumentTypeID": "opendes:reference-data--DocumentType:SampleAnalysisReport:",
    "NumberOfPages": 210,
    "SubTitle": "An Advanced Rock Properties Study Of Selected Samples From Well: KENTISH KNOCK SOUTH 1",
    "DocumentSubject": "Special Core Analysis Results Report (Final)",
    "DatePublished": "2020-12-16T11:46:20.163Z",
    "DateModified": "2020-12-16T11:46:20.163Z",
    "DocumentLanguage": "English",
    "SampleIDs": [
      "opendes:master-data--Sample:KKS-CORE-PLUG-001:"
    ],
    "ReportSampleIdentifiers": [
      "48B"
    ],
    "SampleAnalysisTypeIDs": [
      "opendes:reference-data--SampleAnalysisType:RelativePermeability.SteadyState:",
      "opendes:reference-data--SampleAnalysisType:NMR:",
      "opendes:reference-data--SampleAnalysisType:ElectricalProperties.FormationResistivityFactor:"
    ],
    "SamplesAnalysisCategoryTagIDs": [
      "opendes:reference-data--SamplesAnalysisCategoryTag:GreenCompany.SCAL:"
    ],
    "Remarks": [
      {
        "Remark": "RelativePermeability, page 105",
        "RemarkSequenceNumber": 1,
        "RemarkSource": "CoreLab"
      },
      {
        "Remark": "NMR, page 91",
        "RemarkSequenceNumber": 1,
        "RemarkSource": "CoreLab"
      }
    ],
    "LaboratoryIDs": [
      "opendes:master-data--Organisation:CoreLabs-IN:"
    ],
    "LaboratoryNames": [
      "Core Laboratories"
    ]
  },
  "meta": [],
  "modifyUser": "89a1a081-3783-4824-88f9-e2b97d602d52",
  "modifyTime": "2025-09-16T06:55:56.839Z",
  "id": "opendes:work-product-component--SamplesAnalysesReport:KKS1",
  "version": 1758005756819109,
  "kind": "osdu:wks:work-product-component--SamplesAnalysesReport:1.0.0",
  "acl": {
    "viewers": [
      "data.default.viewers@opendes.dataservices.energy"
    ],
    "owners": [
      "data.default.owners@opendes.dataservices.energy"
    ]
  },
  "legal": {
    "legaltags": [
      "opendes-osdu-rafs-ddms-demo-legal-tag"
    ],
    "otherRelevantDataCountries": [
      "IN"
    ],
    "status": "compliant"
  },
  "tags": {
    "NameOfKey": "String value"
  },
  "createUser": "89a1a081-3783-4824-88f9-e2b97d602d52",
  "createTime": "2025-09-15T11:04:40.310Z"
}

4.3 Get all the Sample Analysis Report versions

To list all versions, use GET /api/rafs-ddms/v2/samplesanalysesreport/{record_id}/versions

curl --request GET \
  --url {{DNS}}/api/rafs-ddms/v2/samplesanalysesreport/{{record_id}}/versions \
  --header 'authorization: Bearer {{ACCESS_TOKEN}}' \
  --header 'content-type: application/json' \
  --header 'data-partition-id: {{DATA_PARTITION_ID}}'

Sample response:

{
  "recordId": "opendes:work-product-component--SamplesAnalysesReport:KKS1",
  "versions": [
    1757934280081250,
    1757940413848125,
    1757996685957604,
    1758004251045884,
    1758004420706401,
    1758005756819109
  ]
}

4.4 Get a specific version of the Sample Analysis Report

To get a specific version, use GET /api/rafs-ddms/v2/samplesanalysesreport/{record_id}/versions/{version}

curl --request GET \
  --url {{DNS}}/api/rafs-ddms/v2/samplesanalysesreport/{{record_id}}/versions/{{version}} \
  --header 'authorization: Bearer {{ACCESS_TOKEN}}' \
  --header 'cache-control: no-store' \
  --header 'content-type: application/json' \
  --header 'data-partition-id: {{DATA_PARTITION_ID}}'

Sample response:

{
  "data": {
    "DocumentTypeID": "opendes:reference-data--DocumentType:SampleAnalysisReport:",
    "NumberOfPages": 210,
    "SubTitle": "An Advanced Rock Properties Study Of Selected Samples From Well: KENTISH KNOCK SOUTH 1",
    "DocumentSubject": "Special Core Analysis Results Report (Final)",
    "DatePublished": "2020-12-16T11:46:20.163Z",
    "DateModified": "2020-12-16T11:46:20.163Z",
    "DocumentLanguage": "English",
    "SampleIDs": [
      "opendes:master-data--Sample:KKS-CORE-PLUG-001:"
    ],
    "ReportSampleIdentifiers": [
      "48B"
    ],
    "SampleAnalysisTypeIDs": [
      "opendes:reference-data--SampleAnalysisType:RelativePermeability.SteadyState:",
      "opendes:reference-data--SampleAnalysisType:NMR:",
      "opendes:reference-data--SampleAnalysisType:ElectricalProperties.FormationResistivityFactor:"
    ],
    "SamplesAnalysisCategoryTagIDs": [
      "opendes:reference-data--SamplesAnalysisCategoryTag:GreenCompany.SCAL:"
    ],
    "Remarks": [
      {
        "Remark": "RelativePermeability, page 105",
        "RemarkSequenceNumber": 1,
        "RemarkSource": "CoreLab"
      },
      {
        "Remark": "NMR, page 91",
        "RemarkSequenceNumber": 1,
        "RemarkSource": "CoreLab"
      }
    ],
    "LaboratoryIDs": [
      "opendes:master-data--Organisation:CoreLabs-IN:"
    ],
    "LaboratoryNames": [
      "Core Laboratories"
    ]
  },
  "meta": [],
  "modifyUser": "89a1a081-3783-4824-88f9-e2b97d602d52",
  "modifyTime": "2025-09-16T06:55:56.839Z",
  "id": "opendes:work-product-component--SamplesAnalysesReport:KKS1",
  "version": 1758005756819109,
  "kind": "osdu:wks:work-product-component--SamplesAnalysesReport:1.0.0",
  "acl": {
    "viewers": [
      "data.default.viewers@opendes.dataservices.energy"
    ],
    "owners": [
      "data.default.owners@opendes.dataservices.energy"
    ]
  },
  "legal": {
    "legaltags": [
      "opendes-osdu-rafs-ddms-demo-legal-tag"
    ],
    "otherRelevantDataCountries": [
      "IN"
    ],
    "status": "compliant"
  },
  "tags": {
    "NameOfKey": "String value"
  },
  "createUser": "89a1a081-3783-4824-88f9-e2b97d602d52",
  "createTime": "2025-09-15T11:04:40.310Z"
}

5. Ingest Sample Analysis

5.1 Create a sample analysis record

To create a new analysis, use POST /api/rafs-ddms/v2/samplesanalysis

curl --request POST \
  --url {{DNS}}/api/rafs-ddms/v2/samplesanalysis \
  --header 'authorization: Bearer {{ACCESS_TOKEN}}' \
  --header 'content-type: application/json' \
  --header 'data-partition-id: {{DATA_PARTITION_ID}}' \
  --data '[
  {
    "kind": "{{AUTHORITY}}:wks:work-product-component--SamplesAnalysis:1.0.0",
    "acl": {
      "viewers": [
        "{{ACL_DATA_VIEWERS}}"
      ],
      "owners": [
        "{{ACL_DATA_OWNERS}}"
      ]
    },
    "legal": {
      "legaltags": [
        "{{DATA_PARTITION_ID}}-{{LEGAL_TAG}}"
      ],
      "otherRelevantDataCountries": [
        "IN"
      ],
      "status": "compliant"
    },
    "tags": {
      "NameOfKey": "String value"
    },
    "data": {
      "SampleIDs": [
        "{{sample_record_id}}:"
      ],
      "ReportSampleIdentifiers": [
        "53B"
      ],
      "AnalysisDate": "2015-01-01",
      "LaboratoryIDs": [
        "{{organisation_id}}:"
      ],
      "LaboratoryNames": [
        "TestLab"
      ],
      "Remarks": [
        {
          "Remark": "Kentish Knock South 1 - Special Core Analysis (SCAL) Report, Section 6.2 Page 91, 92",
          "RemarkSequenceNumber": 1,
          "RemarkSource": "RAFSDDMS",
          "RemarkDate": "2023-12-21"
        }
      ],
      "DatePublished": "2015-01-01",
      "ParentSamplesAnalysesReports": [
        {
          "ParentSamplesAnalysesReportID": "{{sar_record_id}}:"
        }
      ],
      "SampleAnalysisTypeIDs": [
        "{{DATA_PARTITION_ID}}:reference-data--SampleAnalysisType:NMR:"
      ],
      "SamplesAnalysisCategoryTagIDs": [
        "{{DATA_PARTITION_ID}}:reference-data--SamplesAnalysisCategoryTag:GreenCompany.SCAL:"
      ],
      "AvailableSampleAnalysisProperties": [
        "SamplesAnalysisID",
        "SampleID",
        "CumulativeWaterSaturation",
        "T2FullySaturated",
        "IncrementalPorosity",
        "DisplacedFluid",
        "EchoSpacing",
        "InjectedFluid",
        "Porosity",
        "Permeability",
        "NMRT2Swirr",
        "T2CutOff",
        "T2Mean",
        "Temperature",
        "PoreVolume",
        "NetConfiningStress"
      ],
      "DDMSDatasets": [],
      "Parameters": []
    }
  }
]'

Sample response:

{
  "recordCount": 1,
  "recordIdVersions": [
    "opendes:work-product-component--SamplesAnalysis:1c022fcfa0134607b7c3dbc26f8783cf:1758005811171994"
  ],
  "skippedRecordCount": 0
}

5.2 Get the content schema

To get content schema, use GET /api/rafs-ddms/v2/samplesanalysis/{analysistype}/data/schema

curl --request GET \
  --url {{DNS}}/api/rafs-ddms/v2/samplesanalysis/nmr/data/schema \
  --header 'accept: */*;version={{rafsddms-content-schema-version}}' \
  --header 'authorization: Bearer {{ACCESS_TOKEN}}' \
  --header 'cache-control: no-store' \
  --header 'content-type: application/json' \
  --header 'data-partition-id: {{DATA_PARTITION_ID}}'

Sample response:

{
  "title": "NmrModel100",
  "type": "object",
  "properties": {
    "SamplesAnalysisID": {
      "title": "Samples Analysis ID",
      "description": "The OSDU Identifier for this SamplesAnalysis.",
      "pattern": "^[\\w\\-\\.]+:work-product-component\\-\\-SamplesAnalysis:[\\w\\-\\.\\:\\%]+:[0-9]*$",
      "type": "string"
    },
    "SampleID": {
      "title": "Sample ID",
      "description": "The OSDU Identifier for the Sample associated with this analysis.",
      "pattern": "^[\\w\\-\\.]+:master-data\\-\\-Sample:[\\w\\-\\.\\:\\%]+:[0-9]*$",
      "type": "string"
    },
    "Meta": {
      "title": "Meta",
      "description": "A meta data item, which allows the association of named properties or property values to a Unit/Measurement/CRS/Azimuth/Time context.",
      "example": "",
      "type": "array",
      "items": {
        "anyOf": [
          {
            "$ref": "#/definitions/Meta"
          },
          {
            "$ref": "#/definitions/Meta1"
          },
          {
            "$ref": "#/definitions/Meta2"
          },
          {
            "$ref": "#/definitions/Meta3"
          }
        ]
      }
    },
    "NMRTest": {
      "title": "NMR Test",
      "description": "An analysis of rock or fluid samples using Nuclear Magnetic Resonance to assess various properties, including fluid content and pore structure.",
      "type": "array",
      "items": {
        "$ref": "#/definitions/NMRTestItem"
      }
    }
  },
  "required": [
    "SamplesAnalysisID",
    "SampleID",
    "Meta"
  ],
  "additionalProperties": false,
  "definitions": {
    "Meta": {
      "title": "Meta",
      "type": "object",
      "properties": {
        "kind": {
          "title": "UOM Reference Kind",
          "description": "The kind of reference, 'Unit' for FrameOfReferenceUOM.",
          "default": "Unit",
          "const": "Unit",
          "type": "string"
        },
        "name": {
          "title": "UOM Unit Symbol",
          "description": "The unit symbol or name of the unit.",
          "example": "ft[US]",
          "type": "string"
        },
        "persistableReference": {
          "title": "UOM Persistable Reference",
          "description": "The self-contained, persistable reference string uniquely identifying the Unit.",
          "example": "{\"abcd\":{\"a\":0.0,\"b\":1200.0,\"c\":3937.0,\"d\":0.0},\"symbol\":\"ft[US]\",\"baseMeasurement\":{\"ancestry\":\"L\",\"type\":\"UM\"},\"type\":\"UAD\"}",
          "type": "string"
        },
        "unitOfMeasureID": {
          "title": "Unitofmeasureid",
          "description": "SRN to unit of measure reference.",
          "example": "namespace:reference-data--UnitOfMeasure:ftUS:",
          "pattern": "^[\\w\\-\\.]+:reference-data\\-\\-UnitOfMeasure:[\\w\\-\\.\\:\\%]+:[0-9]*$",
          "type": "string"
        },
        "propertyNames": {
          "title": "UOM Property Names",
          "description": "The list of property names, to which this meta data item provides Unit context to. A full path like \"StructureA.PropertyB\" is required to define a unique context; \"data\" is omitted since frame-of reference normalization only applies to the data block.",
          "example": [
            "HorizontalDeflection.EastWest",
            "HorizontalDeflection.NorthSouth"
          ],
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      },
      "additionalProperties": false
    },
    "Meta1": {
      "title": "Meta1",
      "type": "object",
      "properties": {
        "kind": {
          "title": "CRS Reference Kind",
          "description": "The kind of reference, constant 'CRS' for FrameOfReferenceCRS.",
          "default": "CRS",
          "const": "CRS",
          "type": "string"
        },
        "name": {
          "title": "CRS Name",
          "description": "The name of the CRS.",
          "example": "WGS 84 / UTM zone 15N",
          "type": "string"
        },
        "persistableReference": {
          "title": "CRS Persistable Reference",
          "description": "The self-contained, persistable reference string uniquely identifying the CRS.",
          "example": "{\"authCode\":{\"auth\":\"EPSG\",\"code\":\"32615\"},\"name\":\"WGS_1984_UTM_Zone_15N\",\"type\":\"LBC\",\"ver\":\"PE_10_9_1\",\"wkt\":\"PROJCS[\\\"WGS_1984_UTM_Zone_15N\\\",GEOGCS[\\\"GCS_WGS_1984\\\",DATUM[\\\"D_WGS_1984\\\",SPHEROID[\\\"WGS_1984\\\",6378137.0,298.257223563]],PRIMEM[\\\"Greenwich\\\",0.0],UNIT[\\\"Degree\\\",0.0174532925199433]],PROJECTION[\\\"Transverse_Mercator\\\"],PARAMETER[\\\"False_Easting\\\",500000.0],PARAMETER[\\\"False_Northing\\\",0.0],PARAMETER[\\\"Central_Meridian\\\",-93.0],PARAMETER[\\\"Scale_Factor\\\",0.9996],PARAMETER[\\\"Latitude_Of_Origin\\\",0.0],UNIT[\\\"Meter\\\",1.0],AUTHORITY[\\\"EPSG\\\",32615]]\"}",
          "type": "string"
        },
        "coordinateReferenceSystemID": {
          "title": "Coordinatereferencesystemid",
          "description": "SRN to CRS reference.",
          "example": "namespace:reference-data--CoordinateReferenceSystem:Projected:EPSG::32615:",
          "pattern": "^[\\w\\-\\.]+:reference-data\\-\\-CoordinateReferenceSystem:[\\w\\-\\.\\:\\%]+:[0-9]*$",
          "type": "string"
        },
        "propertyNames": {
          "title": "CRS Property Names",
          "description": "The list of property names, to which this meta data item provides CRS context to. A full path like \"StructureA.PropertyB\" is required to define a unique context; \"data\" is omitted since frame-of reference normalization only applies to the data block.",
          "example": [
            "KickOffPosition.X",
            "KickOffPosition.Y"
          ],
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      },
      "required": [
        "persistableReference"
      ],
      "additionalProperties": false
    },
    "Meta2": {
      "title": "Meta2",
      "type": "object",
      "properties": {
        "kind": {
          "title": "DateTime Reference Kind",
          "description": "The kind of reference, constant 'DateTime', for FrameOfReferenceDateTime.",
          "default": "DateTime",
          "const": "DateTime",
          "type": "string"
        },
        "name": {
          "title": "DateTime Name",
          "description": "The name of the DateTime format and reference.",
          "example": "UTC",
          "type": "string"
        },
        "persistableReference": {
          "title": "DateTime Persistable Reference",
          "description": "The self-contained, persistable reference string uniquely identifying DateTime reference.",
          "example": "{\"format\":\"yyyy-MM-ddTHH:mm:ssZ\",\"timeZone\":\"UTC\",\"type\":\"DTM\"}",
          "type": "string"
        },
        "propertyNames": {
          "title": "DateTime Property Names",
          "description": "The list of property names, to which this meta data item provides DateTime context to. A full path like \"StructureA.PropertyB\" is required to define a unique context; \"data\" is omitted since frame-of reference normalization only applies to the data block.",
          "example": [
            "Acquisition.StartTime",
            "Acquisition.EndTime"
          ],
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      },
      "required": [
        "persistableReference"
      ],
      "additionalProperties": false
    },
    "Meta3": {
      "title": "Meta3",
      "type": "object",
      "properties": {
        "kind": {
          "title": "AzimuthReference Reference Kind",
          "description": "The kind of reference, constant 'AzimuthReference', for FrameOfReferenceAzimuthReference.",
          "default": "AzimuthReference",
          "const": "AzimuthReference",
          "type": "string"
        },
        "name": {
          "title": "AzimuthReference Name",
          "description": "The name of the CRS or the symbol/name of the unit.",
          "example": "TrueNorth",
          "type": "string"
        },
        "persistableReference": {
          "title": "AzimuthReference Persistable Reference",
          "description": "The self-contained, persistable reference string uniquely identifying AzimuthReference.",
          "example": "{\"code\":\"TrueNorth\",\"type\":\"AZR\"}",
          "type": "string"
        },
        "propertyNames": {
          "title": "AzimuthReference Property Names",
          "description": "The list of property names, to which this meta data item provides AzimuthReference context to. A full path like \"StructureA.PropertyB\" is required to define a unique context; \"data\" is omitted since frame-of reference normalization only applies to the data block.",
          "example": [
            "Bearing"
          ],
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      },
      "required": [
        "persistableReference"
      ],
      "additionalProperties": false
    },
    "CumulativePorosity": {
      "title": "CumulativePorosity",
      "type": "object",
      "properties": {
        "Value": {
          "title": "Value",
          "description": "The porosity value of the sample.",
          "type": "number"
        },
        "PorosityMeasurementTypeID": {
          "title": "Porosity Measurement Type ID",
          "description": "The type of porosity being measured, e.g. BrineSaturation, HeliumInjection.",
          "pattern": "^[\\w\\-\\.]+:reference-data\\-\\-PorosityMeasurementType:[\\w\\-\\.\\:\\%]+:[0-9]*$",
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "IncrementalPorosity": {
      "title": "IncrementalPorosity",
      "type": "object",
      "properties": {
        "Value": {
          "title": "Value",
          "description": "The porosity value.",
          "type": "number"
        },
        "PorosityMeasurementTypeID": {
          "title": "Porosity Measurement Type ID",
          "description": "The type of porosity being measured, e.g. BrineSaturation, HeliumInjection.",
          "pattern": "^[\\w\\-\\.]+:reference-data\\-\\-PorosityMeasurementType:[\\w\\-\\.\\:\\%]+:[0-9]*$",
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "NMRTestStep": {
      "title": "NMRTestStep",
      "type": "object",
      "properties": {
        "CumulativeWaterSaturation": {
          "title": "Cumulative Water Saturation",
          "description": "Cumulative water saturation",
          "type": "number"
        },
        "CumulativeVolume": {
          "title": "Cumulative Volume",
          "description": "Cumulative volume of fluid calculated based on amplitude measurement.",
          "type": "number"
        },
        "CumulativePorosity": {
          "title": "Cumulative Porosity",
          "description": "Cumulative porosity of the sample.",
          "allOf": [
            {
              "$ref": "#/definitions/CumulativePorosity"
            }
          ]
        },
        "IncrementalWaterSaturation": {
          "title": "Incremental Water Saturation",
          "description": "Water saturation increment for this test step.",
          "type": "number"
        },
        "IncrementalPorosity": {
          "title": "Incremental Porosity",
          "description": "Incremental porosity of the sample.",
          "allOf": [
            {
              "$ref": "#/definitions/IncrementalPorosity"
            }
          ]
        },
        "IncrementalVolume": {
          "title": "Incremental Volume",
          "description": "Incremental volume of fluid calculated based on amplitude measurement.",
          "type": "number"
        },
        "T2FullySaturated": {
          "title": "T2 Fully Saturated",
          "description": "T2 (transverse or spin-spin relaxation) when the sample is fully saturated.",
          "type": "number"
        },
        "T2PartiallySaturated": {
          "title": "T2 Partially Saturated",
          "description": "T2 (transverse or spin-spin relaxation) when the sample is partially saturated.",
          "type": "number"
        },
        "T1CumulativePorosity": {
          "title": "T1 Cumulative Porosity",
          "description": "Cumulative porosity of the sample based on T1.",
          "type": "number"
        },
        "T1CumulativeWaterSaturation": {
          "title": "T1 Cumulative Water Saturation",
          "description": "Cumulative water saturation of the sample based on T1.",
          "type": "number"
        },
        "T1IncrementalPorosity": {
          "title": "T1 Incremental Porosity",
          "description": "Incremental porosity of the sample based on T1.",
          "type": "number"
        },
        "T1IncrementalWaterSaturation": {
          "title": "T1 Incremental Water Saturation",
          "description": "Incremental water saturation of the sample based on T1.",
          "type": "number"
        }
      },
      "additionalProperties": false
    },
    "PorosityItem": {
      "title": "PorosityItem",
      "type": "object",
      "properties": {
        "Value": {
          "title": "Value",
          "description": "The porosity value.",
          "type": "number"
        },
        "PorosityMeasurementTypeID": {
          "title": "Porosity Measurement Type ID",
          "description": "The classification of porosity measured in the NMR test, which could be based on the method of measurement or the characteristics of the pore spaces.",
          "pattern": "^[\\w\\-\\.]+:reference-data\\-\\-PorosityMeasurementType:[\\w\\-\\.\\:\\%]+:[0-9]*$",
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "PermeabilityItem": {
      "title": "PermeabilityItem",
      "type": "object",
      "properties": {
        "Value": {
          "title": "Value",
          "type": "number"
        },
        "PermeabilityMeasurementTypeID": {
          "title": "Permeability Measurement Type ID",
          "description": "The type of permeability being measured, e.g. Gas, PulseDecay, Klinkenberg.",
          "pattern": "^[\\w\\-\\.]+:reference-data\\-\\-PermeabilityMeasurementType:[\\w\\-\\.\\:\\%]+:[0-9]*$",
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "NMRSummaryData": {
      "title": "NMRSummaryData",
      "type": "object",
      "properties": {
        "BoundFluidBVI": {
          "title": "Bound Fluid BVI",
          "description": "Bound fluid following sample desaturation, relative to pore volume.",
          "type": "number"
        },
        "NMRT2BoundFluidRelativetoPoreVolume": {
          "title": "NMRT2BoundFluidRelativetoPoreVolume",
          "description": "NMR T2 bound fluid relative to pore volume.",
          "type": "number"
        },
        "DisplacedFluidID": {
          "title": "Displaced Fluid ID",
          "description": "The type of fluid displaced during the NMR test, which can influence the interpretation of pore and fluid properties.",
          "pattern": "^[\\w\\-\\.]+:reference-data\\-\\-DisplacedFluidType:[\\w\\-\\.\\:\\%]+:[0-9]*$",
          "type": "string"
        },
        "EchoSpacing": {
          "title": "Echo Spacing",
          "description": "The time interval between successive echoes in a sequence of pulse and acquisition events.",
          "type": "number"
        },
        "FreeFluidFFI": {
          "title": "Free Fluid FFI",
          "description": "Free fluid following sample desaturation, relative to pore volume.",
          "type": "number"
        },
        "NMRT2FreeFluid": {
          "title": "NMR T2 Free Fluid",
          "description": "The amount of NMR T2 free fluid expressed relative to pore volume.",
          "type": "number"
        },
        "InjectionFluidID": {
          "title": "Injected Fluid ID",
          "description": "The type of fluid injected into the sample during the NMR test, used to assess how different fluids affect the sample's magnetic resonance properties.",
          "pattern": "^[\\w\\-\\.]+:reference-data\\-\\-SampleInjectionFluidType:[\\w\\-\\.\\:\\%]+:[0-9]*$",
          "type": "string"
        },
        "Porosity": {
          "title": "Porosity",
          "description": "The amount of pore space relative to the volume of a sample.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/PorosityItem"
          }
        },
        "Permeability": {
          "title": "Permeability",
          "description": "The permeability of the sample as determined by the NMR test, reflecting the ability of fluids to flow through the rock or material.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/PermeabilityItem"
          }
        },
        "Swirr": {
          "title": "Irreducible Water Saturation",
          "description": "The irreducible water saturation relative to pore volume of the sample.",
          "type": "number"
        },
        "NMRT2Swirr": {
          "title": "NMR T2 Irreducible Water Saturation",
          "description": "NMR T2 irreducible water saturation relative to pore volume of the sample.",
          "type": "number"
        },
        "T2CutOff": {
          "title": "T2 Cut Off",
          "description": "Cut off of transverse relaxation time (T2).",
          "type": "number"
        },
        "T2Mean": {
          "title": "T2 Mean",
          "description": "Average of T2 relaxation time.",
          "type": "number"
        },
        "Temperature": {
          "title": "Temperature",
          "description": "The temperature of the test environment.",
          "type": "number"
        },
        "PoreVolume": {
          "title": "Pore Volume",
          "description": "The pore volume of the sample.",
          "type": "number"
        },
        "NetConfiningStress": {
          "title": "Net Confining Stress",
          "description": "The pressure exerted on a sample from its environment, minus the pore pressure within the sample.",
          "type": "number"
        }
      },
      "additionalProperties": false
    },
    "NMRTestItem": {
      "title": "NMRTestItem",
      "type": "object",
      "properties": {
        "TestConditionID": {
          "title": "Test Condition ID",
          "description": "The sample condition at which the NMR test was conducted.",
          "pattern": "^[\\w\\-\\.]+:reference-data\\-\\-NMRTestCondition:[\\w\\-\\.\\:\\%]+:[0-9]*$",
          "type": "string"
        },
        "NMRTestSteps": {
          "title": "NMR Test Steps",
          "description": "An array capturing the individual test steps for this NMR analysis.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/NMRTestStep"
          }
        },
        "NMRSummaryData": {
          "title": "NMR Summary Data",
          "description": "A summary of results from the NMR test, providing key metrics and findings related to the analysis.",
          "allOf": [
            {
              "$ref": "#/definitions/NMRSummaryData"
            }
          ]
        }
      },
      "additionalProperties": false
    }
  }
}

5.3 Add data to the sample analysis

To add data, use POST /api/rafs-ddms/v2/samplesanalysis/{record_id}/data/{analysistype}

curl --request POST \
  --url {{DNS}}/api/rafs-ddms/v2/samplesanalysis/opendes:work-product-component--SamplesAnalysis:1c022fcfa0134607b7c3dbc26f8783cf/data/nmr \
  --header 'accept: */*;version={{rafsddms-content-schema-version}}' \
  --header 'authorization: Bearer {{ACCESS_TOKEN}}' \
  --header 'content-type: application/json' \
  --header 'data-partition-id: {{DATA_PARTITION_ID}}' \
  --data '{
    "columns": [
        "SamplesAnalysisID",
        "SampleID",
        "Meta",
        "NMRTest"
    ],
    "index": [
        0
    ],
    "data": [
        [
            "{{nmr_record_id}}:",
            "{{sample_record_id}}:",
            [
                {
                    "kind": "Unit",
                    "name": "degree Fahrenheit",
                    "unitOfMeasureID": "{{DATA_PARTITION_ID}}:reference-data--UnitOfMeasure:degF:",
                    "propertyNames": [
                        "NMRSummaryData.Temperature"
                    ]
                },
                {
                    "kind": "Unit",
                    "name": "pound-force per square inch",
                    "unitOfMeasureID": "{{DATA_PARTITION_ID}}:reference-data--UnitOfMeasure:psi:",
                    "propertyNames": [
                        "NMRSummaryData.NetConfiningStress"
                    ]
                },
                {
                    "kind": "Unit",
                    "name": "millidarcy",
                    "unitOfMeasureID": "{{DATA_PARTITION_ID}}:reference-data--UnitOfMeasure:mD:",
                    "propertyNames": [
                        "NMRSummaryData.Permeability.Value"
                    ]
                },
                {
                    "kind": "Unit",
                    "name": "cubic centimetre",
                    "unitOfMeasureID": "{{DATA_PARTITION_ID}}:reference-data--UnitOfMeasure:cm3:",
                    "propertyNames": [
                        "NMRTestSteps[*].CumulativeVolume",
                        "NMRTestSteps[*].IncrementalVolume",
                        "NMRSummaryData.BoundFluidBVI",
                        "NMRSummaryData.PoreVolume"
                    ]
                },
                {
                    "kind": "Unit",
                    "name": "centimetre",
                    "unitOfMeasureID": "{{DATA_PARTITION_ID}}:reference-data--UnitOfMeasure:cm:",
                    "propertyNames": [
                        "NMRSummaryData.EchoSpacing"
                    ]
                },
                {
                    "kind": "Unit",
                    "name": "milliseconds",
                    "unitOfMeasureID": "{{DATA_PARTITION_ID}}:reference-data--UnitOfMeasure:ms:",
                    "propertyNames": [
                        "NMRTestSteps[*].T2FullySaturated",
                        "NMRTestSteps[*].T2PartiallySaturated",
                        "NMRSummaryData.T2CutOff",
                        "NMRSummaryData.T2Mean"
                    ]
                },
                {
                    "kind": "Unit",
                    "name": "percent",
                    "unitOfMeasureID": "{{DATA_PARTITION_ID}}:reference-data--UnitOfMeasure:%25:",
                    "propertyNames": [
                        "NMRTestSteps[*].CumulativeWaterSaturation",
                        "NMRTestSteps[*].CumulativePorosity.Value",
                        "NMRTestSteps[*].IncrementalWaterSaturation",
                        "NMRTestSteps[*].IncrementalPorosity.Value",
                        "NMRTestSteps[*].T1CumulativePorosity",
                        "NMRTestSteps[*].T1CumulativeWaterSaturation",
                        "NMRTestSteps[*].T1IncrementalPorosity",
                        "NMRTestSteps[*].T1IncrementalWaterSaturation",
                        "NMRSummaryData.NMRT2BoundFluidRelativetoPoreVolume",
                        "NMRSummaryData.FreeFluidFFI",
                        "NMRSummaryData.NMRT2FreeFluid",
                        "NMRSummaryData.Porosity.Value",
                        "NMRSummaryData.Swirr",
                        "NMRSummaryData.NMRT2Swirr"
                    ]
                }
            ],
            [
                {
                    "TestConditionID": "{{DATA_PARTITION_ID}}:reference-data--NMRTestCondition:FullySaturated:",
                    "NMRTestSteps": [
                        {
                            "CumulativeWaterSaturation": 100.0,
                            "T2FullySaturated": 0.100,
                            "IncrementalPorosity": {
                                "Value": 0.000,
                                "PorosityMeasurementTypeID": "{{DATA_PARTITION_ID}}:reference-data--PorosityMeasurementType:BrineSaturation:"
                            }
                        },
                        {
                            "CumulativeWaterSaturation": 100.0,
                            "T2FullySaturated": 0.126,
                            "IncrementalPorosity": {
                                "Value": 0.000,
                                "PorosityMeasurementTypeID": "{{DATA_PARTITION_ID}}:reference-data--PorosityMeasurementType:BrineSaturation:"
                            }
                        },
                        {
                            "CumulativeWaterSaturation": 100.0,
                            "T2FullySaturated": 0.158,
                            "IncrementalPorosity": {
                                "Value": 0.000,
                                "PorosityMeasurementTypeID": "{{DATA_PARTITION_ID}}:reference-data--PorosityMeasurementType:BrineSaturation:"
                            }
                        },
                        {
                            "CumulativeWaterSaturation": 100.0,
                            "T2FullySaturated": 0.200,
                            "IncrementalPorosity": {
                                "Value": 0.000,
                                "PorosityMeasurementTypeID": "{{DATA_PARTITION_ID}}:reference-data--PorosityMeasurementType:BrineSaturation:"
                            }
                        },
                        {
                            "CumulativeWaterSaturation": 100.0,
                            "T2FullySaturated": 0.251,
                            "IncrementalPorosity": {
                                "Value": 0.000,
                                "PorosityMeasurementTypeID": "{{DATA_PARTITION_ID}}:reference-data--PorosityMeasurementType:BrineSaturation:"
                            }
                        },
                        {
                            "CumulativeWaterSaturation": 100.0,
                            "T2FullySaturated": 0.316,
                            "IncrementalPorosity": {
                                "Value": 0.000,
                                "PorosityMeasurementTypeID": "{{DATA_PARTITION_ID}}:reference-data--PorosityMeasurementType:BrineSaturation:"
                            }
                        },
                        {
                            "CumulativeWaterSaturation": 100.0,
                            "T2FullySaturated": 0.398,
                            "IncrementalPorosity": {
                                "Value": 0.000,
                                "PorosityMeasurementTypeID": "{{DATA_PARTITION_ID}}:reference-data--PorosityMeasurementType:BrineSaturation:"
                            }
                        },
                        {
                            "CumulativeWaterSaturation": 100.0,
                            "T2FullySaturated": 0.501,
                            "IncrementalPorosity": {
                                "Value": 0.000,
                                "PorosityMeasurementTypeID": "{{DATA_PARTITION_ID}}:reference-data--PorosityMeasurementType:BrineSaturation:"
                            }
                        },
                        {
                            "CumulativeWaterSaturation": 100.0,
                            "T2FullySaturated": 0.631,
                            "IncrementalPorosity": {
                                "Value": 0.000,
                                "PorosityMeasurementTypeID": "{{DATA_PARTITION_ID}}:reference-data--PorosityMeasurementType:BrineSaturation:"
                            }
                        },
                        {
                            "CumulativeWaterSaturation": 100.0,
                            "T2FullySaturated": 0.794,
                            "IncrementalPorosity": {
                                "Value": 0.000,
                                "PorosityMeasurementTypeID": "{{DATA_PARTITION_ID}}:reference-data--PorosityMeasurementType:BrineSaturation:"
                            }
                        },
                        {
                            "CumulativeWaterSaturation": 100.0,
                            "T2FullySaturated": 1.00,
                            "IncrementalPorosity": {
                                "Value": 0.019,
                                "PorosityMeasurementTypeID": "{{DATA_PARTITION_ID}}:reference-data--PorosityMeasurementType:BrineSaturation:"
                            }
                        },
                        {
                            "CumulativeWaterSaturation": 100.0,
                            "T2FullySaturated": 1.26,
                            "IncrementalPorosity": {
                                "Value": 0.040,
                                "PorosityMeasurementTypeID": "{{DATA_PARTITION_ID}}:reference-data--PorosityMeasurementType:BrineSaturation:"
                            }
                        },
                        {
                            "CumulativeWaterSaturation": 100.0,
                            "T2FullySaturated": 1.58,
                            "IncrementalPorosity": {
                                "Value": 0.057,
                                "PorosityMeasurementTypeID": "{{DATA_PARTITION_ID}}:reference-data--PorosityMeasurementType:BrineSaturation:"
                            }
                        },
                        {
                            "CumulativeWaterSaturation": 100.0,
                            "T2FullySaturated": 2.00,
                            "IncrementalPorosity": {
                                "Value": 0.071,
                                "PorosityMeasurementTypeID": "{{DATA_PARTITION_ID}}:reference-data--PorosityMeasurementType:BrineSaturation:"
                            }
                        },
                        {
                            "CumulativeWaterSaturation": 100.0,
                            "T2FullySaturated": 2.51,
                            "IncrementalPorosity": {
                                "Value": 0.085,
                                "PorosityMeasurementTypeID": "{{DATA_PARTITION_ID}}:reference-data--PorosityMeasurementType:BrineSaturation:"
                            }
                        },
                        {
                            "CumulativeWaterSaturation": 100.0,
                            "T2FullySaturated": 3.16,
                            "IncrementalPorosity": {
                                "Value": 0.1,
                                "PorosityMeasurementTypeID": "{{DATA_PARTITION_ID}}:reference-data--PorosityMeasurementType:BrineSaturation:"
                            }
                        },
                        {
                            "CumulativeWaterSaturation": 100.0,
                            "T2FullySaturated": 3.98,
                            "IncrementalPorosity": {
                                "Value": 0.119,
                                "PorosityMeasurementTypeID": "{{DATA_PARTITION_ID}}:reference-data--PorosityMeasurementType:BrineSaturation:"
                            }
                        },
                        {
                            "CumulativeWaterSaturation": 100.0,
                            "T2FullySaturated": 5.01,
                            "IncrementalPorosity": {
                                "Value": 0.136,
                                "PorosityMeasurementTypeID": "{{DATA_PARTITION_ID}}:reference-data--PorosityMeasurementType:BrineSaturation:"
                            }
                        },
                        {
                            "CumulativeWaterSaturation": 100.0,
                            "T2FullySaturated": 6.31,
                            "IncrementalPorosity": {
                                "Value": 0.147,
                                "PorosityMeasurementTypeID": "{{DATA_PARTITION_ID}}:reference-data--PorosityMeasurementType:BrineSaturation:"
                            }
                        },
                        {
                            "CumulativeWaterSaturation": 100.0,
                            "T2FullySaturated": 7.94,
                            "IncrementalPorosity": {
                                "Value": 0.148,
                                "PorosityMeasurementTypeID": "{{DATA_PARTITION_ID}}:reference-data--PorosityMeasurementType:BrineSaturation:"
                            }
                        },
                        {
                            "CumulativeWaterSaturation": 100.0,
                            "T2FullySaturated": 10,
                            "IncrementalPorosity": {
                                "Value": 0.142,
                                "PorosityMeasurementTypeID": "{{DATA_PARTITION_ID}}:reference-data--PorosityMeasurementType:BrineSaturation:"
                            }
                        },
                        {
                            "CumulativeWaterSaturation": 100.0,
                            "T2FullySaturated": 12.6,
                            "IncrementalPorosity": {
                                "Value": 0.143,
                                "PorosityMeasurementTypeID": "{{DATA_PARTITION_ID}}:reference-data--PorosityMeasurementType:BrineSaturation:"
                            }
                        },
                        {
                            "CumulativeWaterSaturation": 100.0,
                            "T2FullySaturated": 15.8,
                            "IncrementalPorosity": {
                                "Value": 0.164,
                                "PorosityMeasurementTypeID": "{{DATA_PARTITION_ID}}:reference-data--PorosityMeasurementType:BrineSaturation:"
                            }
                        },
                        {
                            "CumulativeWaterSaturation": 100.0,
                            "T2FullySaturated": 20,
                            "IncrementalPorosity": {
                                "Value": 0.217,
                                "PorosityMeasurementTypeID": "{{DATA_PARTITION_ID}}:reference-data--PorosityMeasurementType:BrineSaturation:"
                            }
                        },
                        {
                            "CumulativeWaterSaturation": 100.0,
                            "T2FullySaturated": 25.1,
                            "IncrementalPorosity": {
                                "Value": 0.3,
                                "PorosityMeasurementTypeID": "{{DATA_PARTITION_ID}}:reference-data--PorosityMeasurementType:BrineSaturation:"
                            }
                        },
                        {
                            "CumulativeWaterSaturation": 100.0,
                            "T2FullySaturated": 31.6,
                            "IncrementalPorosity": {
                                "Value": 0.403,
                                "PorosityMeasurementTypeID": "{{DATA_PARTITION_ID}}:reference-data--PorosityMeasurementType:BrineSaturation:"
                            }
                        },
                        {
                            "CumulativeWaterSaturation": 100.0,
                            "T2FullySaturated": 39.8,
                            "IncrementalPorosity": {
                                "Value": 0.499,
                                "PorosityMeasurementTypeID": "{{DATA_PARTITION_ID}}:reference-data--PorosityMeasurementType:BrineSaturation:"
                            }
                        },
                        {
                            "CumulativeWaterSaturation": 100.0,
                            "T2FullySaturated": 50.1,
                            "IncrementalPorosity": {
                                "Value": 0.559,
                                "PorosityMeasurementTypeID": "{{DATA_PARTITION_ID}}:reference-data--PorosityMeasurementType:BrineSaturation:"
                            }
                        },
                        {
                            "CumulativeWaterSaturation": 100.0,
                            "T2FullySaturated": 63.1,
                            "IncrementalPorosity": {
                                "Value": 0.562,
                                "PorosityMeasurementTypeID": "{{DATA_PARTITION_ID}}:reference-data--PorosityMeasurementType:BrineSaturation:"
                            }
                        },
                        {
                            "CumulativeWaterSaturation": 100.0,
                            "T2FullySaturated": 79.4,
                            "IncrementalPorosity": {
                                "Value": 0.518,
                                "PorosityMeasurementTypeID": "{{DATA_PARTITION_ID}}:reference-data--PorosityMeasurementType:BrineSaturation:"
                            }
                        },
                        {
                            "CumulativeWaterSaturation": 100.0,
                            "T2FullySaturated": 100,
                            "IncrementalPorosity": {
                                "Value": 0.49,
                                "PorosityMeasurementTypeID": "{{DATA_PARTITION_ID}}:reference-data--PorosityMeasurementType:BrineSaturation:"
                            }
                        },
                        {
                            "CumulativeWaterSaturation": 100.0,
                            "T2FullySaturated": 126,
                            "IncrementalPorosity": {
                                "Value": 0.595,
                                "PorosityMeasurementTypeID": "{{DATA_PARTITION_ID}}:reference-data--PorosityMeasurementType:BrineSaturation:"
                            }
                        },
                        {
                            "CumulativeWaterSaturation": 100.0,
                            "T2FullySaturated": 158,
                            "IncrementalPorosity": {
                                "Value": 0.979,
                                "PorosityMeasurementTypeID": "{{DATA_PARTITION_ID}}:reference-data--PorosityMeasurementType:BrineSaturation:"
                            }
                        },
                        {
                            "CumulativeWaterSaturation": 100.0,
                            "T2FullySaturated": 200,
                            "IncrementalPorosity": {
                                "Value": 1.75,
                                "PorosityMeasurementTypeID": "{{DATA_PARTITION_ID}}:reference-data--PorosityMeasurementType:BrineSaturation:"
                            }
                        },
                        {
                            "CumulativeWaterSaturation": 100.0,
                            "T2FullySaturated": 251,
                            "IncrementalPorosity": {
                                "Value": 2.895,
                                "PorosityMeasurementTypeID": "{{DATA_PARTITION_ID}}:reference-data--PorosityMeasurementType:BrineSaturation:"
                            }
                        },
                        {
                            "CumulativeWaterSaturation": 100.0,
                            "T2FullySaturated": 316,
                            "IncrementalPorosity": {
                                "Value": 4.217,
                                "PorosityMeasurementTypeID": "{{DATA_PARTITION_ID}}:reference-data--PorosityMeasurementType:BrineSaturation:"
                            }
                        },
                        {
                            "CumulativeWaterSaturation": 100.0,
                            "T2FullySaturated": 398,
                            "IncrementalPorosity": {
                                "Value": 5.335,
                                "PorosityMeasurementTypeID": "{{DATA_PARTITION_ID}}:reference-data--PorosityMeasurementType:BrineSaturation:"
                            }
                        },
                        {
                            "CumulativeWaterSaturation": 100.0,
                            "T2FullySaturated": 501,
                            "IncrementalPorosity": {
                                "Value": 5.784,
                                "PorosityMeasurementTypeID": "{{DATA_PARTITION_ID}}:reference-data--PorosityMeasurementType:BrineSaturation:"
                            }
                        },
                        {
                            "CumulativeWaterSaturation": 100.0,
                            "T2FullySaturated": 631,
                            "IncrementalPorosity": {
                                "Value": 5.162,
                                "PorosityMeasurementTypeID": "{{DATA_PARTITION_ID}}:reference-data--PorosityMeasurementType:BrineSaturation:"
                            }
                        },
                        {
                            "CumulativeWaterSaturation": 100.0,
                            "T2FullySaturated": 794,
                            "IncrementalPorosity": {
                                "Value": 3.267,
                                "PorosityMeasurementTypeID": "{{DATA_PARTITION_ID}}:reference-data--PorosityMeasurementType:BrineSaturation:"
                            }
                        },
                        {
                            "CumulativeWaterSaturation": 100.0,
                            "T2FullySaturated": 1000,
                            "IncrementalPorosity": {
                                "Value": 0.139,
                                "PorosityMeasurementTypeID": "{{DATA_PARTITION_ID}}:reference-data--PorosityMeasurementType:BrineSaturation:"
                            }
                        },
                        {
                            "CumulativeWaterSaturation": 100.0,
                            "T2FullySaturated": 1259,
                            "IncrementalPorosity": {
                                "Value": 0,
                                "PorosityMeasurementTypeID": "{{DATA_PARTITION_ID}}:reference-data--PorosityMeasurementType:BrineSaturation:"
                            }
                        },
                        {
                            "CumulativeWaterSaturation": 100.0,
                            "T2FullySaturated": 1585,
                            "IncrementalPorosity": {
                                "Value": 0,
                                "PorosityMeasurementTypeID": "{{DATA_PARTITION_ID}}:reference-data--PorosityMeasurementType:BrineSaturation:"
                            }
                        },
                        {
                            "CumulativeWaterSaturation": 100.0,
                            "T2FullySaturated": 1995,
                            "IncrementalPorosity": {
                                "Value": 0,
                                "PorosityMeasurementTypeID": "{{DATA_PARTITION_ID}}:reference-data--PorosityMeasurementType:BrineSaturation:"
                            }
                        },
                        {
                            "CumulativeWaterSaturation": 100.0,
                            "T2FullySaturated": 2512,
                            "IncrementalPorosity": {
                                "Value": 0,
                                "PorosityMeasurementTypeID": "{{DATA_PARTITION_ID}}:reference-data--PorosityMeasurementType:BrineSaturation:"
                            }
                        },
                        {
                            "CumulativeWaterSaturation": 100.0,
                            "T2FullySaturated": 3162,
                            "IncrementalPorosity": {
                                "Value": 0,
                                "PorosityMeasurementTypeID": "{{DATA_PARTITION_ID}}:reference-data--PorosityMeasurementType:BrineSaturation:"
                            }
                        },
                        {
                            "CumulativeWaterSaturation": 100.0,
                            "T2FullySaturated": 3981,
                            "IncrementalPorosity": {
                                "Value": 0,
                                "PorosityMeasurementTypeID": "{{DATA_PARTITION_ID}}:reference-data--PorosityMeasurementType:BrineSaturation:"
                            }
                        },
                        {
                            "CumulativeWaterSaturation": 100.0,
                            "T2FullySaturated": 5012,
                            "IncrementalPorosity": {
                                "Value": 0,
                                "PorosityMeasurementTypeID": "{{DATA_PARTITION_ID}}:reference-data--PorosityMeasurementType:BrineSaturation:"
                            }
                        },
                        {
                            "CumulativeWaterSaturation": 100.0,
                            "T2FullySaturated": 6310,
                            "IncrementalPorosity": {
                                "Value": 0,
                                "PorosityMeasurementTypeID": "{{DATA_PARTITION_ID}}:reference-data--PorosityMeasurementType:BrineSaturation:"
                            }
                        },
                        {
                            "CumulativeWaterSaturation": 100.0,
                            "T2FullySaturated": 7943,
                            "IncrementalPorosity": {
                                "Value": 0,
                                "PorosityMeasurementTypeID": "{{DATA_PARTITION_ID}}:reference-data--PorosityMeasurementType:BrineSaturation:"
                            }
                        },
                        {
                            "CumulativeWaterSaturation": 100.0,
                            "T2FullySaturated": 10000,
                            "IncrementalPorosity": {
                                "Value": 0,
                                "PorosityMeasurementTypeID": "{{DATA_PARTITION_ID}}:reference-data--PorosityMeasurementType:BrineSaturation:"
                            }
                        }
                    ],
                    "NMRSummaryData": {
                        "DisplacedFluidID": "{{DATA_PARTITION_ID}}:reference-data--DisplacedFluidType:Brine:",
                        "EchoSpacing": 0.2,
                        "InjectionFluidID": "{{DATA_PARTITION_ID}}:reference-data--SampleInjectionFluidType:Brine:",
                        "Porosity": [
                            {
                                "Value": 35.5,
                                "PorosityMeasurementTypeID": "{{DATA_PARTITION_ID}}:reference-data--PorosityMeasurementType:HeliumInjection:"
                            }
                        ],
                        "Permeability": [
                            {
                                "Value": 4740,
                                "PermeabilityMeasurementTypeID": "{{DATA_PARTITION_ID}}:reference-data--PermeabilityMeasurementType:Air:"
                            }
                        ],
                        "NMRT2Swirr": 8.7,
                        "T2CutOff": 44.1,
                        "T2Mean": 281.2,
                        "Temperature": 30,
                        "PoreVolume": 0.0,
                        "NetConfiningStress": 800.0
                    }
                }
            ]
        ]
    ]
}'

Sample response:

{
  "ddms_urn": "urn://rafs/opendes:work-product-component--SamplesAnalysis:1c022fcfa0134607b7c3dbc26f8783cf/samplesanalysis/nmr/1.0.0/2fb9788f-043c-4f32-b9fa-29a2cb218d3a",
  "updated_wpc_id": [
    "opendes:work-product-component--SamplesAnalysis:1c022fcfa0134607b7c3dbc26f8783cf:1758009160406872"
  ]
}

5.4 Get the sample analysis dataset

To get record data, use GET /api/rafs-ddms/v2/samplesanalysis/{record_id}/data/{analysistype}/{content_id}

curl --request GET \
  --url {{DNS}}/api/rafs-ddms/v2/samplesanalysis/opendes:work-product-component--SamplesAnalysis:1c022fcfa0134607b7c3dbc26f8783cf/data/nmr/2fb9788f-043c-4f32-b9fa-29a2cb218d3a \
  --header 'accept: */*;version={{rafsddms-content-schema-version}}' \
  --header 'authorization: Bearer {{ACCESS_TOKEN}}' \
  --header 'cache-control: no-store' \
  --header 'content-type: application/json' \
  --header 'data-partition-id: {{DATA_PARTITION_ID}}'
{
  "columns": [
    "SamplesAnalysisID",
    "SampleID",
    "Meta",
    "NMRTest"
  ],
  "index": [
    0
  ],
  "data": [
    [
      "opendes:work-product-component--SamplesAnalysis:1c022fcfa0134607b7c3dbc26f8783cf:",
      "opendes:master-data--Sample:KKS-CORE-PLUG-001:",
      [
        {
          "kind": "Unit",
          "name": "degree Fahrenheit",
          "propertyNames": [
            "NMRSummaryData.Temperature"
          ],
          "unitOfMeasureID": "opendes:reference-data--UnitOfMeasure:degF:"
        },
        {
          "kind": "Unit",
          "name": "pound-force per square inch",
          "propertyNames": [
            "NMRSummaryData.NetConfiningStress"
          ],
          "unitOfMeasureID": "opendes:reference-data--UnitOfMeasure:psi:"
        },
        {
          "kind": "Unit",
          "name": "millidarcy",
          "propertyNames": [
            "NMRSummaryData.Permeability.Value"
          ],
          "unitOfMeasureID": "opendes:reference-data--UnitOfMeasure:mD:"
        },
        {
          "kind": "Unit",
          "name": "cubic centimetre",
          "propertyNames": [
            "NMRTestSteps[*].CumulativeVolume",
            "NMRTestSteps[*].IncrementalVolume",
            "NMRSummaryData.BoundFluidBVI",
            "NMRSummaryData.PoreVolume"
          ],
          "unitOfMeasureID": "opendes:reference-data--UnitOfMeasure:cm3:"
        },
        {
          "kind": "Unit",
          "name": "centimetre",
          "propertyNames": [
            "NMRSummaryData.EchoSpacing"
          ],
          "unitOfMeasureID": "opendes:reference-data--UnitOfMeasure:cm:"
        },
        {
          "kind": "Unit",
          "name": "milliseconds",
          "propertyNames": [
            "NMRTestSteps[*].T2FullySaturated",
            "NMRTestSteps[*].T2PartiallySaturated",
            "NMRSummaryData.T2CutOff",
            "NMRSummaryData.T2Mean"
          ],
          "unitOfMeasureID": "opendes:reference-data--UnitOfMeasure:ms:"
        },
        {
          "kind": "Unit",
          "name": "percent",
          "propertyNames": [
            "NMRTestSteps[*].CumulativeWaterSaturation",
            "NMRTestSteps[*].CumulativePorosity.Value",
            "NMRTestSteps[*].IncrementalWaterSaturation",
            "NMRTestSteps[*].IncrementalPorosity.Value",
            "NMRTestSteps[*].T1CumulativePorosity",
            "NMRTestSteps[*].T1CumulativeWaterSaturation",
            "NMRTestSteps[*].T1IncrementalPorosity",
            "NMRTestSteps[*].T1IncrementalWaterSaturation",
            "NMRSummaryData.NMRT2BoundFluidRelativetoPoreVolume",
            "NMRSummaryData.FreeFluidFFI",
            "NMRSummaryData.NMRT2FreeFluid",
            "NMRSummaryData.Porosity.Value",
            "NMRSummaryData.Swirr",
            "NMRSummaryData.NMRT2Swirr"
          ],
          "unitOfMeasureID": "opendes:reference-data--UnitOfMeasure:%25:"
        }
      ],
      [
        {
          "NMRSummaryData": {
            "DisplacedFluidID": "opendes:reference-data--DisplacedFluidType:Brine:",
            "EchoSpacing": 0.2,
            "InjectionFluidID": "opendes:reference-data--SampleInjectionFluidType:Brine:",
            "NMRT2Swirr": 8.7,
            "NetConfiningStress": 800,
            "Permeability": [
              {
                "PermeabilityMeasurementTypeID": "opendes:reference-data--PermeabilityMeasurementType:Air:",
                "Value": 4740
              }
            ],
            "PoreVolume": 0,
            "Porosity": [
              {
                "PorosityMeasurementTypeID": "opendes:reference-data--PorosityMeasurementType:HeliumInjection:",
                "Value": 35.5
              }
            ],
            "T2CutOff": 44.1,
            "T2Mean": 281.2,
            "Temperature": 30
          },
          "NMRTestSteps": [
            {
              "CumulativeWaterSaturation": 100,
              "IncrementalPorosity": {
                "PorosityMeasurementTypeID": "opendes:reference-data--PorosityMeasurementType:BrineSaturation:",
                "Value": 0
              },
              "T2FullySaturated": 0.1
            },
            {
              "CumulativeWaterSaturation": 100,
              "IncrementalPorosity": {
                "PorosityMeasurementTypeID": "opendes:reference-data--PorosityMeasurementType:BrineSaturation:",
                "Value": 0
              },
              "T2FullySaturated": 0.126
            },
            {
              "CumulativeWaterSaturation": 100,
              "IncrementalPorosity": {
                "PorosityMeasurementTypeID": "opendes:reference-data--PorosityMeasurementType:BrineSaturation:",
                "Value": 0
              },
              "T2FullySaturated": 0.158
            },
            {
              "CumulativeWaterSaturation": 100,
              "IncrementalPorosity": {
                "PorosityMeasurementTypeID": "opendes:reference-data--PorosityMeasurementType:BrineSaturation:",
                "Value": 0
              },
              "T2FullySaturated": 0.2
            },
            {
              "CumulativeWaterSaturation": 100,
              "IncrementalPorosity": {
                "PorosityMeasurementTypeID": "opendes:reference-data--PorosityMeasurementType:BrineSaturation:",
                "Value": 0
              },
              "T2FullySaturated": 0.251
            },
            {
              "CumulativeWaterSaturation": 100,
              "IncrementalPorosity": {
                "PorosityMeasurementTypeID": "opendes:reference-data--PorosityMeasurementType:BrineSaturation:",
                "Value": 0
              },
              "T2FullySaturated": 0.316
            },
            {
              "CumulativeWaterSaturation": 100,
              "IncrementalPorosity": {
                "PorosityMeasurementTypeID": "opendes:reference-data--PorosityMeasurementType:BrineSaturation:",
                "Value": 0
              },
              "T2FullySaturated": 0.398
            },
            {
              "CumulativeWaterSaturation": 100,
              "IncrementalPorosity": {
                "PorosityMeasurementTypeID": "opendes:reference-data--PorosityMeasurementType:BrineSaturation:",
                "Value": 0
              },
              "T2FullySaturated": 0.501
            },
            {
              "CumulativeWaterSaturation": 100,
              "IncrementalPorosity": {
                "PorosityMeasurementTypeID": "opendes:reference-data--PorosityMeasurementType:BrineSaturation:",
                "Value": 0
              },
              "T2FullySaturated": 0.631
            },
            {
              "CumulativeWaterSaturation": 100,
              "IncrementalPorosity": {
                "PorosityMeasurementTypeID": "opendes:reference-data--PorosityMeasurementType:BrineSaturation:",
                "Value": 0
              },
              "T2FullySaturated": 0.794
            },
            {
              "CumulativeWaterSaturation": 100,
              "IncrementalPorosity": {
                "PorosityMeasurementTypeID": "opendes:reference-data--PorosityMeasurementType:BrineSaturation:",
                "Value": 0.019
              },
              "T2FullySaturated": 1
            },
            {
              "CumulativeWaterSaturation": 100,
              "IncrementalPorosity": {
                "PorosityMeasurementTypeID": "opendes:reference-data--PorosityMeasurementType:BrineSaturation:",
                "Value": 0.04
              },
              "T2FullySaturated": 1.26
            },
            {
              "CumulativeWaterSaturation": 100,
              "IncrementalPorosity": {
                "PorosityMeasurementTypeID": "opendes:reference-data--PorosityMeasurementType:BrineSaturation:",
                "Value": 0.057
              },
              "T2FullySaturated": 1.58
            },
            {
              "CumulativeWaterSaturation": 100,
              "IncrementalPorosity": {
                "PorosityMeasurementTypeID": "opendes:reference-data--PorosityMeasurementType:BrineSaturation:",
                "Value": 0.071
              },
              "T2FullySaturated": 2
            },
            {
              "CumulativeWaterSaturation": 100,
              "IncrementalPorosity": {
                "PorosityMeasurementTypeID": "opendes:reference-data--PorosityMeasurementType:BrineSaturation:",
                "Value": 0.085
              },
              "T2FullySaturated": 2.51
            },
            {
              "CumulativeWaterSaturation": 100,
              "IncrementalPorosity": {
                "PorosityMeasurementTypeID": "opendes:reference-data--PorosityMeasurementType:BrineSaturation:",
                "Value": 0.1
              },
              "T2FullySaturated": 3.16
            },
            {
              "CumulativeWaterSaturation": 100,
              "IncrementalPorosity": {
                "PorosityMeasurementTypeID": "opendes:reference-data--PorosityMeasurementType:BrineSaturation:",
                "Value": 0.119
              },
              "T2FullySaturated": 3.98
            },
            {
              "CumulativeWaterSaturation": 100,
              "IncrementalPorosity": {
                "PorosityMeasurementTypeID": "opendes:reference-data--PorosityMeasurementType:BrineSaturation:",
                "Value": 0.136
              },
              "T2FullySaturated": 5.01
            },
            {
              "CumulativeWaterSaturation": 100,
              "IncrementalPorosity": {
                "PorosityMeasurementTypeID": "opendes:reference-data--PorosityMeasurementType:BrineSaturation:",
                "Value": 0.147
              },
              "T2FullySaturated": 6.31
            },
            {
              "CumulativeWaterSaturation": 100,
              "IncrementalPorosity": {
                "PorosityMeasurementTypeID": "opendes:reference-data--PorosityMeasurementType:BrineSaturation:",
                "Value": 0.148
              },
              "T2FullySaturated": 7.94
            },
            {
              "CumulativeWaterSaturation": 100,
              "IncrementalPorosity": {
                "PorosityMeasurementTypeID": "opendes:reference-data--PorosityMeasurementType:BrineSaturation:",
                "Value": 0.142
              },
              "T2FullySaturated": 10
            },
            {
              "CumulativeWaterSaturation": 100,
              "IncrementalPorosity": {
                "PorosityMeasurementTypeID": "opendes:reference-data--PorosityMeasurementType:BrineSaturation:",
                "Value": 0.143
              },
              "T2FullySaturated": 12.6
            },
            {
              "CumulativeWaterSaturation": 100,
              "IncrementalPorosity": {
                "PorosityMeasurementTypeID": "opendes:reference-data--PorosityMeasurementType:BrineSaturation:",
                "Value": 0.164
              },
              "T2FullySaturated": 15.8
            },
            {
              "CumulativeWaterSaturation": 100,
              "IncrementalPorosity": {
                "PorosityMeasurementTypeID": "opendes:reference-data--PorosityMeasurementType:BrineSaturation:",
                "Value": 0.217
              },
              "T2FullySaturated": 20
            },
            {
              "CumulativeWaterSaturation": 100,
              "IncrementalPorosity": {
                "PorosityMeasurementTypeID": "opendes:reference-data--PorosityMeasurementType:BrineSaturation:",
                "Value": 0.3
              },
              "T2FullySaturated": 25.1
            },
            {
              "CumulativeWaterSaturation": 100,
              "IncrementalPorosity": {
                "PorosityMeasurementTypeID": "opendes:reference-data--PorosityMeasurementType:BrineSaturation:",
                "Value": 0.403
              },
              "T2FullySaturated": 31.6
            },
            {
              "CumulativeWaterSaturation": 100,
              "IncrementalPorosity": {
                "PorosityMeasurementTypeID": "opendes:reference-data--PorosityMeasurementType:BrineSaturation:",
                "Value": 0.499
              },
              "T2FullySaturated": 39.8
            },
            {
              "CumulativeWaterSaturation": 100,
              "IncrementalPorosity": {
                "PorosityMeasurementTypeID": "opendes:reference-data--PorosityMeasurementType:BrineSaturation:",
                "Value": 0.559
              },
              "T2FullySaturated": 50.1
            },
            {
              "CumulativeWaterSaturation": 100,
              "IncrementalPorosity": {
                "PorosityMeasurementTypeID": "opendes:reference-data--PorosityMeasurementType:BrineSaturation:",
                "Value": 0.562
              },
              "T2FullySaturated": 63.1
            },
            {
              "CumulativeWaterSaturation": 100,
              "IncrementalPorosity": {
                "PorosityMeasurementTypeID": "opendes:reference-data--PorosityMeasurementType:BrineSaturation:",
                "Value": 0.518
              },
              "T2FullySaturated": 79.4
            },
            {
              "CumulativeWaterSaturation": 100,
              "IncrementalPorosity": {
                "PorosityMeasurementTypeID": "opendes:reference-data--PorosityMeasurementType:BrineSaturation:",
                "Value": 0.49
              },
              "T2FullySaturated": 100
            },
            {
              "CumulativeWaterSaturation": 100,
              "IncrementalPorosity": {
                "PorosityMeasurementTypeID": "opendes:reference-data--PorosityMeasurementType:BrineSaturation:",
                "Value": 0.595
              },
              "T2FullySaturated": 126
            },
            {
              "CumulativeWaterSaturation": 100,
              "IncrementalPorosity": {
                "PorosityMeasurementTypeID": "opendes:reference-data--PorosityMeasurementType:BrineSaturation:",
                "Value": 0.979
              },
              "T2FullySaturated": 158
            },
            {
              "CumulativeWaterSaturation": 100,
              "IncrementalPorosity": {
                "PorosityMeasurementTypeID": "opendes:reference-data--PorosityMeasurementType:BrineSaturation:",
                "Value": 1.75
              },
              "T2FullySaturated": 200
            },
            {
              "CumulativeWaterSaturation": 100,
              "IncrementalPorosity": {
                "PorosityMeasurementTypeID": "opendes:reference-data--PorosityMeasurementType:BrineSaturation:",
                "Value": 2.895
              },
              "T2FullySaturated": 251
            },
            {
              "CumulativeWaterSaturation": 100,
              "IncrementalPorosity": {
                "PorosityMeasurementTypeID": "opendes:reference-data--PorosityMeasurementType:BrineSaturation:",
                "Value": 4.217
              },
              "T2FullySaturated": 316
            },
            {
              "CumulativeWaterSaturation": 100,
              "IncrementalPorosity": {
                "PorosityMeasurementTypeID": "opendes:reference-data--PorosityMeasurementType:BrineSaturation:",
                "Value": 5.335
              },
              "T2FullySaturated": 398
            },
            {
              "CumulativeWaterSaturation": 100,
              "IncrementalPorosity": {
                "PorosityMeasurementTypeID": "opendes:reference-data--PorosityMeasurementType:BrineSaturation:",
                "Value": 5.784
              },
              "T2FullySaturated": 501
            },
            {
              "CumulativeWaterSaturation": 100,
              "IncrementalPorosity": {
                "PorosityMeasurementTypeID": "opendes:reference-data--PorosityMeasurementType:BrineSaturation:",
                "Value": 5.162
              },
              "T2FullySaturated": 631
            },
            {
              "CumulativeWaterSaturation": 100,
              "IncrementalPorosity": {
                "PorosityMeasurementTypeID": "opendes:reference-data--PorosityMeasurementType:BrineSaturation:",
                "Value": 3.267
              },
              "T2FullySaturated": 794
            },
            {
              "CumulativeWaterSaturation": 100,
              "IncrementalPorosity": {
                "PorosityMeasurementTypeID": "opendes:reference-data--PorosityMeasurementType:BrineSaturation:",
                "Value": 0.139
              },
              "T2FullySaturated": 1000
            },
            {
              "CumulativeWaterSaturation": 100,
              "IncrementalPorosity": {
                "PorosityMeasurementTypeID": "opendes:reference-data--PorosityMeasurementType:BrineSaturation:",
                "Value": 0
              },
              "T2FullySaturated": 1259
            },
            {
              "CumulativeWaterSaturation": 100,
              "IncrementalPorosity": {
                "PorosityMeasurementTypeID": "opendes:reference-data--PorosityMeasurementType:BrineSaturation:",
                "Value": 0
              },
              "T2FullySaturated": 1585
            },
            {
              "CumulativeWaterSaturation": 100,
              "IncrementalPorosity": {
                "PorosityMeasurementTypeID": "opendes:reference-data--PorosityMeasurementType:BrineSaturation:",
                "Value": 0
              },
              "T2FullySaturated": 1995
            },
            {
              "CumulativeWaterSaturation": 100,
              "IncrementalPorosity": {
                "PorosityMeasurementTypeID": "opendes:reference-data--PorosityMeasurementType:BrineSaturation:",
                "Value": 0
              },
              "T2FullySaturated": 2512
            },
            {
              "CumulativeWaterSaturation": 100,
              "IncrementalPorosity": {
                "PorosityMeasurementTypeID": "opendes:reference-data--PorosityMeasurementType:BrineSaturation:",
                "Value": 0
              },
              "T2FullySaturated": 3162
            },
            {
              "CumulativeWaterSaturation": 100,
              "IncrementalPorosity": {
                "PorosityMeasurementTypeID": "opendes:reference-data--PorosityMeasurementType:BrineSaturation:",
                "Value": 0
              },
              "T2FullySaturated": 3981
            },
            {
              "CumulativeWaterSaturation": 100,
              "IncrementalPorosity": {
                "PorosityMeasurementTypeID": "opendes:reference-data--PorosityMeasurementType:BrineSaturation:",
                "Value": 0
              },
              "T2FullySaturated": 5012
            },
            {
              "CumulativeWaterSaturation": 100,
              "IncrementalPorosity": {
                "PorosityMeasurementTypeID": "opendes:reference-data--PorosityMeasurementType:BrineSaturation:",
                "Value": 0
              },
              "T2FullySaturated": 6310
            },
            {
              "CumulativeWaterSaturation": 100,
              "IncrementalPorosity": {
                "PorosityMeasurementTypeID": "opendes:reference-data--PorosityMeasurementType:BrineSaturation:",
                "Value": 0
              },
              "T2FullySaturated": 7943
            },
            {
              "CumulativeWaterSaturation": 100,
              "IncrementalPorosity": {
                "PorosityMeasurementTypeID": "opendes:reference-data--PorosityMeasurementType:BrineSaturation:",
                "Value": 0
              },
              "T2FullySaturated": 10000
            }
          ],
          "TestConditionID": "opendes:reference-data--NMRTestCondition:FullySaturated:"
        }
      ]
    ]
  ]
}

Search sample analysis data

To search data for a specific RAFS DDMS schema version, use GET /api/rafs-ddms/v2/samplesanalysis/{analysistype}/search/data

curl --request GET \
  --url {DNS}/api/rafs-ddms/v2/samplesanalysis/nmr/search/data \
  --header 'accept: */*;version={{rafsddms-content-schema-version}}' \
  --header 'authorization: Bearer {{ACCESS_TOKEN}}' \
  --header 'cache-control: no-store' \
  --header 'content-type: application/json' \
  --header 'data-partition-id: {{DATA_PARTITION_ID}}'

Sample response:

{
  "result": {
    "columns": [
      "SamplesAnalysisID",
      "SampleID",
      "Meta",
      "NMRTest"
    ],
    "index": [
      0
    ],
    "data": [
      [
        "opendes:work-product-component--SamplesAnalysis:1c022fcfa0134607b7c3dbc26f8783cf:",
        "opendes:master-data--Sample:KKS-CORE-PLUG-001:",
        [
          {
            "kind": "Unit",
            "name": "degree Fahrenheit",
            "propertyNames": [
              "NMRSummaryData.Temperature"
            ],
            "unitOfMeasureID": "opendes:reference-data--UnitOfMeasure:degF:"
          },
          {
            "kind": "Unit",
            "name": "pound-force per square inch",
            "propertyNames": [
              "NMRSummaryData.NetConfiningStress"
            ],
            "unitOfMeasureID": "opendes:reference-data--UnitOfMeasure:psi:"
          },
          {
            "kind": "Unit",
            "name": "millidarcy",
            "propertyNames": [
              "NMRSummaryData.Permeability.Value"
            ],
            "unitOfMeasureID": "opendes:reference-data--UnitOfMeasure:mD:"
          },
          {
            "kind": "Unit",
            "name": "cubic centimetre",
            "propertyNames": [
              "NMRTestSteps[*].CumulativeVolume",
              "NMRTestSteps[*].IncrementalVolume",
              "NMRSummaryData.BoundFluidBVI",
              "NMRSummaryData.PoreVolume"
            ],
            "unitOfMeasureID": "opendes:reference-data--UnitOfMeasure:cm3:"
          },
          {
            "kind": "Unit",
            "name": "centimetre",
            "propertyNames": [
              "NMRSummaryData.EchoSpacing"
            ],
            "unitOfMeasureID": "opendes:reference-data--UnitOfMeasure:cm:"
          },
          {
            "kind": "Unit",
            "name": "milliseconds",
            "propertyNames": [
              "NMRTestSteps[*].T2FullySaturated",
              "NMRTestSteps[*].T2PartiallySaturated",
              "NMRSummaryData.T2CutOff",
              "NMRSummaryData.T2Mean"
            ],
            "unitOfMeasureID": "opendes:reference-data--UnitOfMeasure:ms:"
          },
          {
            "kind": "Unit",
            "name": "percent",
            "propertyNames": [
              "NMRTestSteps[*].CumulativeWaterSaturation",
              "NMRTestSteps[*].CumulativePorosity.Value",
              "NMRTestSteps[*].IncrementalWaterSaturation",
              "NMRTestSteps[*].IncrementalPorosity.Value",
              "NMRTestSteps[*].T1CumulativePorosity",
              "NMRTestSteps[*].T1CumulativeWaterSaturation",
              "NMRTestSteps[*].T1IncrementalPorosity",
              "NMRTestSteps[*].T1IncrementalWaterSaturation",
              "NMRSummaryData.NMRT2BoundFluidRelativetoPoreVolume",
              "NMRSummaryData.FreeFluidFFI",
              "NMRSummaryData.NMRT2FreeFluid",
              "NMRSummaryData.Porosity.Value",
              "NMRSummaryData.Swirr",
              "NMRSummaryData.NMRT2Swirr"
            ],
            "unitOfMeasureID": "opendes:reference-data--UnitOfMeasure:%25:"
          }
        ],
        [
          {
            "NMRSummaryData": {
              "DisplacedFluidID": "opendes:reference-data--DisplacedFluidType:Brine:",
              "EchoSpacing": 0.2,
              "InjectionFluidID": "opendes:reference-data--SampleInjectionFluidType:Brine:",
              "NMRT2Swirr": 8.7,
              "NetConfiningStress": 800,
              "Permeability": [
                {
                  "PermeabilityMeasurementTypeID": "opendes:reference-data--PermeabilityMeasurementType:Air:",
                  "Value": 4740
                }
              ],
              "PoreVolume": 0,
              "Porosity": [
                {
                  "PorosityMeasurementTypeID": "opendes:reference-data--PorosityMeasurementType:HeliumInjection:",
                  "Value": 35.5
                }
              ],
              "T2CutOff": 44.1,
              "T2Mean": 281.2,
              "Temperature": 30
            },
            "NMRTestSteps": [
              {
                "CumulativeWaterSaturation": 100,
                "IncrementalPorosity": {
                  "PorosityMeasurementTypeID": "opendes:reference-data--PorosityMeasurementType:BrineSaturation:",
                  "Value": 0
                },
                "T2FullySaturated": 0.1
              },
              {
                "CumulativeWaterSaturation": 100,
                "IncrementalPorosity": {
                  "PorosityMeasurementTypeID": "opendes:reference-data--PorosityMeasurementType:BrineSaturation:",
                  "Value": 0
                },
                "T2FullySaturated": 0.126
              },
              {
                "CumulativeWaterSaturation": 100,
                "IncrementalPorosity": {
                  "PorosityMeasurementTypeID": "opendes:reference-data--PorosityMeasurementType:BrineSaturation:",
                  "Value": 0
                },
                "T2FullySaturated": 0.158
              },
              {
                "CumulativeWaterSaturation": 100,
                "IncrementalPorosity": {
                  "PorosityMeasurementTypeID": "opendes:reference-data--PorosityMeasurementType:BrineSaturation:",
                  "Value": 0
                },
                "T2FullySaturated": 0.2
              },
              {
                "CumulativeWaterSaturation": 100,
                "IncrementalPorosity": {
                  "PorosityMeasurementTypeID": "opendes:reference-data--PorosityMeasurementType:BrineSaturation:",
                  "Value": 0
                },
                "T2FullySaturated": 0.251
              },
              {
                "CumulativeWaterSaturation": 100,
                "IncrementalPorosity": {
                  "PorosityMeasurementTypeID": "opendes:reference-data--PorosityMeasurementType:BrineSaturation:",
                  "Value": 0
                },
                "T2FullySaturated": 0.316
              },
              {
                "CumulativeWaterSaturation": 100,
                "IncrementalPorosity": {
                  "PorosityMeasurementTypeID": "opendes:reference-data--PorosityMeasurementType:BrineSaturation:",
                  "Value": 0
                },
                "T2FullySaturated": 0.398
              },
              {
                "CumulativeWaterSaturation": 100,
                "IncrementalPorosity": {
                  "PorosityMeasurementTypeID": "opendes:reference-data--PorosityMeasurementType:BrineSaturation:",
                  "Value": 0
                },
                "T2FullySaturated": 0.501
              },
              {
                "CumulativeWaterSaturation": 100,
                "IncrementalPorosity": {
                  "PorosityMeasurementTypeID": "opendes:reference-data--PorosityMeasurementType:BrineSaturation:",
                  "Value": 0
                },
                "T2FullySaturated": 0.631
              },
              {
                "CumulativeWaterSaturation": 100,
                "IncrementalPorosity": {
                  "PorosityMeasurementTypeID": "opendes:reference-data--PorosityMeasurementType:BrineSaturation:",
                  "Value": 0
                },
                "T2FullySaturated": 0.794
              },
              {
                "CumulativeWaterSaturation": 100,
                "IncrementalPorosity": {
                  "PorosityMeasurementTypeID": "opendes:reference-data--PorosityMeasurementType:BrineSaturation:",
                  "Value": 0.019
                },
                "T2FullySaturated": 1
              },
              {
                "CumulativeWaterSaturation": 100,
                "IncrementalPorosity": {
                  "PorosityMeasurementTypeID": "opendes:reference-data--PorosityMeasurementType:BrineSaturation:",
                  "Value": 0.04
                },
                "T2FullySaturated": 1.26
              },
              {
                "CumulativeWaterSaturation": 100,
                "IncrementalPorosity": {
                  "PorosityMeasurementTypeID": "opendes:reference-data--PorosityMeasurementType:BrineSaturation:",
                  "Value": 0.057
                },
                "T2FullySaturated": 1.58
              },
              {
                "CumulativeWaterSaturation": 100,
                "IncrementalPorosity": {
                  "PorosityMeasurementTypeID": "opendes:reference-data--PorosityMeasurementType:BrineSaturation:",
                  "Value": 0.071
                },
                "T2FullySaturated": 2
              },
              {
                "CumulativeWaterSaturation": 100,
                "IncrementalPorosity": {
                  "PorosityMeasurementTypeID": "opendes:reference-data--PorosityMeasurementType:BrineSaturation:",
                  "Value": 0.085
                },
                "T2FullySaturated": 2.51
              },
              {
                "CumulativeWaterSaturation": 100,
                "IncrementalPorosity": {
                  "PorosityMeasurementTypeID": "opendes:reference-data--PorosityMeasurementType:BrineSaturation:",
                  "Value": 0.1
                },
                "T2FullySaturated": 3.16
              },
              {
                "CumulativeWaterSaturation": 100,
                "IncrementalPorosity": {
                  "PorosityMeasurementTypeID": "opendes:reference-data--PorosityMeasurementType:BrineSaturation:",
                  "Value": 0.119
                },
                "T2FullySaturated": 3.98
              },
              {
                "CumulativeWaterSaturation": 100,
                "IncrementalPorosity": {
                  "PorosityMeasurementTypeID": "opendes:reference-data--PorosityMeasurementType:BrineSaturation:",
                  "Value": 0.136
                },
                "T2FullySaturated": 5.01
              },
              {
                "CumulativeWaterSaturation": 100,
                "IncrementalPorosity": {
                  "PorosityMeasurementTypeID": "opendes:reference-data--PorosityMeasurementType:BrineSaturation:",
                  "Value": 0.147
                },
                "T2FullySaturated": 6.31
              },
              {
                "CumulativeWaterSaturation": 100,
                "IncrementalPorosity": {
                  "PorosityMeasurementTypeID": "opendes:reference-data--PorosityMeasurementType:BrineSaturation:",
                  "Value": 0.148
                },
                "T2FullySaturated": 7.94
              },
              {
                "CumulativeWaterSaturation": 100,
                "IncrementalPorosity": {
                  "PorosityMeasurementTypeID": "opendes:reference-data--PorosityMeasurementType:BrineSaturation:",
                  "Value": 0.142
                },
                "T2FullySaturated": 10
              },
              {
                "CumulativeWaterSaturation": 100,
                "IncrementalPorosity": {
                  "PorosityMeasurementTypeID": "opendes:reference-data--PorosityMeasurementType:BrineSaturation:",
                  "Value": 0.143
                },
                "T2FullySaturated": 12.6
              },
              {
                "CumulativeWaterSaturation": 100,
                "IncrementalPorosity": {
                  "PorosityMeasurementTypeID": "opendes:reference-data--PorosityMeasurementType:BrineSaturation:",
                  "Value": 0.164
                },
                "T2FullySaturated": 15.8
              },
              {
                "CumulativeWaterSaturation": 100,
                "IncrementalPorosity": {
                  "PorosityMeasurementTypeID": "opendes:reference-data--PorosityMeasurementType:BrineSaturation:",
                  "Value": 0.217
                },
                "T2FullySaturated": 20
              },
              {
                "CumulativeWaterSaturation": 100,
                "IncrementalPorosity": {
                  "PorosityMeasurementTypeID": "opendes:reference-data--PorosityMeasurementType:BrineSaturation:",
                  "Value": 0.3
                },
                "T2FullySaturated": 25.1
              },
              {
                "CumulativeWaterSaturation": 100,
                "IncrementalPorosity": {
                  "PorosityMeasurementTypeID": "opendes:reference-data--PorosityMeasurementType:BrineSaturation:",
                  "Value": 0.403
                },
                "T2FullySaturated": 31.6
              },
              {
                "CumulativeWaterSaturation": 100,
                "IncrementalPorosity": {
                  "PorosityMeasurementTypeID": "opendes:reference-data--PorosityMeasurementType:BrineSaturation:",
                  "Value": 0.499
                },
                "T2FullySaturated": 39.8
              },
              {
                "CumulativeWaterSaturation": 100,
                "IncrementalPorosity": {
                  "PorosityMeasurementTypeID": "opendes:reference-data--PorosityMeasurementType:BrineSaturation:",
                  "Value": 0.559
                },
                "T2FullySaturated": 50.1
              },
              {
                "CumulativeWaterSaturation": 100,
                "IncrementalPorosity": {
                  "PorosityMeasurementTypeID": "opendes:reference-data--PorosityMeasurementType:BrineSaturation:",
                  "Value": 0.562
                },
                "T2FullySaturated": 63.1
              },
              {
                "CumulativeWaterSaturation": 100,
                "IncrementalPorosity": {
                  "PorosityMeasurementTypeID": "opendes:reference-data--PorosityMeasurementType:BrineSaturation:",
                  "Value": 0.518
                },
                "T2FullySaturated": 79.4
              },
              {
                "CumulativeWaterSaturation": 100,
                "IncrementalPorosity": {
                  "PorosityMeasurementTypeID": "opendes:reference-data--PorosityMeasurementType:BrineSaturation:",
                  "Value": 0.49
                },
                "T2FullySaturated": 100
              },
              {
                "CumulativeWaterSaturation": 100,
                "IncrementalPorosity": {
                  "PorosityMeasurementTypeID": "opendes:reference-data--PorosityMeasurementType:BrineSaturation:",
                  "Value": 0.595
                },
                "T2FullySaturated": 126
              },
              {
                "CumulativeWaterSaturation": 100,
                "IncrementalPorosity": {
                  "PorosityMeasurementTypeID": "opendes:reference-data--PorosityMeasurementType:BrineSaturation:",
                  "Value": 0.979
                },
                "T2FullySaturated": 158
              },
              {
                "CumulativeWaterSaturation": 100,
                "IncrementalPorosity": {
                  "PorosityMeasurementTypeID": "opendes:reference-data--PorosityMeasurementType:BrineSaturation:",
                  "Value": 1.75
                },
                "T2FullySaturated": 200
              },
              {
                "CumulativeWaterSaturation": 100,
                "IncrementalPorosity": {
                  "PorosityMeasurementTypeID": "opendes:reference-data--PorosityMeasurementType:BrineSaturation:",
                  "Value": 2.895
                },
                "T2FullySaturated": 251
              },
              {
                "CumulativeWaterSaturation": 100,
                "IncrementalPorosity": {
                  "PorosityMeasurementTypeID": "opendes:reference-data--PorosityMeasurementType:BrineSaturation:",
                  "Value": 4.217
                },
                "T2FullySaturated": 316
              },
              {
                "CumulativeWaterSaturation": 100,
                "IncrementalPorosity": {
                  "PorosityMeasurementTypeID": "opendes:reference-data--PorosityMeasurementType:BrineSaturation:",
                  "Value": 5.335
                },
                "T2FullySaturated": 398
              },
              {
                "CumulativeWaterSaturation": 100,
                "IncrementalPorosity": {
                  "PorosityMeasurementTypeID": "opendes:reference-data--PorosityMeasurementType:BrineSaturation:",
                  "Value": 5.784
                },
                "T2FullySaturated": 501
              },
              {
                "CumulativeWaterSaturation": 100,
                "IncrementalPorosity": {
                  "PorosityMeasurementTypeID": "opendes:reference-data--PorosityMeasurementType:BrineSaturation:",
                  "Value": 5.162
                },
                "T2FullySaturated": 631
              },
              {
                "CumulativeWaterSaturation": 100,
                "IncrementalPorosity": {
                  "PorosityMeasurementTypeID": "opendes:reference-data--PorosityMeasurementType:BrineSaturation:",
                  "Value": 3.267
                },
                "T2FullySaturated": 794
              },
              {
                "CumulativeWaterSaturation": 100,
                "IncrementalPorosity": {
                  "PorosityMeasurementTypeID": "opendes:reference-data--PorosityMeasurementType:BrineSaturation:",
                  "Value": 0.139
                },
                "T2FullySaturated": 1000
              },
              {
                "CumulativeWaterSaturation": 100,
                "IncrementalPorosity": {
                  "PorosityMeasurementTypeID": "opendes:reference-data--PorosityMeasurementType:BrineSaturation:",
                  "Value": 0
                },
                "T2FullySaturated": 1259
              },
              {
                "CumulativeWaterSaturation": 100,
                "IncrementalPorosity": {
                  "PorosityMeasurementTypeID": "opendes:reference-data--PorosityMeasurementType:BrineSaturation:",
                  "Value": 0
                },
                "T2FullySaturated": 1585
              },
              {
                "CumulativeWaterSaturation": 100,
                "IncrementalPorosity": {
                  "PorosityMeasurementTypeID": "opendes:reference-data--PorosityMeasurementType:BrineSaturation:",
                  "Value": 0
                },
                "T2FullySaturated": 1995
              },
              {
                "CumulativeWaterSaturation": 100,
                "IncrementalPorosity": {
                  "PorosityMeasurementTypeID": "opendes:reference-data--PorosityMeasurementType:BrineSaturation:",
                  "Value": 0
                },
                "T2FullySaturated": 2512
              },
              {
                "CumulativeWaterSaturation": 100,
                "IncrementalPorosity": {
                  "PorosityMeasurementTypeID": "opendes:reference-data--PorosityMeasurementType:BrineSaturation:",
                  "Value": 0
                },
                "T2FullySaturated": 3162
              },
              {
                "CumulativeWaterSaturation": 100,
                "IncrementalPorosity": {
                  "PorosityMeasurementTypeID": "opendes:reference-data--PorosityMeasurementType:BrineSaturation:",
                  "Value": 0
                },
                "T2FullySaturated": 3981
              },
              {
                "CumulativeWaterSaturation": 100,
                "IncrementalPorosity": {
                  "PorosityMeasurementTypeID": "opendes:reference-data--PorosityMeasurementType:BrineSaturation:",
                  "Value": 0
                },
                "T2FullySaturated": 5012
              },
              {
                "CumulativeWaterSaturation": 100,
                "IncrementalPorosity": {
                  "PorosityMeasurementTypeID": "opendes:reference-data--PorosityMeasurementType:BrineSaturation:",
                  "Value": 0
                },
                "T2FullySaturated": 6310
              },
              {
                "CumulativeWaterSaturation": 100,
                "IncrementalPorosity": {
                  "PorosityMeasurementTypeID": "opendes:reference-data--PorosityMeasurementType:BrineSaturation:",
                  "Value": 0
                },
                "T2FullySaturated": 7943
              },
              {
                "CumulativeWaterSaturation": 100,
                "IncrementalPorosity": {
                  "PorosityMeasurementTypeID": "opendes:reference-data--PorosityMeasurementType:BrineSaturation:",
                  "Value": 0
                },
                "T2FullySaturated": 10000
              }
            ],
            "TestConditionID": "opendes:reference-data--NMRTestCondition:FullySaturated:"
          }
        ]
      ]
    ]
  },
  "offset": 0,
  "page_limit": 100,
  "total_size": 1
}

RAFS OSDU community tutorial

Next step

Advance to the next tutorial: