# paths./api/1/resources/{resourceId}/accesses.get.summary
Retrieves a list of Providers that have access to a specified resource.

# paths./api/1/resources/{resourceId}/accesses.get.description
Get a list of all providers with accesses for a given storage item per page, using a page number and page size.
Note the variable keyCreatedTimeUTC is the time the SAS key generated is valid from,
this is set one hour in the past from the time created this to avoid azure time skew issues.

# paths./api/1/resources/{resourceId}/accesses.get.parameters[].description
Format - int32. Page number. Defaults to 1.

# paths./api/1/resources/{resourceId}/accesses.get.parameters[].description
Format - int32. Number of results per page. Defaults to 50. If this is a negative number, all results will be fetched

# paths./api/1/resources/{resourceId}/accesses.post.summary
Share access to another user for the specified resource

# paths./api/1/resources/{resourceId}/accesses.post.description
Share access to another user for the specified resource

# paths./api/1/resources/{resourceId}/accesses.post.parameters[].description
Should a renewed key be issued to the shared party after it expires

# paths./api/1/resources/{resourceId}/accesses.post.responses.200.content.application/xml.example
<ShareResourceVM> <accessSharingId>00000000-0000-0000-0000-000000000000</accessSharingId> </ShareResourceVM>

# paths./api/1/resources/{resourceId}/accesses.post.responses.200.content.text/xml.example
<ShareResourceVM> <accessSharingId>00000000-0000-0000-0000-000000000000</accessSharingId> </ShareResourceVM>

# paths./api/1/resources/{resourceId}/accesses/{accessId}.put.summary
Revoke an users ability to refresh keys on a resource

# paths./api/1/resources/{resourceId}/accesses/{accessId}.put.description
Revoke an users ability to refresh keys on a resource

# paths./api/1/resources/{resourceId}/accesses/{accessId}/key.put.summary
Fetch a SAS key to access the storage item shared with you

# paths./api/1/resources/{resourceId}/accesses/{accessId}/key.put.description
Fetch a SAS key to access the storage item shared with you

# paths./api/1/resources/{resourceId}/accesses/{accessId}/key.put.responses.200.content.application/xml.example
<SASToken> <sasKey>string</sasKey> <sasuRi>string</sasuRi> <fullKey>string</fullKey> <sasKeyExpiryTimeUTC>string</sasKeyExpiryTimeUTC> <isKeyExpired>true</isKeyExpired> <autoRefreshed>true</autoRefreshed> <ipRange> <startIp>string</startIp> <endIp>string</endIp> </ipRange> </SASToken>

# paths./api/1/resources/{resourceId}/accesses/{accessId}/key.put.responses.200.content.text/xml.example
<SASToken> <sasKey>string</sasKey> <sasuRi>string</sasuRi> <fullKey>string</fullKey> <sasKeyExpiryTimeUTC>string</sasKeyExpiryTimeUTC> <isKeyExpired>true</isKeyExpired> <autoRefreshed>true</autoRefreshed> <ipRange> <startIp>string</startIp> <endIp>string</endIp> </ipRange> </SASToken>

# paths./api/1/application.get.summary
Returns information about the current application.

# paths./api/1/application.get.description
Returns information about the current application.

# paths./api/1/application.get.responses.200.content.application/xml.example
<Application> <id>00000000-0000-0000-0000-000000000000</id> <companyId>00000000-0000-0000-0000-000000000000</companyId> <role>string</role> </Application>

# paths./api/1/application.get.responses.200.content.text/xml.example
<Application> <id>00000000-0000-0000-0000-000000000000</id> <companyId>00000000-0000-0000-0000-000000000000</companyId> <role>string</role> </Application>

# paths./api/1/application.post.summary
Add a new application to Veracity data fabric.

# paths./api/1/application.post.description
Needs to have the role "DataAdmin" to perform this action

# paths./api/1/application.post.responses.409.description
A application with this ID already exist in veracity

# paths./api/1/application/{applicationId}.get.summary
Gets information about an application in Veracity data fabric.

