Cloudability Vendor Credentials End Points (Azure)

Summary

These end point are used to manage Azure integration within Cloudability which supports creation, updation, and deletion of Azure credentials.

End Point Particulars

Public Enrollment

end point : /v3/vendors/azure/accounts

end point : /v3/vendors/azure/accounts/88034147

end point : /v3/vendors/azure/accounts/12122121/setup-scripts

end point : /v3/vendors/azure/permissions/accounts/5466083

end point : /v3/vendors/azure/accounts/88034147/verification

end point : /v3/vendors/azure/accounts

end point : /v3/vendors/azure/accounts/83644589/archive

end point : /v3/vendors/azure/accounts/83644589

Public MCA

end point : /v3/vendors/azure/accounts

end point : /v3/vendors/azure/accounts/88034147

end point : /v3/vendors/azure/accounts/0649b6a1-2087-4d28-bf60-c944f282461f:6276ec73-b8bb-4fa1-8164-5720f44e2af9_2019-05-09

end point : v3/vendors/azure/permissions/accounts/0649b6a1-2087-4d28-bf60-c944f282461f:6276ec73-b8bb-4fa1-8164-5720f44e2af9_2019-05-09

end point : /v3/vendors/azure/accounts/0649b6a1-2087-4d28-bf60-c944f282461f:6276ec73-b8bb-4fa1-8164-5720f44e2af9_2019-05-08/verification

end point : /v3/vendors/azure/accounts/0649b6a1-2087-4d28-bf60-c944f282461f:6276ec73-b8bb-4fa1-8164-5720f44e2af9_2019-05-09/archive

end point : /v3/vendors/azure/accounts/83644589/archive

end point : /v3/vendors/azure/accounts/0649b6a1-2087-4d28-bf60-c944f282461f:6276ec73-b8bb-4fa1-8164-5720f44e2af9_2019-05-09

The Credential Object

vendorAccountName (string) - Azure vendor Account Name

vendorAccountId (string) - Azure vendor Account ID of customers

vendorKey (string) - states the vendor type (Azure).

consumerOrgId (string) - if the account belongs to msp_consumer, this is the orgId of MSP_CONSUMER (optional, needs to be provided only if it belongs to MSP).

secret (string) - resource label billing date (optional- required in case of customer want Enrollment account with EA API Access Key- can be provided as NA).

verification : contains state of the account

state (string) - it specifies whether the account is in verified/unverified/error state

authorization : contains the below details:

type (string) - the provider type

enrollmentId (string) - the enrollement account Id(only present in Azure Enrollment Accounts)

tenantId (string) - unique identifier assigned to each Azure Active Directory (AAD) instance

subscriptionGuid (string) - is a unique identifier assigned to each Azure subscription

resourceGroupName (string) - is a unique name assigned to a logical container for Azure resources

storageAccountName (string) - is the unique name assigned to an Azure Storage account

containerName (string) - refers to the unique name assigned to a container within an Azure Storage account

directoryName (string) - refers to a folder or directory within a storage account

exportNameCost (string) - cost export file name

exportNameAmortized (string) - amortized export file name

tenancyId (string) - refers to the tenantId which is a globally unique identifier assigned to each Azure Active Directory (AAD)

createdAt (string) - the timestamp at which the account is credentialized

script (string) - the script required to setup Azure role in customer's account

featureName (string) - the section to segregate permissions based on features of Cloudability

label (string) - name of the section to segregate permissions based on features of Cloudability

Public Enrollment API

Create Azure EA credential

