Sample DataTable calls for assets
An asset in the Orange Logic platform is any kind of file or container. An image, a video, a document, a project, and a virtual folder are all assets. Information about Orange Logic assets is stored in metadata fields.
Read
Read calls return metadata fields for the requested asset. This action can only return one asset at a time. To view or update multiple records, use the Search API documentation to learn how to find assets in Orange Logic.
Call template
POST or GET
//API/DataTable/V2.2/Documents.{asset-type}.{asset-subtype}:Read?{identifying-metadata-field}={asset-identifier}
View an asset’s metadata
Example: View Production Still’s metadata based on it's Record ID
This call returns an asset of the Production Still subtype using its Record ID of 2QDTWAOP1_5.
POST or GET
/API/DataTable/V2.2/Documents.Image.Production-Still:Read?RecordID=2QDTWAOP1_5
Call
curl --location --request POST 'https://mangovations.com/API/DataTable/V2.2/Documents.Image.Production-Still:Read?RecordID=2QDTWAOP1_5' \
--header 'Authorization: Bearer ftb65Pg4vb0U6V4Mki5djC8epZdGazIcRz12ZEgBJ29HfzaX4pMCGTuZVQQZdzlZwxKuQi@z7hnLziQ3MdzIEpG4HHRuW.KcGlU1P5z1xNvgpsMUx' \
--header 'Cookie: AWSALB=uiabojpBGBF3FJlMNY1NNZIedzN0J7nS9V711d1jRFzDaxvZWCHnlJkY4PJfcL5/i1tUNKsvfbhp9lRsEI7Mbfwd1ZFGr/sy6uergKLFSpO/I; AWSALBCORS=uiabojpBGBF3FJlMNY1Nr1pmDnE9VHg4EYaNZIedzN0J7nS9V711d1jRFzDaxvZWCHnlJkY4PJfcL5/i1tUNKsvfbhp9lRsEI7Mbfwd1ZFGr/sy6uergKLFSpO/I; AWSALBTG=fZ1Vdxx269voeZJaWVa2VaYf6NBlOxj4iKoM6TY3Vv+vr2SH9It0ETBoFNFqYbRVipCl1t5/8xcTiAiWR0z8FtEs0gz+lfi+aTf8jEihKGkYpyLENYiXtt2qCiKVGkAJgawLQqVhHQQdSthATLe0YuvNS/EKokBwN/f4mxf8V2ke; AWSALBTGCORS=fZ1Vdxx269voeZJaWVa2VaYf6NBlOxj4iKoM6TY3Vv+vr2SH9It0ETBoFNFqYbRVipCl1t5/8xcTiAiWR0z8FtEs0gz+lfi+aTf8jEihKGkYpyLENYiXtt2qCiKVGkAJgawLQqVhHQQdSthATLe0YuvNS/EKokBwN/f4mxf8V2ke; CortexCID_ZZ1=iu5G2rhGXAbc8sj5; ZZ1-Session__1505=CfDJ8KSkO661hSREsDx7PGb48%2B3lKnruzZYxeyUebuqIrC1oqJqealrQAruhiRvk9xWfCpBkF0PLD%2B9RcRIQZpoBdJZ49wJqk0RpKckO7ffZeQT1yJVaQIEFvQAxPAd5gSGAnkjS9JmTo6z7C9D%2BLd4GnBbLyGF7H2ZYkH6DAvcKTPZT; ZZ1-Session__1505-Alt=CfDJ8KSkO661hSREsDx7PGb48%2B3lKnruzZYxeyUebuqIrC1oqJqealrQAruhiRvk9xWfCpBkF0PLD%2B9RcRIQZpoBdJZ49wJqk0RpKckO7ffZeQT1yJVaQIEFvQAxPAd5gSGAnkjS9JmTo6z7C9D%2BLd4GnBbLyGF7H2ZYkH6DAvcKTPZT' \
--data ''
Response
<Result>
<APIRequestInfo>
<ProviderVersion>KOBE.R2.2065G.216363</ProviderVersion>
<ProviderIdentity>OLU-T-US-AP</ProviderIdentity>
<ProviderID>44ddde3ac294335f249d4007d4</ProviderID>
<Module>DataTable</Module>
<APIVersion>V2.2</APIVersion>
<Resource>Documents.Image.Production-Still:Read</Resource>
<IsLoggedIn type="Boolean">True</IsLoggedIn>
<Status>LoggedIn</Status>
<UserLogin>ZZ1CT12217</UserLogin>
<Session>No session (production configuration)</Session>
<TimeoutPeriodMinutes type="Numeric">20</TimeoutPeriodMinutes>
</APIRequestInfo>
<RequestInterpretation>
<Filters type="List">
<Filter>
<Field>RecordID</Field>
<Operator>=</Operator>
<OperatorDescription>Field must be equal to value</OperatorDescription>
<Value>2QDTWAOP1_5</Value>
</Filter>
</Filters>
<IgnoredParameters type="List" />
</RequestInterpretation>
<ResponseSummary>
<CurrentPage type="Numeric">1<<CurrentPage>
<ItemsPerPage type="Numeric">30</ItemsPerPage>
<TotalItemCount type="Numeric">0</TotalItemCount>
</ResponseSummary>
<FieldNames />
<Response type="List" />
</Result>
Create or Update
Call template
POST or GET
/API/DataTable/V2.2/Documents.{asset-type}.{asset-subtype}:CreateOrUpdate?CoreField.{identifying-metadata-field}={asset-identifier}&{metadata-field}:={new-value}
Create a folder structure
The following examples create a folder structure where one folder is nested in another folder in Orange Logic.
Note
These calls include a sub-call that locates an asset. The sub-call is enclosed in square brackets.
For example, consider the following call:
/API/DataTable/V2.2/Documents.Folder.Default:CreateOrUpdate?CoreField.Id_Client=Folder2&CoreField.title:=Behind the Scenes: Dream Destinations Season 3&CoreField.Purpose:=Internal Use Only&CoreField.Mother:=[Documents.Folder.Default:CoreField.Identifier=ZZ13VPI]
In this call, the sub-call is:
Documents.Folder.Default:CoreField.Identifier=ZZ13VPI
The sub-call locates the standard folder that has the unique identifier ZZ13VPI. You could use this structure to create a different sub-call that:
- Locates a different folder type, like an Event Folder.
- Uses a different identifier, such as RecordID instead of the unique identifier.
Example 1: Add a folder to an existing folder, where both folders are the same subtype
This call looks for the standard folder with the legacy identifier of Folder2 in the Orange Logic platform.
If Folder2 doesn’t exist, it is created inside the standard folder with a Unique Identifier of ZZ13VPI and the provided metadata is added to it.
If Folder2 exists, it is moved into the standard folder with a Unique Identifier of ZZ13VPI and its metadata is updated to match the metadata provided in the call.
POST or GET
/API/DataTable/V2.2/Documents.Folder.Default:CreateOrUpdate?CoreField.Id_Client=Folder2&CoreField.title:=Behind the Scenes: Dream Destinations Season 3&CoreField.Purpose:=Internal Use Only&CoreField.Mother:=[Documents.Folder.Default:CoreField.Identifier=ZZ13VPI]
Call
curl --location --globoff --request POST 'https://mangovations.com/API/DataTable/V2.2/Documents.Folder.Default:CreateOrUpdate?CoreField.Id_Client=Folder2&CoreField.title%3A=Behind%20the%20Scenes%3A%20Dream%20Destinations%20Season%203&CoreField.Purpose%3A=Internal%20Use%20Only&CoreField.Mother%3A=[Documents.Folder.Default%3ACoreField.Identifier%3DZZ13VPI]' \
--header 'Authorization: Bearer lUrm8YNdw7nJrZw.2fzUrMPoWWbE1soy0UIIMrBSSoKk7sRkUte8a4xnDaOTZni@HcNe9eLwmpMNjluISr3uKE3zkA245KYO2.7ycMEsSdtwytxYaN5s' \
--header 'Cookie: AWSALB=4aiaZIjPoAt/5oSMUphFpRHsq4cDEFHUp6jTYESPC2+LsJKzkszuVmDVgbDCfGiJC0VE22IKlD6KPFw36MXLgd0JtQv17TI5wKkP72RzQALtcr+G; AWSALBCORS=4aiaZIjPoAt/5oSMUphFpRHs0nmIcLDsbnm5q4cDEFHUp6jTYESPC2+LsJKzkszuVmDVgbDCfGiJC0VE22IKlD6KPFw36MXLgd0JtQv17TI5wKkP72RzQALtcr+G; AWSALBTG=Uc8st1SMCkulrivsz+Fp9ZoznqSUFCFxL4R4l/I6azA+oomZdKc8pyOe8yfK1CpuFANOJsToU0i7ImsbCnqaAX0ClalFS2b4S9H/CNciWZusT5SlOCPt0xJ4uRP8Oyv99K0ZorNAQZWIva0kIrQ0iGYh52okJPjCD0uw4+ZEFCCT; AWSALBTGCORS=Uc8st1SMCkulrivsz+Fp9ZoznqSUFCFxL4R4l/I6azA+oomZdKc8pyOe8yfK1CpuFANOJsToU0i7ImsbCnqaAX0ClalFS2b4S9H/CNciWZusT5SlOCPt0xJ4uRP8Oyv99K0ZorNAQZWIva0kIrQ0iGYh52okJPjCD0uw4+ZEFCCT; CortexCID_ZZ1=iu5G2rhGXAbc8sj5; ZZ1-Session__1505=CfDJ8KSkO661hSREsDx7PGb48%2B157d%2FMzPaMKYqW%2BP9%2BUEiY%2BEM3CGxUQLCKhYkQjg7r9W%2Fj6olJWY45d%2FyIRZh1ZB%2BnLkdj1neKmicqcGV6MVKsIFDwvMChObmnk4svldle3%2BZlFq%2FVYumJaVXjjt%2FWjaE1MXYxVYYay%2Bu4Burq34i4; ZZ1-Session__1505-Alt=CfDJ8KSkO661hSREsDx7PGb48%2B157d%2FMzPaMKYqW%2BP9%2BUEiY%2BEM3CGxUQLCKhYkQjg7r9W%2Fj6olJWY45d%2FyIRZh1ZB%2BnLkdj1neKmicqcGV6MVKsIFDwvMChObmnk4svldle3%2BZlFq%2FVYumJaVXjjt%2FWjaE1MXYxVYYay%2Bu4Burq34i4' \
--data ''
Response
<Result>
<APIRequestInfo>
<ProviderVersion>KOBE.R2.2065G.216363</ProviderVersion>
<ProviderIdentity>OLU-T-US-AP</ProviderIdentity>
<ProviderID>44ddde3ac235f249d4007d4</ProviderID>
<Module>DataTable</Module>
<APIVersion>V2.2</APIVersion>
<Resource>Documents.Folder.Default:CreateOrUpdate</Resource>
<IsLoggedIn type="Boolean">True</IsLoggedIn>
<Status>LoggedIn</Status>
<UserLogin>ZZ1CT12217</UserLogin>
<Session>No session (production configuration)</Session>
<TimeoutPeriodMinutes type="Numeric">120</TimeoutPeriodMinutes>
</APIRequestInfo>
<RequestInterpretation>
<Filters type="List">
<Filter>
<Field>CoreField.Id_Client</Field>
<Operator>=</Operator>
<OperatorDescription>Field must be equal to value</OperatorDescription>
<Value>Folder2</Value>
</Filter>
</Filters>
<Updates type="List">
<Update>
<Field>CoreField.Mother</Field>
<Operator>:=</Operator>
<OperatorDescription>Assign a value to a single-value field</OperatorDescription>
<Value>[Documents.Folder.Default:CoreField.Identifier=ZZ13VPI]</Value>
</Update>
<Update>
<Field>CoreField.Purpose</Field>
<Operator>:=</Operator>
<OperatorDescription>Assign a value to a single-value field</OperatorDescription>
<Value>Internal Use Only</Value>
</Update>
<Update>
<Field>CoreField.Title</Field>
<Operator>:=</Operator>
<OperatorDescription>Assign a value to a single-value field</OperatorDescription>
<Value>Behind the Scenes: Dream Destinations Season 3</Value>
</Update>
</Updates>
<IgnoredParameters type="List" />
</RequestInterpretation>
<ResponseSummary>
<NumberOfRecordsAffected type="Numeric">1</NumberOfRecordsAffected>
</ResponseSummary>
<Response>
<RecordsAffected type="List">
<Result>
<RecordID>2QDTWAO0CRW</RecordID>
<Code>SUCCESS</Code>
</Result>
</RecordsAffected>
</Response>
</Result>
Example 2: Add a standard folder to an existing event folder
This call looks for the standard folder with the legacy identifier of Folder2 in the Orang Logic platform.
If Folder2 doesn’t exist, it is created inside the event folder with a Unique Identifier of ZZ13VPB and the provided metadata is added to it.
If Folder2 exists, it is moved into the event folder with a Unique Identifier of ZZ13VPB and its metadata is updated to match the metadata provided in the call.
POST or GET
/API/DataTable/V2.2/Documents.Folder.Default:CreateOrUpdate?CoreField.Id_Client=Folder2&CoreField.title:=Behind the Scenes: Dream Season 3&CoreField.Purpose:=Internal Use Only&CoreField.Mother:=[Documents.Folder.Event-Folder:CoreField.Identifier=ZZ13VPB]
Call
curl --location --globoff --request POST 'https://mangovations.com/API/DataTable/V2.2/Documents.Folder.Default:CreateOrUpdate?CoreField.Id_Client=Folder2&CoreField.title%3A=Behind%20the%20Scenes%3A%20Dream%20Season%203&CoreField.Purpose%3A=Internal%20Use%20Only&CoreField.Mother%3A=[Documents.Folder.Event-Folder%3ACoreField.Identifier%3DZZ13VPB]' \
--header 'Authorization: Bearer lUrm8YNdw7nJrZw.20XMfWJJIBIMrBSSoKk7sRkUte8a4xnDaOTZni@HcNe9eLwmpMNjluISr3uKE3zkA245KYO2.7ycMEsSdtwytxYaN5s' \
--header 'Cookie: AWSALB=2tXNgay4BgNVjDS0xyO63KjH7ID+YBLTNj9juJcc9LroBugnVGlk1Rjd65jJ0S++0zI//nl3gV5aObSUquH7JrMhw9UgELQNDJGHDvPji; AWSALBCORS=2tXNgay4BgNVjDS0xyO63KjH7ID+YBLTNjQNR9aq6M9fIepUXNIwH9juJcc9LroBugnVGlk1Rjd65jJ0S++0zI//nl3gV5aObSUquH7JrMhw9UgELQNDJGHDvPji; AWSALBTG=ZkeZDTBkL1FDjNo+2dvWKM8EW45ISPhQNvhwvMDsrIdpZDqYqUMj48j7Us/RJ1lw5aHE7brdmEUK8Z9fZV78WesuVErn0YIW0aZVpAXfzGFsrAwEv8cN2zoP+p7MsOcm+PTytfdGwlN4u7X0/ps4DXb8AZqXyp2BBsfy/VsxKqDn; AWSALBTGCORS=ZkeZDTBkL1FDjNo+2dvWKM8EW45ISPhQNvhwvMDsrIdpZDqYqUMj48j7Us/RJ1lw5aHE7brdmEUK8Z9fZV78WesuVErn0YIW0aZVpAXfzGFsrAwEv8cN2zoP+p7MsOcm+PTytfdGwlN4u7X0/ps4DXb8AZqXyp2BBsfy/VsxKqDn; CortexCID_ZZ1=iu5G2rhGXAbc8sj5; ZZ1-Session__1505=CfDJ8KSkO661hSREsDx7PGb48%2B1%2F3zRg28cHYbVB5K%2BC8LO5%2FRG1uigvd07wNY0xCe51v25mZDbF8UAU1pGo7gEQJQzM0%2BkICV8Ok4NctQHNbqrw4XetzF8%2FM14wwUp4fjcT8AEhJ19K6VEd2HI5ligz%2FPa4YgmQfJPnm5go%2FYae9B7s; ZZ1-Session__1505-Alt=CfDJ8KSkO661hSREsDx7PGb48%2B1%2F3zRg28cHYbVB5K%2BC8LO5%2FRG1uigvd07wNY0xCe51v25mZDbF8UAU1pGo7gEQJQzM0%2BkICV8Ok4NctQHNbqrw4XetzF8%2FM14wwUp4fjcT8AEhJ19K6VEd2HI5ligz%2FPa4YgmQfJPnm5go%2FYae9B7s' \
--data ''
Response
<Result>
<APIRequestInfo>
<ProviderVersion>KOBE.R2.2065G.216363</ProviderVersion>
<ProviderIdentity>OLU-T-US-AP</ProviderIdentity>
<ProviderID>44ddde34335f249d4007d4</ProviderID>
<Module>DataTable</Module>
<APIVersion>V2.2</APIVersion>
<Resource>Documents.Folder.Default:CreateOrUpdate</Resource>
<IsLoggedIn type="Boolean">True</IsLoggedIn>
<Status>LoggedIn</Status>
<UserLogin>ZZ1CT12217</UserLogin>
<Session>No session (production configuration)</Session>
<TimeoutPeriodMinutes type="Numeric">120</TimeoutPeriodMinutes>
</APIRequestInfo>
<RequestInterpretation>
<Updates type="List">
<Update>
<Field>CoreField.Id_Client</Field>
<Operator>:=</Operator>
<OperatorDescription>Assign a value to a single-value field</OperatorDescription>
<Value>Folder2</Value>
</Update>
<Update>
<Field>CoreField.Mother</Field>
<Operator>:=</Operator>
<OperatorDescription>Assign a value to a single-value field</OperatorDescription>
<Value>[Documents.Folder.Event-Folder:CoreField.Identifier=ZZ13VPB]</Value>
</Update>
<Update>
<Field>CoreField.Purpose</Field>
<Operator>:=</Operator>
<OperatorDescription>Assign a value to a single-value field</OperatorDescription>
<Value>Internal Use Only</Value>
</Update>
<Update>
<Field>CoreField.Title</Field>
<Operator>:=</Operator>
<OperatorDescription>Assign a value to a single-value field</OperatorDescription>
<Value>Behind the Scenes: Dream Season 3</Value>
</Update>
</Updates>
<Filters type="List">
<Filter>
<Field>CoreField.Id_Client</Field>
<Operator>=</Operator>
<OperatorDescription>Field must be equal to value</OperatorDescription>
<Value>Folder2</Value>
</Filter>
<Filter>
<Field>CoreField.DO_OriginalVersion</Field>
<Operator>=</Operator>
<OperatorDescription>Field must be equal to value</OperatorDescription>
<Value></Value>
</Filter>
</Filters>
<IgnoredParameters type="List" />
</RequestInterpretation>
<Response>
<RecordID>2QDTWAO0CRW</RecordID>
<Code>SUCCESS</Code>
</Response>
</Result>