# paths./api/1/application/{applicationId}.get.description
Gets information about an application in Veracity data fabric.

# paths./api/1/application/{applicationId}.get.responses.200.content.application/xml.example
<Application> <id>00000000-0000-0000-0000-000000000000</id> <companyId>00000000-0000-0000-0000-000000000000</companyId> <role>string</role> </Application>

# paths./api/1/application/{applicationId}.get.responses.200.content.text/xml.example
<Application> <id>00000000-0000-0000-0000-000000000000</id> <companyId>00000000-0000-0000-0000-000000000000</companyId> <role>string</role> </Application>

# paths./api/1/application/{applicationId}.put.summary
Update role of a application on Veracity data fabric.

# paths./api/1/application/{applicationId}.put.description
Needs to have the role "DataAdmin" to perform this action

# paths./api/1/resources/{resourceId}/datastewards.get.summary
Retrieve a list of data stewards for the resource

# paths./api/1/resources/{resourceId}/datastewards.get.description
Retrieve a list of data stewards for the resource

# paths./api/1/resources/{resourceId}/datastewards.get.responses.200.content.application/xml.example
<DataStewardVMArray> <userId>00000000-0000-0000-0000-000000000000</userId> <resourceId>00000000-0000-0000-0000-000000000000</resourceId> <grantedBy>00000000-0000-0000-0000-000000000000</grantedBy> <comment>string</comment> </DataStewardVMArray>

# paths./api/1/resources/{resourceId}/datastewards.get.responses.200.content.text/xml.example
<DataStewardVMArray> <userId>00000000-0000-0000-0000-000000000000</userId> <resourceId>00000000-0000-0000-0000-000000000000</resourceId> <grantedBy>00000000-0000-0000-0000-000000000000</grantedBy> <comment>string</comment> </DataStewardVMArray>

# paths./api/1/resources/{resourceId}/owner.put.summary
Transfer the ownership of the Azure resource to a specified user. 
Both previous and the new owner should be affiliated with the same company.

# paths./api/1/resources/{resourceId}/owner.put.description
Returns the Azure resource with updated OwnerId field.

# paths./api/1/resources/{resourceId}/owner.put.parameters[].description
Format - uuid. The Id of the user with role of Data Manager that ownership will be transfered to.

# paths./api/1/resources/{resourceId}/owner.put.parameters[].description
The endpoint specified below will be updated with an Input flag. When the "SetPreviousOwnerAsDataSteward" flag is set to true. If it is false, then the previous owner will not be assigned as Data Steward.

# paths./api/1/resources/{resourceId}/owner.put.responses.200.content.application/xml.example
00000000-0000-0000-0000-000000000000 string string string string 00000000-0000-0000-0000-000000000000 string string unknown
string
string string string 00000000-0000-0000-0000-000000000000
string

# paths./api/1/resources/{resourceId}/owner.put.responses.200.content.text/xml.example
00000000-0000-0000-0000-000000000000 string string string string 00000000-0000-0000-0000-000000000000 string string unknown
string
string string string 00000000-0000-0000-0000-000000000000
string

# paths./api/1/resources/{resourceId}/owner.put.responses.400.description
During the validation none of the users were set as the new Owner of the resource. The reasons can be following: the resource doesn't exist in Veracity system, you don't have the ownership of the resource, you provided the same userId that owns the resource (yourself), provided user doesn't have a role of Data Manager or provided user doesn't exist in the Veracity Identity System

# paths./api/1/resources/{resourceId}/datastewards/{userId}.post.summary
Delegate the rights to use the Azure resource to another Veracity user.

# paths./api/1/resources/{resourceId}/datastewards/{userId}.post.description
If a DataSteward with this user id exist on this resource, it will be updated.
Returns the Users that DataSteward for the provided resource was assigned to.

# paths./api/1/resources/{resourceId}/datastewards/{userId}.post.responses.200.content.application/xml.example
<DataStewardVM> <userId>00000000-0000-0000-0000-000000000000</userId> <resourceId>00000000-0000-0000-0000-000000000000</resourceId> <grantedBy>00000000-0000-0000-0000-000000000000</grantedBy> <comment>string</comment> </DataStewardVM>