curl --location 'https://api.cloudability.com/v3/vendors/azure/accounts' \
--header 'Content-Type: application/json' \
--data '{
"vendorAccountId": "12122121",
"type": "azure_enrollment",
"tenantId": "97f6a076-8589-4443-8917-42cf94454bff",
"consumerOrgId": "",
"costReportSpec": {
"subscriptionGuid": "ecf70fd7-dc81-48b7-8af9-db35a3a9becf",
"resourceGroupName": "test",
"storageAccountName": "test-acc",
"containerName": "test-cont",
"directoryName": "test-dir",
"exportNameCost": "test-cost",
"exportNameAmortized": "test-amortized"
},
"secret": "NA"
}'
{
"result": {
"id": "12122121",
"vendorAccountName": "12122121",
"vendorAccountId": "12122121",
"vendorKey": "azure","verification": {
"state": "unverified"
},
"authorization": {
"type": "azure_enrollment",
"enrollmentId": "12122121",
"tenantId": "97f6a076-8589-4443-8917-42cf94454bff",
"subscriptionGuid": "ecf70fd7-dc81-48b7-8af9-db35a3a9becf",
"resourceGroupName": "test",
"storageAccountName": "test-acc",
"containerName": "test-cont",
"directoryName": "test-dir",
"exportNameCost": "test-cost",
"exportNameAmortized": "test-amortized",
"tenancyId": "97f6a076-8589-4443-8917-42cf94454bff"
},
"meta": {},
"createdAt": "2023-12-28T11:02:42Z",
"consumerOrgId": ""
}
}

Update the Azure EA credential with the given ID

curl --location --request PUT 'https://api.cloudability.com/v3/vendors/azure/accounts/88034147' \
--header 'Content-Type: application/json' \
--data '{
"vendorAccountId": "88034147",
"type": "azure_enrollment",
"tenantId": "97f6a076-8589-4443-8917-42cf94454bff",
"consumerOrgId": "",
"costReportSpec": {
"subscriptionGuid": "ecf70fd7-dc81-48b7-8af9-db35a3a9becf",
"resourceGroupName": "costexportName",
"storageAccountName": "cloudabilityactualcost",
"containerName": "apptiocostmgmtcontainer",
"directoryName": "apptiocostmgmtdirectory",
"exportNameCost": "NA",
"exportNameAmortized": "NA"
},
"secret": "NA"
}'
{
"result": {
"id": "88034147",
"vendorAccountName": "88034147",
"vendorAccountId": "88034147",
"vendorKey": "azure",
"verification": {
"state": "unverified"
},
"authorization": {
"type": "azure_enrollment",
"enrollmentId": "88034147",
"tenantId": "97f6a076-8589-4443-8917-42cf94454bff",
"subscriptionGuid": "ecf70fd7-dc81-48b7-8af9-db35a3a9becf",
"resourceGroupName": "costexportName",
"storageAccountName": "cloudabilityactualcost",
"containerName": "apptiocostmgmtcontainer",
"directoryName": "apptiocostmgmtdirectory",
"exportNameCost": "NA",
"exportNameAmortized": "NA",
"tenancyId": "97f6a076-8589-4443-8917-42cf94454bff"
},
"meta": {},
"createdAt": "2021-03-09T16:05:37Z",
"consumerOrgId": ""
}
}

Returns the script for setting up a Azure EA Role

