Manage Meta Data REST API

You can use Oracle REST APIs to view data store extract metadata.

Access REST API
To make a REST HTTP request, you need to gather a few bits of information:
  • REST Server URL: Typically, the URL of your Oracle Cloud service. For example, https://servername.fa.us2.oraclecloud.com:<host:port>/biacm/rest

  • User name and password: An Oracle Cloud service user with permissions to access the resources you're using.

You can find the REST Server URL, user name, and password in the welcome email sent to your Oracle Cloud service administrator.

Get DataStoreMeta

Get a DataStore metadata by passing "dataStoreId" as PathParam. QueryParam "locale" is optional.

Example URL

Here’s an example of the resource URL:

GET

/meta/datastores/CrmAnalyticsAM.PartiesAnalyticsAM.Person

/meta/datastores/CrmAnalyticsAM.PartiesAnalyticsAM.Person?locale=ko

Example Response

Here’s an example of the response body in JSON format:

{
	"dataStoreId": "CrmAnalyticsAM.PartiesAnalyticsAM.Person",
	"dataStoreName": "CrmAnalyticsAM.PartiesAnalyticsAM.Person",
	"filters": null,
	"isEffectiveDateDisabled": false,
	"isFlexDataStore": false,
	"isSilentError": false,
	"columns": [{
			"name": "CreatedBy",
			"label": "Created By",
			"dataType": "VARCHAR",
			"size": "64",
			"precision": "64",
			"scale": "-127",
			"isPrimaryKey": false,
			"isPopulate": true,
			"isLastUpdateDate": false,
			"isNaturalKey": false
		}, {
			"name": "CreationDate",
			"label": "Creation Date",
			"dataType": "TIMESTAMP",
			"size": "0",
			"precision": "0",
			"scale": "-127",
			"isPrimaryKey": false,
			"isPopulate": true,
			"isLastUpdateDate": false,
			"isNaturalKey": false
		}, {
			"name": "LastUpdateDate",
			"label": "Last Updated Date",
			"dataType": "TIMESTAMP",
			"size": "0",
			"precision": "0",
			"scale": "-127",
			"isPrimaryKey": false,
			"isPopulate": true,
			"isLastUpdateDate": true,
			"isNaturalKey": false
		}, {
			"name": "LastUpdatedBy",
			"label": "Last Updated By",
			"dataType": "VARCHAR",
			"size": "64",
			"precision": "64",
			"scale": "-127",
			"isPrimaryKey": false,
			"isPopulate": true,
			"isLastUpdateDate": false,
			"isNaturalKey": false
		}, {
			"name": "PartyId",
			"label": "PartyId",
			"dataType": "NUMERIC",
			"size": "8",
			"precision": "18",
			"scale": "0",
			"isPrimaryKey": false,
			"isPopulate": true,
			"isLastUpdateDate": false,
			"isNaturalKey": false
		}, {
			"name": "PersonProfileId",
			"label": "PersonProfileId",
			"dataType": "NUMERIC",
			"size": "8",
			"precision": "18",
			"scale": "0",
			"isPrimaryKey": true,
			"isPopulate": true,
			"isLastUpdateDate": false,
			"isNaturalKey": false
		}, 

VO Metadata Expected Behavior

This section provides additional details about Metadata API attributes for SDM VO and Non SDM VOs.

The following table lists the difference in the VO attributes for SDM VO and Non SDM VOs.

1 VO Attributes for SDM VO and Non SDM VOs

VO Attribute SDM VO (Attribute Fetched) Non SDM VO (Attribute Fetched)
dataStoreId Yes Yes
dataStoreName Yes Yes
filters Yes No
isEffectiveDateDisabled Yes No
isFlexDataStore Yes No
isSilentError Yes No

The following table lists the difference in the Column attributes for SDM VO and Non SDM VOs.

2 Column Attributes for SDM VO and Non SDM VOs

VO Attribute SDM VO (Attribute Fetched) Non SDM VO (Attribute Fetched)
name Yes Yes
label Yes Yes
dataType Yes Yes
size Yes Yes
precision Yes Yes
scale Yes Yes
isPrimaryKey Yes No
isPopulate Yes No
isLastUpdateDate Yes No
isNaturalKey Yes No
isEffectiveStartDate Yes No
isCreationDate Yes No
colConversion Yes No

Get DataStoreMeta with User Customization

Get a DataStore metadata by passing "dataStoreId" as PathParam. QueryParam "locale" is optional.

Example URL

Here’s an example of the resource URL:

GET

/meta/datastores/CrmAnalyticsAM.PartiesAnalyticsAM.Person?includeCustomization=true

/meta/datastores/CrmAnalyticsAM.PartiesAnalyticsAM.Person?includeCustomization=true&locale=ko

Example Response

Here’s an example of the response body in JSON format:

{
	"dataStoreId": "CrmAnalyticsAM.PartiesAnalyticsAM.Person",
	"dataStoreName": "CrmAnalyticsAM.PartiesAnalyticsAM.Person",
	"filters": null,
	"isEffectiveDateDisabled": false,
	"isFlexDataStore": false,
	"isSilentError": false,
	"columns": [{
			"name": "CreatedBy",
			"label": "Created By",
			"dataType": "VARCHAR",
			"size": "64",
			"precision": "64",
			"scale": "-127",
			"isPrimaryKey": false,
			"isPopulate": true,
			"isLastUpdateDate": false,
			"isNaturalKey": false
		}, {
			"name": "CreationDate",
			"label": "Creation Date",
			"dataType": "TIMESTAMP",
			"size": "0",
			"precision": "0",
			"scale": "-127",
			"isPrimaryKey": false,
			"isPopulate": true,
			"isLastUpdateDate": false,
			"isNaturalKey": false
		}, {
			"name": "LastUpdateDate",
			"label": "Last Updated Date",
			"dataType": "TIMESTAMP",
			"size": "0",
			"precision": "0",
			"scale": "-127",
			"isPrimaryKey": false,
			"isPopulate": true,
			"isLastUpdateDate": true,
			"isNaturalKey": false
		}, {
			"name": "LastUpdatedBy",
			"label": "Last Updated By",
			"dataType": "VARCHAR",
			"size": "64",
			"precision": "64",
			"scale": "-127",
			"isPrimaryKey": false,
			"isPopulate": true,
			"isLastUpdateDate": false,
			"isNaturalKey": false
		}, {
			"name": "PartyId",
			"label": "PartyId",
			"dataType": "NUMERIC",
			"size": "8",
			"precision": "18",
			"scale": "0",
			"isPrimaryKey": false,
			"isPopulate": true,
			"isLastUpdateDate": false,
			"isNaturalKey": false
		}, {
			"name": "PersonProfileId",
			"label": "PersonProfileId",
			"dataType": "NUMERIC",
			"size": "8",
			"precision": "18",
			"scale": "0",
			"isPrimaryKey": true,
			"isPopulate": true,
			"isLastUpdateDate": false,
			"isNaturalKey": false
		}, 

Create or Update Data Store

Use this method to create or update a data store. For example, to add filters to a data store. Get a DataStore metadata by passing 'dataStoreId' as PathParam. Add the required filter to the 'filters' attribute and a rootkey dsmeta to the JSON file.

Example URL

Here’s an example of the resource URL:

PUT

/meta/datastores/

Sample Request

Here's an example of sample request body in JSON format.

    {"offerings": ["HR_AN_OFRNG"],
    "dsMeta":{
        "dataStoreId": "CrmAnalyticsAM.GeographiesAnalyticsAM.ZoneHelper",
        "dataStoreName": "CrmAnalyticsAM.GeographiesAnalyticsAM.ZoneHelper",
        "filters": null,
        "isEffectiveDateDisabled": false,
        "isFlexDataStore": false,
        "isSilentError": false,
    "columns": [
     {
        "name": "MasChildId",
        "label": "MasChildId",
        "dataType": "NUMERIC",
        "size": "8",
        "precision": "0",
        "scale": "-127",
        "isPrimaryKey": false,
        "isPopulate": true,
        "isLastUpdateDate": false,
        "isNaturalKey": false,
        "isEffectiveStartDate": false,
        "isCreationDate": false,
        "colConversion": null
    },
      {
        "name": "MasHierarchyNodeId",
        "label": "MasHierarchyNodeId",
        "dataType": "NUMERIC",
        "size": "8",
        "precision": "18",
        "scale": "0",
        "isPrimaryKey": true,
        "isPopulate": true,
        "isLastUpdateDate": false,
        "isNaturalKey": false,
        "isEffectiveStartDate": false,
        "isCreationDate": false,
        "colConversion": null
    },
      {
        "name": "MasLastUpdateDate",
        "label": "MasLastUpdateDate",
        "dataType": "TIMESTAMP",
        "size": "0",
        "precision": "0",
        "scale": "-127",
        "isPrimaryKey": false,
        "isPopulate": true,
        "isLastUpdateDate": true,
        "isNaturalKey": false,
        "isEffectiveStartDate": false,
        "isCreationDate": false,
        "colConversion": null
    },
      {
        "name": "MasLevelNumber",
        "label": "MasLevelNumber",
        "dataType": "NUMERIC",
        "size": "8",
        "precision": "0",
        "scale": "-127",
        "isPrimaryKey": false,
        "isPopulate": true,
        "isLastUpdateDate": false,
        "isNaturalKey": false,
        "isEffectiveStartDate": false,
        "isCreationDate": false,
        "colConversion": null
    }]
    }}

Get Job Definition

Get a Job definition by passing "jobId" as PathParam. For example - /meta/jobs/1

Example URL

Here’s an example of the resource URL:

GET

/meta/jobs/{jobId}

Sample Response

  {
     "dataStores": [
        {
          "dataStoreMeta": {
          "columns": [
            {
              "name": "CreatedBy",
              "isPrimaryKey": false,
              "isPopulate": false,
              "isLastUpdateDate": false,
              "isNaturalKey": false,
              "isEffectiveStartDate": false,
              "isCreationDate": false,
              "colConversion": null
        },
          {
              "name": "CreationDate",
              "isPrimaryKey": false,
              "isPopulate": false,
              "isLastUpdateDate": false,
              "isNaturalKey": false,
              "isEffectiveStartDate": false,
              "isCreationDate": true,
              "colConversion": null
        },
          {
              "name": "EnabledFlag",
              "isPrimaryKey": false,
              "isPopulate": false,
              "isLastUpdateDate": false,
              "isNaturalKey": false,
              "isEffectiveStartDate": false,    
              "isCreationDate": false,
              "colConversion": null
       },
          {
              "name": "LastUpdateDate",
              "isPrimaryKey": false,
              "isPopulate": false,
              "isLastUpdateDate": false,
              "isNaturalKey": false,
              "isEffectiveStartDate": false,
              "isCreationDate": false,
              "colConversion": null
       },
          {
              "name": "LastUpdatedBy",
              "isPrimaryKey": false,
              "isPopulate": false,
              "isLastUpdateDate": false,
              "isNaturalKey": false,
              "isEffectiveStartDate": false,
              "isCreationDate": false,
              "colConversion": null
       },

Create or Update Job

Use this method to create or update a job. For example - /meta/jobs/

Example URL

Here’s an example of the resource URL:

PUT

/meta/jobs/

Sample Request

    {
    "dataStores": [
      {
    "dataStoreMeta": {
    "columns": [
      {
        "name": "CreatedBy",
        "isPrimaryKey": false,
        "isPopulate": false,
        "isLastUpdateDate": false,
        "isNaturalKey": false,
        "isEffectiveStartDate": false,
        "isCreationDate": false,
        "colConversion": null
    },
      {
        "name": "CreationDate",
        "isPrimaryKey": false,
        "isPopulate": false,
        "isLastUpdateDate": false,
        "isNaturalKey": false,
        "isEffectiveStartDate": false,
        "isCreationDate": true,
        "colConversion": null
    },
      {
        "name": "EnabledFlag",
        "isPrimaryKey": false,
        "isPopulate": false,
        "isLastUpdateDate": false,
        "isNaturalKey": false,
        "isEffectiveStartDate": false,
        "isCreationDate": false,
        "colConversion": null
    },
      {
        "name": "LastUpdateDate",
        "isPrimaryKey": false,
        "isPopulate": false,
        "isLastUpdateDate": false,
        "isNaturalKey": false,
        "isEffectiveStartDate": false,
        "isCreationDate": false,
        "colConversion": null
    },
      {
        "name": "LastUpdatedBy",
        "isPrimaryKey": false,
        "isPopulate": false,
        "isLastUpdateDate": false,
        "isNaturalKey": false,
        "isEffectiveStartDate": false,
        "isCreationDate": false,
        "colConversion": null
    ],
        "dataStoreKey": "FscmTopModelAM.FinGlJrnlEntriesAM.JournalHeaderPVO",
        "filters": "__DATASTORE__.JrnlHdrPeriodName = 'Nov-21' and
__DATASTORE__.JournalBatchPostingStatusCode = 'P'",
        "isEffectiveDateDisabled": false,
        "isFlexDataStore": false,
        "isSilentError": true,
        "initialExtractDate": null,
        "chunkType": null,
        "chunkDateSeqIncr": 0,
        "chunkDateSeqMin": 0,
        "chunkPkSeqIncr": 0,
        "useUnionForIncremental": false
      },
      "lastExtractDate": "2021-04-01T21:19:30.000",
      "groupNumber": 0,
      "groupItemPriority": 0
    }
  ],
  "schedules": null,
  "name": "CFA_RFR_GL_FULL_CUSTOM_JOB",
  "description": "FULL Period Extract Job to sync FCR GL Transaction sync
tables from ERP"
}

Sample Response

    {
    "status": <SUCCESS/SUCCESS_WITH_WARNING>,
    "id": <JOB_ID>,
    "message": <Any warning message>
    }