# paths./api/1/resources/{resourceId}/datastewards/{userId}.post.responses.200.content.text/xml.example
<DataStewardVM> <userId>00000000-0000-0000-0000-000000000000</userId> <resourceId>00000000-0000-0000-0000-000000000000</resourceId> <grantedBy>00000000-0000-0000-0000-000000000000</grantedBy> <comment>string</comment> </DataStewardVM>

# paths./api/1/resources/{resourceId}/datastewards/{userId}.post.responses.400.description
During the validation the users were not saved as the Data Steward for the provided Azure Resource.The reasons can be following: the resource doesn't exist in Veracity system, you don't have the ownership of the resource, user already is a Data Steward for this container, user is an owner of the resource (yourself), or user doesn't exist in the Veracity Identity System

# paths./api/1/resources/{resourceId}/datastewards/{userId}.delete.description
The user must be the owner of the resource to be able to delete datastewards

# paths./api/1/resources/{resourceId}/datastewards/{userId}.delete.responses.403.description
If the user is not the owner of the resource

# paths./api/1/resources/{resourceId}/datastewards/{userId}.delete.responses.404.description
If resource or datasteward was not found.

# paths./api/1/keytemplates.get.summary
Returns the templates for the different types of keys you can generate.

# paths./api/1/keytemplates.get.description
Returns the template for the different types of keys you can generate.
Blob Storage is the only storage type supported at the moment.
            
Supported access types for the Blob Storage types are as follows:
    1. Write key
    2. Read and list key
    3. Read, write and list key
    4. Read, write, delete and list key
For Each access type there are key templates that lasts 1 h, 8 h, 1 month, 2 months, 3 months, 4 months, 5 months and 6 months.
            
Note : "IsSystemKey" field in the result data is not relevant for the functionality currently supported. Please ignore that field.

# paths./api/1/keytemplates.get.responses.200.content.application/xml.example
<KeyTemplateVMArray> <id>00000000-0000-0000-0000-000000000000</id> <name>string</name> <totalHours>0</totalHours> <isSystemKey>true</isSystemKey> <description>string</description> <attribute1>true</attribute1> <attribute2>true</attribute2> <attribute3>true</attribute3> <attribute4>true</attribute4> </KeyTemplateVMArray>

# paths./api/1/keytemplates.get.responses.200.content.text/xml.example
<KeyTemplateVMArray> <id>00000000-0000-0000-0000-000000000000</id> <name>string</name> <totalHours>0</totalHours> <isSystemKey>true</isSystemKey> <description>string</description> <attribute1>true</attribute1> <attribute2>true</attribute2> <attribute3>true</attribute3> <attribute4>true</attribute4> </KeyTemplateVMArray>

# paths./api/1/resource/{resourceId}/ledger.get.description
Endpoint returns a list of ledger records.
A ledger record is an action done to a container, ex; creating a file, sharing a key.

# paths./api/1/resource/{resourceId}/ledger.get.responses.200.content.application/xml.example
<ReadLedgerArray> <entityId>string</entityId> <entityType>string</entityType> <companyId>string</companyId> <containerName>string</containerName> <dateOfEvent>string</dateOfEvent> <category>string</category> <ledgerSubCategory>string</ledgerSubCategory> <description>string</description> <region>string</region> <affectedEntityId>string</affectedEntityId> <affectedEntityType>string</affectedEntityType> <affectedCompanyId>string</affectedCompanyId> <fileName>string</fileName> <ipAddress>string</ipAddress> </ReadLedgerArray>

# paths./api/1/resource/{resourceId}/ledger.get.responses.200.content.text/xml.example
<ReadLedgerArray> <entityId>string</entityId> <entityType>string</entityType> <companyId>string</companyId> <containerName>string</containerName> <dateOfEvent>string</dateOfEvent> <category>string</category> <ledgerSubCategory>string</ledgerSubCategory> <description>string</description> <region>string</region> <affectedEntityId>string</affectedEntityId> <affectedEntityType>string</affectedEntityType> <affectedCompanyId>string</affectedCompanyId> <fileName>string</fileName> <ipAddress>string</ipAddress> </ReadLedgerArray>