{
"result": {
"scripts": "$Customrole = Get-AzRoleDefinition -Name \"CloudabilityCostDataReader\
"\nif (!$Customrole) { \n echo \"Custom role not present.\" \n$role = Get-AzRoleDefinition -Name \
"Virtual Machine Contributor\"\n$role.Id = $null\n$role.Name = \"CloudabilityCostDataReader\"\n$role.IsCustom = $true\n$role.Description = \"The users of this role can read blob data.\"\n$role.Actions.RemoveRange(0,$role.Actions.Count)\n$role.Actions.Add(\"Microsoft.Storage/storageAccounts/blobServices/containers/read\")\n$role.Actions.Add(\"Microsoft.Storage/storageAccounts/blobServices/generateUserDelegationKey/action\")\n$role.Actions.Add(\"Microsoft.Authorization/roleAssignments/read\")\n$role.DataActions.Add(\"Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read\")\n$role.AssignableScopes.Clear()\n$role.AssignableScopes.Add(\"/subscriptions/ecf70fd7-dc81-48b7-8af9-db35a3a9becf/resourceGroups/test\")\n$roleDef = New-AzRoleDefinition -Role $role\n$roleDefId = $roleDef.Id\n} else { \necho \"Custom role already present $Customrole.Id, skipping new Custom role creation\" \n$Customrole.AssignableScopes.Clear()\n$Customrole.AssignableScopes.Add(\"/subscriptions/ecf70fd7-dc81-48b7-8af9-db35a3a9becf/resourceGroups/test\")\nSet-AzRoleDefinition -Role $Customrole\n$roleDefId = $Customrole.Id \n}\n$cldyServicePrincipalAppId = \"1ba79ced-1862-41d1-95bc-66d6bc5aff7f\"\n$cldyServicePrincipalObjectId = (Get-AzADServicePrincipal -ApplicationId $cldyServicePrincipalAppId).id \nif (!$cldyServicePrincipalObjectId) { \n New-AzADServicePrincipal -ApplicationId $cldyServicePrincipalAppId \n $cldyServicePrincipalObjectId = (Get-AzADServicePrincipal -ApplicationId $cldyServicePrincipalAppId).id \n} else { \n echo \"Service principal already present, skipping new service principal creation\" \n}\n$existingExportRole = (Get-AzRoleAssignment `\n-ObjectId $cldyServicePrincipalObjectId `\n-RoleDefinitionId $roleDefId `\n-Scope /subscriptions/ecf70fd7-dc81-48b7-8af9-db35a3a9becf/resourceGroups/test/providers/Microsoft.Storage/storageAccounts/test-acc).RoleAssignmentId \nif (!$existingExportRole) { \n New-AzRoleAssignment `\n -ObjectId $cldyServicePrincipalObjectId `\n -RoleDefinitionId $roleDefId `\n -Scope /subscriptions/ecf70fd7-dc81-48b7-8af9-db35a3a9becf/resourceGroups/test/providers/Microsoft.Storage/storageAccounts/test-acc \n} else { \n echo \"Role already present, skipping new role assignment\" \n}\n$moduleStatus = Get-InstalledModule -Name Az\nif (!$moduleStatus){\nInstall-Module -Name Az\n}\nConnect-AzAccount\n$principalTenantId = (Get-AzContext).Tenant.Id \n$payload = '{ \"properties\": {\n\"principalId\": \"'+$cldyServicePrincipalObjectId+'\", \n\"principalTenantId\": \"'+$principalTenantId+'\", \n\"roleDefinitionId\": \"/providers/Microsoft.Billing/billingAccounts/12122121/billingRoleDefinitions/24f8edb6-1668-4659-b5e2-40bb5f3a7d7e\" \n} }'\n$process = Invoke-AzRestMethod -Path \"providers/Microsoft.Billing/billingAccounts/12122121/billingRoleAssignments/533aff9a-5d03-4994-86f2-18d002bb8f1d?api-version=2019-10-01-preview\" -Method PUT -Payload $payload -debug -verbose\nif ($process.StatusCode -eq 409) { \n echo \"Enrollment Reader Role already present, skipping new role assignment\" \n} else { \n echo $process \n}"
}
}

Returns Azure EA permissions for a given ID

{
"result": [
{
"featureName": "Utilization",
"label": "Utilization",
"permissions": [
{
"name": "management:Reader"
},
{
"name": "subscription:ReadSubscription"
}
]
},
{
"featureName": "Cost \u0026 Usage Data",
"label": "Cost",
"permissions": [
{
"name": "ea:UsageReports"
},
{
"name": "subscription:ReadSubscription"
},
{
"name": "Cost Export Report"
},
{
"name": "Amortized Export Report"
},
{
"name": "billing:EnrollmentReader"
}
]
},
{
"featureName": "Rightsizing",
"label": "Rightsizing",
"permissions": [
{
"name": "management:Reader"
},
{
"name": "subscription:ReadSubscription"
}
]
}
]
}

Verifies Azure EA Credential with a given ID

when verification fails

{
"result": {
"id": "83644589",
"vendorAccountName": "83644589",
"vendorAccountId": "83644589",
"vendorKey": "azure",
"verification": {
"state": "error",
"message": "Authentication or authorization failure. Error (status=401, reason=Unauthorized, entity={\"error\":{\"code\":\"401\",\"message\":\"API Key is expired or invalid.|API Key is expired or invalid.|API Key is expired or invalid.|API Key is expired or invalid.|API Key is expired or invalid.|API Key is expired or invalid.|API Key is expired or invalid.|API Key is expired or invalid.|API Key is expired or invalid.|API Key is expired or invalid.|API Key is expired or invalid.\"}})",
"lastVerificationAttemptedAt": "2024-01-02T10:58:24Z"
},
"authorization": {
"type": "azure_enrollment",
"enrollmentId": "83644589"
},
"meta": {
"id": "5da4f241-ac3c-40ba-8823-b486dd641623",
"reportView": "Enterprise",
"expires": "2055-05-17T21:02:32Z",
"iss": "ea.microsoftazure.com",
"aud": "client.ea.microsoftazure.com"
},
"createdAt": "2023-03-09T11:57:04Z",
"consumerOrgId": ""
}
}



when verification succeds

{
"result": {
"id": "82454823",
"vendorAccountName": "82454823",
"vendorAccountId": "82454823",
"vendorKey": "azure",
"verification": {
"state": "verified",
"lastVerificationAttemptedAt": "2024-01-02T10:59:25Z"
},
"authorization": {
"type": "azure_enrollment",
"permissions": [
"Cost Export Report",
"Amortized Export Report",
"billing:EnrollmentReader"
],
"enrollmentId": "82454823",
"tenantId": "b3f8d3b7-9951-4be9-a4d9-28f19aa00dd6",
"subscriptionGuid": "26e96252-2874-434e-9147-b95f38751fd9",
"resourceGroupName": "cost-export-cron",
"storageAccountName": "costexportstorage",
"containerName": "export",
"directoryName": "daily",
"exportNameCost": "dailyCost",
"exportNameAmortized": "dailyCostAmortized",
"tenancyId": "b3f8d3b7-9951-4be9-a4d9-28f19aa00dd6"
},
"meta": {},
"createdAt": "2023-03-09T11:57:04Z",
"consumerOrgId": ""
}
}

Archive Azure EA Credential with a given ID

{
"result": {
"id": "83644589",
"vendorAccountName": "83644589",
"vendorAccountId": "83644589",
"vendorKey": "azure",
"verification": {
"state": "archived"
},
"meta": {},
"consumerOrgId": ""
}
}

Deletes the credential with the given ID

{
"result": {
"message": "Successfully deleted",
"vendorKey": "azure",
"vendorAccountId": "83644589"
}
}

Public MCA API

Create Azure MCA credential

curl --location 'https://api.cloudability.com/v3/vendors/azure/accounts/82454821?viewId=0' \
--header 'Content-Type: application/json' \
--data '{
"vendorAccountId": "0649b6a1-2087-4d28-bf60-c944f282461f:6276ec73-b8bb-4fa1-8164-5720f44e2af9_2019-05-01",
"type": "azure_mca",
"tenantId": "a546f050-59bb-4028-af06-28a7b916af63",
"consumerOrgId": "",
"costReportSpec": {
"subscriptionGuid": "a546f050-59bb-4028-af06-28a7b916af60",
"resourceGroupName": "test1",
"storageAccountName": "test2",
"containerName": "test3",
"directoryName": "test4",
"exportNameCost": "test5",
"exportNameAmortized": "test6"
}
}'
"vendorKey": "azure",
"verification": {
"state": "unverified"
},
"authorization": {
"type": "azure_mca",
"tenantId": "a546f050-59bb-4028-af06-28a7b916af63",
"subscriptionGuid": "a546f050-59bb-4028-af06-28a7b916af60",
"resourceGroupName": "test1",
"storageAccountName": "test2",
"containerName": "test3",
"directoryName": "test4",
"exportNameCost": "test5",
"exportNameAmortized": "test6",
"tenancyId": "a546f050-59bb-4028-af06-28a7b916af63"
},
"createdAt": "2024-01-02T11:22:00Z",
"consumerOrgId": ""
}
}

