Skip to main content

FastrSettings Endpoints

This document provides detailed information about the Fastr-settings endpoints of the Amove desktop agent. Fastr settings are stored per cloud account and control transfer bandwidth caps, checksum verification, and collision behavior. Each endpoint has a "self" variant (acting on the current user) and a matching admin variant (*_for_user) that acts on behalf of another user.

This API is bound to http://localhost:29123 on a machine running the Amove desktop agent. It is not a hosted service.

Endpoints

  1. Get All
  2. Get All for User
  3. Get by Cloud Account
  4. Insert
  5. Insert for User
  6. Update
  7. Update for User
  8. Delete
  9. Delete for User

Get All

Returns every Fastr-settings record belonging to the current user.

  • URL: /fastrsettings/get_all
  • Method: GET
  • Auth Required: Yes

Query Parameters

ParameterTypeDescription
tokenstringAuthentication token.

Response

Returns a DTOResDesktopObject<FastrSettings> wrapper containing the list of settings and a total count.

Get All for User

Returns every Fastr-settings record belonging to a specific user. Admin-only.

  • URL: /fastrsettings/get_all/{userId}
  • Method: GET
  • Auth Required: Yes

Path Parameters

ParameterTypeDescription
userIdstring (uuid)Id of the user whose settings to retrieve.

Query Parameters

ParameterTypeDescription
tokenstringAuthentication token.

Response

Returns a DTOResDesktopObject<FastrSettings> wrapper.

Get by Cloud Account

Returns the Fastr-settings record associated with a specific cloud account for the current user.

  • URL: /fastrsettings/get_by_cloud_account/{cloudAccountId}
  • Method: GET
  • Auth Required: Yes

Path Parameters

ParameterTypeDescription
cloudAccountIdstring (uuid)Id of the cloud account.

Query Parameters

ParameterTypeDescription
tokenstringAuthentication token.

Response

Returns a single FastrSettings object, or null if no record exists for that cloud account.

Insert

Creates or updates the Fastr settings for the current user and the cloud account referenced in the body. The pair (UserId, CloudAccountId) is unique.

  • URL: /fastrsettings/insert
  • Method: POST
  • Auth Required: Yes

Request Body

{
"CloudAccountId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"UserId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"AccountId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"MaxUploadBytesPerSecond": 0,
"MaxDownloadBytesPerSecond": 0,
"MaxServerToServerBytesPerSecond": 0,
"VerifyChecksum": true,
"FileExistsAction": 0,
"Active": true
}
FieldTypeDescription
CloudAccountIdstring (uuid)Cloud account this record applies to.
UserIdstring (uuid)User this record applies to.
AccountIdstring (uuid)Tenant account id.
MaxUploadBytesPerSecondintegerUpload cap in bytes/sec. 0 = unlimited.
MaxDownloadBytesPerSecondintegerDownload cap in bytes/sec. 0 = unlimited.
MaxServerToServerBytesPerSecondintegerServer-to-server cap in bytes/sec. 0 = unlimited.
VerifyChecksumbooleanWhen true, verify SHA-256 after transfer.
FileExistsActioninteger (enum)0 = Overwrite, 1 = SkipIfSame, 2 = KeepBoth.
ActivebooleanWhether this settings record is active.

Query Parameters

ParameterTypeDescription
tokenstringAuthentication token.

Response

Returns the saved FastrSettings object.

Insert for User

Creates or updates Fastr settings on behalf of another user. Admin-only. Same body as Insert.

  • URL: /fastrsettings/insert_for_user
  • Method: POST
  • Auth Required: Yes

Query Parameters

ParameterTypeDescription
tokenstringAuthentication token.

Response

Returns the saved FastrSettings object.

Update

Updates an existing Fastr-settings record for the current user.

  • URL: /fastrsettings/update
  • Method: PUT
  • Auth Required: Yes

Request Body

Full FastrSettings object, including its Id.

Query Parameters

ParameterTypeDescription
tokenstringAuthentication token.

Response

Returns the updated FastrSettings object.

Update for User

Updates an existing Fastr-settings record for another user. Admin-only.

  • URL: /fastrsettings/update_for_user
  • Method: PUT
  • Auth Required: Yes

Request Body

Full FastrSettings object, including its Id.

Query Parameters

ParameterTypeDescription
tokenstringAuthentication token.

Response

Returns the updated FastrSettings object.

Delete

Deletes a Fastr-settings record belonging to the current user.

  • URL: /fastrsettings/delete
  • Method: DELETE
  • Auth Required: Yes

Query Parameters

ParameterTypeDescription
idstring (uuid)Id of the settings record to delete.
tokenstringAuthentication token.

Response

Returns HTTP 200 on success.

Delete for User

Deletes a Fastr-settings record belonging to another user. Admin-only.

  • URL: /fastrsettings/delete_for_user
  • Method: DELETE
  • Auth Required: Yes

Query Parameters

ParameterTypeDescription
idstring (uuid)Id of the settings record to delete.
tokenstringAuthentication token.

Response

Returns HTTP 200 on success.

Sample Code

Read settings for a cloud account

Python
import requests

cloud_account_id = "00000000-0000-0000-0000-000000000000"
response = requests.get(
f"http://localhost:29123/fastrsettings/get_by_cloud_account/{cloud_account_id}",
params={"token": "EXAMPLE_TOKEN"},
)
print(response.json())
JavaScript
const cloudAccountId = "00000000-0000-0000-0000-000000000000";
const res = await fetch(
`http://localhost:29123/fastrsettings/get_by_cloud_account/${cloudAccountId}?token=EXAMPLE_TOKEN`
);
console.log(await res.json());

Create or update settings

Python
import requests

payload = {
"CloudAccountId": "00000000-0000-0000-0000-000000000000",
"UserId": "00000000-0000-0000-0000-000000000000",
"AccountId": "00000000-0000-0000-0000-000000000000",
"MaxUploadBytesPerSecond": 0,
"MaxDownloadBytesPerSecond": 0,
"MaxServerToServerBytesPerSecond": 0,
"VerifyChecksum": True,
"FileExistsAction": 0,
"Active": True,
}
response = requests.post(
"http://localhost:29123/fastrsettings/insert",
params={"token": "EXAMPLE_TOKEN"},
json=payload,
)
print(response.json())
C#
using var client = new HttpClient();
var payload = new
{
CloudAccountId = "00000000-0000-0000-0000-000000000000",
UserId = "00000000-0000-0000-0000-000000000000",
AccountId = "00000000-0000-0000-0000-000000000000",
MaxUploadBytesPerSecond = 0L,
MaxDownloadBytesPerSecond = 0L,
MaxServerToServerBytesPerSecond = 0L,
VerifyChecksum = true,
FileExistsAction = 0,
Active = true
};

var res = await client.PostAsJsonAsync(
"http://localhost:29123/fastrsettings/insert?token=EXAMPLE_TOKEN", payload);
Console.WriteLine(await res.Content.ReadAsStringAsync());

For error handling, see Error Model.