POST https://graph.microsoft.com/beta/directory/authenticationMethodDevices/hardwareOathDevices
Content-Type: application/json
{
"@context": "#$delta",
"value": [
{
"@contentId": "1",
"serialNumber": "TOTP123456",
"manufacturer": "Contoso",
"model": "Hardware Token 1000",
"secretKey": "6PJ4UKIW33NNXYZAEHQNFUFTZF7WFTFB",
"timeIntervalInSeconds": "30",
"hashFunction": "hmacsha1"
},
{
"@contentId": "2",
"serialNumber": "TOTP654321",
"manufacturer": "Contoso",
"model": "Hardware Token 1000",
"secretKey": "TXYZAE6PJ4UZF3NNKIW3HQNFUF7WFTFB",
"timeIntervalInSeconds": "30",
"hashFunction": "hmacsha1",
"assignTo": {
"id": "0cadbf92-####-####-####-############"
}
}
]
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Beta.Models;
using Microsoft.Kiota.Abstractions.Serialization;
var requestBody = new HardwareOathTokenAuthenticationMethodDevice
{
AdditionalData = new Dictionary<string, object>
{
{
"@context" , "#$delta"
},
{
"value" , new List<object>
{
new UntypedObject(new Dictionary<string, UntypedNode>
{
{
"@contentId", new UntypedString("1")
},
{
"serialNumber", new UntypedString("TOTP123456")
},
{
"manufacturer", new UntypedString("Contoso")
},
{
"model", new UntypedString("Hardware Token 1000")
},
{
"secretKey", new UntypedString("6PJ4UKIW33NNXYZAEHQNFUFTZF7WFTFB")
},
{
"timeIntervalInSeconds", new UntypedString("30")
},
{
"hashFunction", new UntypedString("hmacsha1")
},
}),
new UntypedObject(new Dictionary<string, UntypedNode>
{
{
"@contentId", new UntypedString("2")
},
{
"serialNumber", new UntypedString("TOTP654321")
},
{
"manufacturer", new UntypedString("Contoso")
},
{
"model", new UntypedString("Hardware Token 1000")
},
{
"secretKey", new UntypedString("TXYZAE6PJ4UZF3NNKIW3HQNFUF7WFTFB")
},
{
"timeIntervalInSeconds", new UntypedString("30")
},
{
"hashFunction", new UntypedString("hmacsha1")
},
{
"assignTo", new UntypedObject(new Dictionary<string, UntypedNode>
{
{
"id", new UntypedString("0cadbf92-####-####-####-############")
},
})
},
}),
}
},
},
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Directory.AuthenticationMethodDevices.HardwareOathDevices.PostAsync(requestBody);
mgc-beta directory authentication-method-devices hardware-oath-devices create --body '{\
"@context": "#$delta",\
"value": [\
{\
"@contentId": "1",\
"serialNumber": "TOTP123456",\
"manufacturer": "Contoso",\
"model": "Hardware Token 1000",\
"secretKey": "6PJ4UKIW33NNXYZAEHQNFUFTZF7WFTFB",\
"timeIntervalInSeconds": "30",\
"hashFunction": "hmacsha1"\
},\
{\
"@contentId": "2",\
"serialNumber": "TOTP654321",\
"manufacturer": "Contoso",\
"model": "Hardware Token 1000",\
"secretKey": "TXYZAE6PJ4UZF3NNKIW3HQNFUF7WFTFB",\
"timeIntervalInSeconds": "30",\
"hashFunction": "hmacsha1",\
"assignTo": {\
"id": "0cadbf92-####-####-####-############"\
}\
}\
]\
}\
'
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
HardwareOathTokenAuthenticationMethodDevice hardwareOathTokenAuthenticationMethodDevice = new HardwareOathTokenAuthenticationMethodDevice();
HashMap<String, Object> additionalData = new HashMap<String, Object>();
additionalData.put("@context", "#$delta");
LinkedList<Object> value = new LinkedList<Object>();
property = new ();
property.setContentId("1");
property.setSerialNumber("TOTP123456");
property.setManufacturer("Contoso");
property.setModel("Hardware Token 1000");
property.setSecretKey("6PJ4UKIW33NNXYZAEHQNFUFTZF7WFTFB");
property.setTimeIntervalInSeconds("30");
property.setHashFunction("hmacsha1");
value.add(property);
property1 = new ();
property1.setContentId("2");
property1.setSerialNumber("TOTP654321");
property1.setManufacturer("Contoso");
property1.setModel("Hardware Token 1000");
property1.setSecretKey("TXYZAE6PJ4UZF3NNKIW3HQNFUF7WFTFB");
property1.setTimeIntervalInSeconds("30");
property1.setHashFunction("hmacsha1");
assignTo = new ();
assignTo.setId("0cadbf92-####-####-####-############");
property1.setAssignTo(assignTo);
value.add(property1);
additionalData.put("value", value);
hardwareOathTokenAuthenticationMethodDevice.setAdditionalData(additionalData);
HardwareOathTokenAuthenticationMethodDevice result = graphClient.directory().authenticationMethodDevices().hardwareOathDevices().post(hardwareOathTokenAuthenticationMethodDevice);
const options = {
authProvider,
};
const client = Client.init(options);
const hardwareOathTokenAuthenticationMethodDevice = {
'@context': '#$delta',
value: [
{
'@contentId': '1',
serialNumber: 'TOTP123456',
manufacturer: 'Contoso',
model: 'Hardware Token 1000',
secretKey: '6PJ4UKIW33NNXYZAEHQNFUFTZF7WFTFB',
timeIntervalInSeconds: '30',
hashFunction: 'hmacsha1'
},
{
'@contentId': '2',
serialNumber: 'TOTP654321',
manufacturer: 'Contoso',
model: 'Hardware Token 1000',
secretKey: 'TXYZAE6PJ4UZF3NNKIW3HQNFUF7WFTFB',
timeIntervalInSeconds: '30',
hashFunction: 'hmacsha1',
assignTo: {
id: '0cadbf92-####-####-####-############'
}
}
]
};
await client.api('/directory/authenticationMethodDevices/hardwareOathDevices')
.version('beta')
.post(hardwareOathTokenAuthenticationMethodDevice);
<?php
use Microsoft\Graph\Beta\GraphServiceClient;
use Microsoft\Graph\Beta\Generated\Models\HardwareOathTokenAuthenticationMethodDevice;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new HardwareOathTokenAuthenticationMethodDevice();
$additionalData = [
'@context' => '#$delta',
'value' => [
[
'@contentId' => '1',
'serialNumber' => 'TOTP123456',
'manufacturer' => 'Contoso',
'model' => 'Hardware Token 1000',
'secretKey' => '6PJ4UKIW33NNXYZAEHQNFUFTZF7WFTFB',
'timeIntervalInSeconds' => '30',
'hashFunction' => 'hmacsha1',
],
[
'@contentId' => '2',
'serialNumber' => 'TOTP654321',
'manufacturer' => 'Contoso',
'model' => 'Hardware Token 1000',
'secretKey' => 'TXYZAE6PJ4UZF3NNKIW3HQNFUF7WFTFB',
'timeIntervalInSeconds' => '30',
'hashFunction' => 'hmacsha1',
'assignTo' => [
'id' => '0cadbf92-####-####-####-############',
],
],
],
];
$requestBody->setAdditionalData($additionalData);
$result = $graphServiceClient->directory()->authenticationMethodDevices()->hardwareOathDevices()->post($requestBody)->wait();
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph_beta import GraphServiceClient
from msgraph_beta.generated.models.hardware_oath_token_authentication_method_device import HardwareOathTokenAuthenticationMethodDevice
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = HardwareOathTokenAuthenticationMethodDevice(
additional_data = {
"@context" : "#$delta",
"value" : [
{
"@content_id" : "1",
"serial_number" : "TOTP123456",
"manufacturer" : "Contoso",
"model" : "Hardware Token 1000",
"secret_key" : "6PJ4UKIW33NNXYZAEHQNFUFTZF7WFTFB",
"time_interval_in_seconds" : "30",
"hash_function" : "hmacsha1",
},
{
"@content_id" : "2",
"serial_number" : "TOTP654321",
"manufacturer" : "Contoso",
"model" : "Hardware Token 1000",
"secret_key" : "TXYZAE6PJ4UZF3NNKIW3HQNFUF7WFTFB",
"time_interval_in_seconds" : "30",
"hash_function" : "hmacsha1",
"assign_to" : {
"id" : "0cadbf92-####-####-####-############",
},
},
],
}
)
result = await graph_client.directory.authentication_method_devices.hardware_oath_devices.post(request_body)