Update the Azure MCA credential with the given ID

curl --location --request PUT 'https://api.cloudability.com//v3/vendors/azure/accounts/0649b6a1-2087-4d28-bf60-c944f282461f:6276ec73-b8bb-4fa1-8164-5720f44e2af9_2019-05-09' \
--header 'Content-Type: application/json' \
--data '{
"vendorAccountId": "0649b6a1-2087-4d28-bf60-c944f282461f:6276ec73-b8bb-4fa1-8164-5720f44e2af9_2019-05-09",
"type": "azure_mca",
"tenantId": "9d1af546-6893-4b4a-a764-4eaeb5976888",
"consumerOrgId": "",
"costReportSpec": {
"subscriptionGuid": "37263c47-27fb-42fd-8bf6-da29d22c7dde",
"resourceGroupName": "test",
"storageAccountName": "test2",
"containerName": "test3",
"directoryName": "test4",
"exportNameCost": "test5",
"exportNameAmortized": "test6"
}
}'
{
"result": {
"id": "0649b6a1-2087-4d28-bf60-c944f282461f:6276ec73-b8bb-4fa1-8164-5720f44e2af9_2019-05-09",
"vendorAccountName": "0649b6a1-2087-4d28-bf60-c944f282461f:6276ec73-b8bb-4fa1-8164-5720f44e2af9_2019-05-09",
"vendorAccountId": "0649b6a1-2087-4d28-bf60-c944f282461f:6276ec73-b8bb-4fa1-8164-5720f44e2af9_2019-05-09",
"vendorKey": "azure",
"verification": {
"state": "unverified"
},
"authorization": {
"type": "azure_mca",
"tenantId": "9d1af546-6893-4b4a-a764-4eaeb5976888",
"subscriptionGuid": "37263c47-27fb-42fd-8bf6-da29d22c7dde",
"resourceGroupName": "test",
"storageAccountName": "test2",
"containerName": "test3",
"directoryName": "test4",
"exportNameCost": "test5",
"exportNameAmortized": "test6",
"tenancyId": "9d1af546-6893-4b4a-a764-4eaeb5976888"
},
"createdAt": "2023-08-24T09:13:24Z",
"consumerOrgId": ""
}
}