# paths./api/1/resources.get.summary
Fetches all storage resources that you can claim keys for

# paths./api/1/resources.get.description
Fetches all storage resources that you can claim keys for

# paths./api/1/resources.get.responses.200.content.application/xml.example
00000000-0000-0000-0000-000000000000 string string string string 00000000-0000-0000-0000-000000000000 owner string noKeys unknown
string
string string string 00000000-0000-0000-0000-000000000000
string

# paths./api/1/resources.get.responses.200.content.text/xml.example
00000000-0000-0000-0000-000000000000 string string string string 00000000-0000-0000-0000-000000000000 owner string noKeys unknown
string
string string string 00000000-0000-0000-0000-000000000000
string

# paths./api/1/resources/{resourceId}.get.responses.200.content.application/xml.example
00000000-0000-0000-0000-000000000000 string string string string 00000000-0000-0000-0000-000000000000 owner string noKeys unknown
string
string string string 00000000-0000-0000-0000-000000000000
string

# paths./api/1/resources/{resourceId}.get.responses.200.content.text/xml.example
00000000-0000-0000-0000-000000000000 string string string string 00000000-0000-0000-0000-000000000000 owner string noKeys unknown
string
string string string 00000000-0000-0000-0000-000000000000
string

# paths./api/1/resources/{resourceId}.get.responses.403.description
Missing the correct access to view the resource

# paths./api/1/resources/{resourceId}/keys.get.summary
Fetch a SAS key to access a storage item shared with you
Deprecated. Please use PUT /api/resources/{resourceId}/accesses/{accessId}/key

# paths./api/1/resources/{resourceId}/keys.get.description
Fetch a SAS key to access a storage item shared with you
Deprecated. Please use PUT /api/resources/{resourceId}/accesses/{accessId}/key

# paths./api/1/resources/{resourceId}/keys.get.parameters[].description
Format - uuid. The Id for the key you want to return

# paths./api/1/resources/{resourceId}/keys.get.responses.200.content.application/xml.example
<SASToken> <sasKey>string</sasKey> <sasuRi>string</sasuRi> <fullKey>string</fullKey> <sasKeyExpiryTimeUTC>string</sasKeyExpiryTimeUTC> <isKeyExpired>true</isKeyExpired> <autoRefreshed>true</autoRefreshed> <ipRange> <startIp>string</startIp> <endIp>string</endIp> </ipRange> </SASToken>

# paths./api/1/resources/{resourceId}/keys.get.responses.200.content.text/xml.example
<SASToken> <sasKey>string</sasKey> <sasuRi>string</sasuRi> <fullKey>string</fullKey> <sasKeyExpiryTimeUTC>string</sasKeyExpiryTimeUTC> <isKeyExpired>true</isKeyExpired> <autoRefreshed>true</autoRefreshed> <ipRange> <startIp>string</startIp> <endIp>string</endIp> </ipRange> </SASToken>

# paths./api/1/tags.get.description
Default returns approved and non deleted tags.
Use Query parameters to includes non approved and deleted (needs to be DataAdmin to perform this action)

# paths./api/1/tags.get.responses.200.content.application/xml.example
00000000-0000-0000-0000-000000000000
string

# paths./api/1/tags.get.responses.200.content.text/xml.example
00000000-0000-0000-0000-000000000000
string

# paths./api/1/tags.get.responses.403.description
Missing correct role to perform this action

# paths./api/1/tags.post.summary
Inserts tags and returns the inserted new inserted tags with ID's
<remarks>
Id is not required for the input
</remarks>

# paths./api/1/tags.post.description
Inserts tags and returns the inserted new inserted tags with ID's
<remarks>
Id is not required for the input
</remarks>

