Add Metadata By Possible Tag Name

This REST API allows to add metadata properties to the document choosing the right place to add by approximate or a part of metadata tag name.

This API allows you to specify any part of metadata tag name or tag category name.

cURL example

The following example demonstrates how to add metadata date and time information in all properties that have particular string phrase in theirs tag names.

# First get JSON Web Token
# Please get your Client Id and Client Secret from https://dashboard.groupdocs.cloud/applications. 
# Kindly place Client Id in client_id and Client Secret in "client_secret" argument.
curl -v "https://api.groupdocs.cloud/connect/token" \
-X POST \
-d "grant_type#client_credentials&client_id#xxxx&client_secret#xxxx" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"
   
# cURL example to join several documents into one
curl -v "https://api.groupdocs.cloud/v1.0/metadata/add" \
-X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer <jwt token>" \
-d "{
    "FileInfo": {
        "FilePath": "documents\\input.docx",
        "StorageName": ""
    },
    "Properties": [
        {
            "Value": "02-12-2020 04:41:10",
            "Type": "DateTime",
            "SearchCriteria": {
                "TagOptions": {
                    "PossibleName": "timeprinted"
                }
            }
        }
    ]
}"
{
    "path": "metadata/add_metadata/documents/input_docx/input.docx",
    "url": "https://api.groupdocs.cloud/v1.0/metadata/storage/file/metadata/add_metadata/documents/input_docx/input.docx",
    "addedCount": 1
}

SDK examples

Using an SDK (API client) is the quickest way for a developer to speed up the development. An SDK takes care of a lot of low-level details of making requests and handling responses and lets you focus on writing code specific to your particular project. Check out our GitHub repository for a complete list of GroupDocs.Metadata Cloud SDKs along with working examples, to get you started in no time. Please check Available SDKs article to learn how to add an SDK to your project.

// For complete examples and data files, please go to https://github.com/groupdocs-metadata-cloud/groupdocs-metadata-cloud-dotnet-samples
string MyAppKey = ""; // Get AppKey and AppSID from https://dashboard.groupdocs.cloud
string MyAppSid = ""; // Get AppKey and AppSID from https://dashboard.groupdocs.cloud
var configuration = new Configuration(MyAppSid, MyAppKey);
var apiInstance = new MetadataApi(configuration);
var fileInfo = new FileInfo
{
FilePath = "documents/input.docx"
};
var now = DateTime.Now.ToString("MM-dd-yyyy hh:mm:ss");
var options = new AddOptions
{
FileInfo = fileInfo,
Properties = new List<AddProperty>
{
new AddProperty
{
Value = now,
Type = "DateTime",
SearchCriteria = new SearchCriteria
{
TagOptions = new TagOptions
{
PossibleName = "timeprinted"
}
},
}
}
};
var request = new AddRequest(options);
var response = apiInstance.Add(request);
// For complete examples and data files, please go to https://github.com/groupdocs-metadata-cloud/groupdocs-metadata-cloud-java-samples
String MyAppKey = ""; // Get AppKey and AppSID from https://dashboard.groupdocs.cloud
String MyAppSid = ""; // Get AppKey and AppSID from https://dashboard.groupdocs.cloud
Configuration configuration = new Configuration(MyAppSid, MyAppKey);
MetadataApi apiInstance = new MetadataApi(configuration);
AddOptions options = new AddOptions();
ArrayList<AddProperty> properties = new ArrayList<AddProperty>();
AddProperty property = new AddProperty();
SearchCriteria searchCriteria = new SearchCriteria();
TagOptions tagOptions = new TagOptions();
tagOptions.setPossibleName("timeprinted");
searchCriteria.setTagOptions(tagOptions);
property.setSearchCriteria(searchCriteria);
Date date = new Date();
DateFormat dateFormat = new SimpleDateFormat("MM-dd-yyyy hh:mm:ss");
property.setValue(dateFormat.format(date));
property.setType("datetime");
properties.add(property);
options.setProperties(properties);
FileInfo fileInfo = new FileInfo();
fileInfo.setFilePath("documents/input.docx");
options.setFileInfo(fileInfo);
AddRequest request = new AddRequest(options);
AddResult response = apiInstance.add(request);