Returns Azure MCA permissions for a given ID

{
"result": {
"scripts": "$Customrole = Get-AzRoleDefinition -Name \"CloudabilityCostDataReader\"\nif (!$Customrole) { \n echo \"Custom role not present.\" \n$role = Get-AzRoleDefinition -Name \"Virtual Machine Contributor\"\n$role.Id = $null\n$role.Name = \"CloudabilityCostDataReader\"\n$role.IsCustom = $true\n$role.Description = \"The users of this role can read blob data.\"\n$role.Actions.RemoveRange(0,$role.Actions.Count)\n$role.Actions.Add(\"Microsoft.Storage/storageAccounts/blobServices/containers/read\")\n$role.Actions.Add(\"Microsoft.Storage/storageAccounts/blobServices/generateUserDelegationKey/action\")\n$role.Actions.Add(\"Microsoft.Authorization/roleAssignments/read\")\n$role.DataActions.Add(\"Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read\")\n$role.AssignableScopes.Clear()\n$role.AssignableScopes.Add(\"/subscriptions/37263c47-27fb-42fd-8bf6-da29d22c7dde/resourceGroups/test\")\n$roleDef = New-AzRoleDefinition -Role $role\n$roleDefId = $roleDef.Id\n} else { \necho \"Custom role already present $Customrole.Id, skipping new Custom role creation\" \n$Customrole.AssignableScopes.Clear()\n$Customrole.AssignableScopes.Add(\"/subscriptions/37263c47-27fb-42fd-8bf6-da29d22c7dde/resourceGroups/test\")\nSet-AzRoleDefinition -Role $Customrole\n$roleDefId = $Customrole.Id \n}\n$cldyServicePrincipalAppId = \"1ba79ced-1862-41d1-95bc-66d6bc5aff7f\"\n$cldyServicePrincipalObjectId = (Get-AzADServicePrincipal -ApplicationId $cldyServicePrincipalAppId).id \nif (!$cldyServicePrincipalObjectId) { \n New-AzADServicePrincipal -ApplicationId $cldyServicePrincipalAppId \n $cldyServicePrincipalObjectId = (Get-AzADServicePrincipal -ApplicationId $cldyServicePrincipalAppId).id \n} else { \n echo \"Service principal already present, skipping new service principal creation\" \n}\n$existingExportRole = (Get-AzRoleAssignment `\n-ObjectId $cldyServicePrincipalObjectId `\n-RoleDefinitionId $roleDefId `\n-Scope /subscriptions/37263c47-27fb-42fd-8bf6-da29d22c7dde/resourceGroups/test/providers/Microsoft.Storage/storageAccounts/test2).RoleAssignmentId \nif (!$existingExportRole) { \n New-AzRoleAssignment `\n -ObjectId $cldyServicePrincipalObjectId `\n -RoleDefinitionId $roleDefId `\n -Scope /subscriptions/37263c47-27fb-42fd-8bf6-da29d22c7dde/resourceGroups/test/providers/Microsoft.Storage/storageAccounts/test2 \n} else { \n echo \"Role already present, skipping new role assignment\" \n}"
}
}