# paths./api/1/tags.post.responses.200.content.application/xml.example
00000000-0000-0000-0000-000000000000
string

# paths./api/1/tags.post.responses.200.content.text/xml.example
00000000-0000-0000-0000-000000000000
string

# paths./api/1/users/me.get.summary
Returns information about the current user.

# paths./api/1/users/me.get.description
Returns information about the current user.

# paths./api/1/users/me.get.responses.200.content.application/xml.example
<User> <userId>00000000-0000-0000-0000-000000000000</userId> <companyId>00000000-0000-0000-0000-000000000000</companyId> <role>string</role> </User>

# paths./api/1/users/me.get.responses.200.content.text/xml.example
<User> <userId>00000000-0000-0000-0000-000000000000</userId> <companyId>00000000-0000-0000-0000-000000000000</companyId> <role>string</role> </User>

# paths./api/1/users/{userId}.get.responses.200.content.application/xml.example
<User> <userId>00000000-0000-0000-0000-000000000000</userId> <companyId>00000000-0000-0000-0000-000000000000</companyId> <role>string</role> </User>

# paths./api/1/users/{userId}.get.responses.200.content.text/xml.example
<User> <userId>00000000-0000-0000-0000-000000000000</userId> <companyId>00000000-0000-0000-0000-000000000000</companyId> <role>string</role> </User>

# paths./api/1/groups.get.summary
Retrieve a list of all groups for the User.

# paths./api/1/groups.get.description
Retrieve a list of all groups for the User.

# paths./api/1/groups.get.responses.200.content.application/xml.example
00000000-0000-0000-0000-000000000000
string
string 00000000-0000-0000-0000-000000000000 0

# paths./api/1/groups.get.responses.200.content.text/xml.example
00000000-0000-0000-0000-000000000000
string
string 00000000-0000-0000-0000-000000000000 0

# paths./api/1/groups.post.summary
Creates a Group from the input parameters for User.

# paths./api/1/groups.post.description
Creates a Group from the input parameters for User.

# paths./api/1/groups.post.responses.201.content.application/xml.example
00000000-0000-0000-0000-000000000000
string
string 00000000-0000-0000-0000-000000000000 0

# paths./api/1/groups.post.responses.201.content.text/xml.example
00000000-0000-0000-0000-000000000000
string
string 00000000-0000-0000-0000-000000000000 0

# paths./api/1/groups/{Id}.get.responses.200.content.application/xml.example
00000000-0000-0000-0000-000000000000
string
string 00000000-0000-0000-0000-000000000000 0

# paths./api/1/groups/{Id}.get.responses.200.content.text/xml.example
00000000-0000-0000-0000-000000000000
string
string 00000000-0000-0000-0000-000000000000 0

# paths./api/1/groups/{Id}.put.summary
Updates the given group with the parameters from the request body.

# paths./api/1/groups/{Id}.put.description
Updates the given group with the parameters from the request body.

# paths./api/1/groups/{Id}.delete.summary
Will delete the Users given group, and remove references to resources, will NOT delete resources.

# paths./api/1/groups/{Id}.delete.description
Will delete the Users given group, and remove references to resources, will NOT delete resources.

# paths./api/1/users/ResourceDistributionList.get.summary
Get the list of the users with whom storage accounts shared.

# paths./api/1/users/ResourceDistributionList.get.description
Get the list of the users with whom storage accounts shared.

# paths./api/1/users/ResourceDistributionList.get.responses.200.content.application/xml.example
<ResourceDistributedUser> <userId>00000000-0000-0000-0000-000000000000</userId> </ResourceDistributedUser>

# paths./api/1/users/ResourceDistributionList.get.responses.200.content.text/xml.example
<ResourceDistributedUser> <userId>00000000-0000-0000-0000-000000000000</userId> </ResourceDistributedUser>

# components.schemas.SharingResourceInputData.properties.accessKeyTemplateId.description
Id of the sharing template from GET /api/1/keytemplates

# components.schemas.SharingResourceInputData.description
Type that contains required fields to perform a Resource Sharing