Returns the script for setting up a Azure MCA Role

{
"result": [
{
"featureName": "Utilization",
"label": "Utilization",
"permissions": [
{
"name": "management:Reader"
},
{
"name": "subscription:ReadSubscription"
}
]
},
{
"featureName": "Cost \u0026 Usage Data",
"label": "Cost",
"permissions": [
{
"name": "ea:UsageReports"
},
{
"name": "subscription:ReadSubscription"
},
{
"name": "Cost Export Report"
},
{
"name": "Amortized Export Report"
},
{
"name": "billing:EnrollmentReader"
}
]
},
{
"featureName": "Rightsizing",
"label": "Rightsizing",
"permissions": [
{
"name": "management:Reader"
},
{
"name": "subscription:ReadSubscription"
}
]
}
]
}

Verifies Azure MCA Credential with a given ID

when verification fails

{
"result": {
"id": "0649b6a1-2087-4d28-bf60-c944f282461f:6276ec73-b8bb-4fa1-8164-5720f44e2af9_2019-05-08",
"vendorAccountName": "0649b6a1-2087-4d28-bf60-c944f282461f:6276ec73-b8bb-4fa1-8164-5720f44e2af9_2019-05-08",
"vendorAccountId": "0649b6a1-2087-4d28-bf60-c944f282461f:6276ec73-b8bb-4fa1-8164-5720f44e2af9_2019-05-08",
"vendorKey": "azure",
"verification": {
"state": "error",
"message": "Unexpected response from Azure. Request may be malformed. Error (status=400, reason=Bad Request, entity={\"error\":\"invalid_request\",\"error_description\":\"AADSTS90002: Tenant 'a546f050-59bb-4028-af06-28a7b916af65' not found. Check to make sure you have the correct tenant ID and are signing into the correct cloud. Check with your subscription administrator, this may happen if there are no active subscriptions for the tenant. Trace ID: 59ff4e39-30b4-4d2e-8c92-6ab1bc98be05 Correlation ID: 423f0fdb-45b0-4181-b137-28480ff287f7 Timestamp: 2024-01-02 11:16:32Z\",\"error_codes\":[90002],\"timestamp\":\"2024-01-02 11:16:32Z\",\"trace_id\":\"59ff4e39-30b4-4d2e-8c92-6ab1bc98be05\",\"correlation_id\":\"423f0fdb-45b0-4181-b137-28480ff287f7\",\"error_uri\":\"https://login.microsoftonline.com/error?code=90002\"}). If the account was recently credentialied, please try verifying after some time.",
"lastVerificationAttemptedAt": "2024-01-02T11:16:32Z"
},
"authorization": {
"type": "azure_mca",
"tenantId": "a546f050-59bb-4028-af06-28a7b916af65",
"subscriptionGuid": "a546f050-59bb-4028-af06-28a7b916af65",
"resourceGroupName": "test1",
"storageAccountName": "test2",
"containerName": "test3",
"directoryName": "test4",
"exportNameCost": "test5",
"exportNameAmortized": "test6",
"tenancyId": "a546f050-59bb-4028-af06-28a7b916af65"
},
"createdAt": "2023-12-05T11:13:54Z",
"consumerOrgId": ""
}
}



when verification succeeds

{
"result": {
"id": "0649b6a1-2087-4d28-bf60-c944f282461f:6276ec73-b8bb-4fa1-8164-5720f44e2af9_2019-05-08",
"vendorAccountName": "0649b6a1-2087-4d28-bf60-c944f282461f:6276ec73-b8bb-4fa1-8164-5720f44e2af9_2019-05-08",
"vendorAccountId": "0649b6a1-2087-4d28-bf60-c944f282461f:6276ec73-b8bb-4fa1-8164-5720f44e2af9_2019-05-08",
"vendorKey": "azure",
"verification": {
"state": "verified",
"lastVerificationAttemptedAt": "2024-01-02T10:59:25Z"
},
"authorization": {
"type": "azure_mca",

"permissions": [
"Cost Export Report",
"Amortized Export Report"
],
"tenantId": "a546f050-59bb-4028-af06-28a7b916af65",
"subscriptionGuid": "a546f050-59bb-4028-af06-28a7b916af65",
"resourceGroupName": "test1",
"storageAccountName": "test2",
"containerName": "test3",
"directoryName": "test4",
"exportNameCost": "test5",
"exportNameAmortized": "test6",
"tenancyId": "a546f050-59bb-4028-af06-28a7b916af65"
},
"createdAt": "2023-12-05T11:13:54Z",
"consumerOrgId": ""
}
}

Archive Azure MCA Credential with a given ID

{
"result": {
"id": "0649b6a1-2087-4d28-bf60-c944f282461f:6276ec73-b8bb-4fa1-8164-5720f44e2af9_2019-05-09",
"vendorAccountName": "0649b6a1-2087-4d28-bf60-c944f282461f:6276ec73-b8bb-4fa1-8164-5720f44e2af9_2019-05-09",
"vendorAccountId": "0649b6a1-2087-4d28-bf60-c944f282461f:6276ec73-b8bb-4fa1-8164-5720f44e2af9_2019-05-09",
"vendorKey": "azure",
"verification": {
"state": "archived"
},
"meta": {},
"consumerOrgId": ""
}
}

Delete the credential with the given ID

{
"result": {
"message": "Successfully deleted",
"vendorKey": "azure",
"vendorAccountId": "0649b6a1-2087-4d28-bf60-c944f282461f:6276ec73-b8bb-4fa1-8164-5720f44e2af9_2019-05-09"
}
}