Pre-release. HostCraft is in testing and not yet for sale. These docs describe the current build and may change. Join the waitlist to hear when it launches.
Reseller API
Source: daemon/proto/hostcraft/v1/reseller.proto
ResellerService
Section titled “ResellerService”ResellerService manages reseller pools, their resource ceilings and their logins. REST: /api/v1/resellers.
| Method | REST route | Permission | Streaming |
|---|---|---|---|
ListResellers |
GET /api/v1/resellers |
ResellerRead |
unary |
CreateReseller |
POST /api/v1/resellers |
ResellerCreate |
unary |
GetReseller |
GET /api/v1/resellers/{id} |
ResellerRead |
unary |
UpdateReseller |
PATCH /api/v1/resellers/{id} |
ResellerUpdate |
unary |
DeleteReseller |
DELETE /api/v1/resellers/{id} |
ResellerDelete |
unary |
SuspendReseller |
POST /api/v1/resellers/{id}/suspend |
ResellerSuspend |
unary |
UnsuspendReseller |
POST /api/v1/resellers/{id}/unsuspend |
ResellerSuspend |
unary |
ListResellerLogins |
GET /api/v1/resellers/{id}/logins |
ResellerRead |
unary |
CreateResellerLogin |
POST /api/v1/resellers/{id}/logins |
ResellerCreate |
unary |
DeleteResellerLogin |
DELETE /api/v1/resellers/{id}/logins/{user_id} |
ResellerDelete |
unary |
ListResellers
Section titled “ListResellers”/hostcraft.v1.ResellerService/ListResellers
- Request: ListResellersRequest
- Response: ListResellersResponse
CreateReseller
Section titled “CreateReseller”/hostcraft.v1.ResellerService/CreateReseller
- Request: CreateResellerRequest
- Response: ResellerResponse
GetReseller
Section titled “GetReseller”/hostcraft.v1.ResellerService/GetReseller
- Request: GetResellerRequest
- Response: ResellerResponse
UpdateReseller
Section titled “UpdateReseller”/hostcraft.v1.ResellerService/UpdateReseller
- Request: UpdateResellerRequest
- Response: ResellerResponse
DeleteReseller
Section titled “DeleteReseller”/hostcraft.v1.ResellerService/DeleteReseller
- Request: DeleteResellerRequest
- Response: Empty
SuspendReseller
Section titled “SuspendReseller”/hostcraft.v1.ResellerService/SuspendReseller
- Request: SuspendResellerRequest
- Response: ResellerWorkflowResponse
UnsuspendReseller
Section titled “UnsuspendReseller”/hostcraft.v1.ResellerService/UnsuspendReseller
- Request: UnsuspendResellerRequest
- Response: ResellerWorkflowResponse
ListResellerLogins
Section titled “ListResellerLogins”/hostcraft.v1.ResellerService/ListResellerLogins
- Request: ListResellerLoginsRequest
- Response: ListResellerLoginsResponse
CreateResellerLogin
Section titled “CreateResellerLogin”/hostcraft.v1.ResellerService/CreateResellerLogin
- Request: CreateResellerLoginRequest
- Response: CreateResellerLoginResponse
DeleteResellerLogin
Section titled “DeleteResellerLogin”/hostcraft.v1.ResellerService/DeleteResellerLogin
- Request: DeleteResellerLoginRequest
- Response: Empty
Messages
Section titled “Messages”CreateResellerLoginRequest
Section titled “CreateResellerLoginRequest”| Field | Type | Number | Description |
|---|---|---|---|
id |
string |
1 | - |
email |
string |
2 | - |
display_name |
string |
3 | - |
password |
string |
4 | - |
CreateResellerLoginResponse
Section titled “CreateResellerLoginResponse”| Field | Type | Number | Description |
|---|---|---|---|
user_id |
string |
1 | - |
CreateResellerRequest
Section titled “CreateResellerRequest”| Field | Type | Number | Description |
|---|---|---|---|
id |
string |
1 | - |
name |
string |
2 | - |
email |
string |
3 | - |
ceiling |
ResellerCeiling |
4 | - |
login |
ResellerLoginInput |
5 | optional first login |
DeleteResellerLoginRequest
Section titled “DeleteResellerLoginRequest”| Field | Type | Number | Description |
|---|---|---|---|
id |
string |
1 | - |
user_id |
string |
2 | - |
DeleteResellerRequest
Section titled “DeleteResellerRequest”| Field | Type | Number | Description |
|---|---|---|---|
id |
string |
1 | - |
Empty is returned by RPCs whose REST route answers with an empty object or 204 No Content.
No fields.
GetResellerRequest
Section titled “GetResellerRequest”| Field | Type | Number | Description |
|---|---|---|---|
id |
string |
1 | - |
ListResellerLoginsRequest
Section titled “ListResellerLoginsRequest”| Field | Type | Number | Description |
|---|---|---|---|
id |
string |
1 | - |
ListResellerLoginsResponse
Section titled “ListResellerLoginsResponse”| Field | Type | Number | Description |
|---|---|---|---|
logins |
repeated ResellerLogin |
1 | - |
ListResellersRequest
Section titled “ListResellersRequest”No fields.
ListResellersResponse
Section titled “ListResellersResponse”| Field | Type | Number | Description |
|---|---|---|---|
resellers |
repeated Reseller |
1 | - |
Reseller
Section titled “Reseller”| Field | Type | Number | Description |
|---|---|---|---|
id |
string |
1 | - |
name |
string |
2 | - |
email |
string |
3 | - |
status |
string |
4 | - |
suspension_reason |
string |
5 | - |
suspended_at |
google.protobuf.Timestamp |
6 | - |
ceiling |
ResellerCeiling |
7 | - |
usage |
ResellerUsage |
8 | - |
created_at |
google.protobuf.Timestamp |
9 | - |
updated_at |
google.protobuf.Timestamp |
10 | - |
ResellerCeiling
Section titled “ResellerCeiling”| Field | Type | Number | Description |
|---|---|---|---|
max_accounts |
int64 |
1 | - |
disk_quota_bytes |
int64 |
2 | - |
bandwidth_quota_bytes |
int64 |
3 | - |
max_sites |
int64 |
4 | - |
max_mailboxes |
int64 |
5 | - |
max_databases |
int64 |
6 | - |
max_subdomains |
int64 |
7 | - |
max_addon_domains |
int64 |
8 | - |
ResellerLogin
Section titled “ResellerLogin”| Field | Type | Number | Description |
|---|---|---|---|
user_id |
string |
1 | - |
email |
string |
2 | - |
display_name |
string |
3 | - |
created_at |
string |
4 | - |
last_seen_at |
google.protobuf.Timestamp |
5 | - |
disabled |
bool |
6 | - |
ResellerLoginInput
Section titled “ResellerLoginInput”| Field | Type | Number | Description |
|---|---|---|---|
email |
string |
1 | - |
display_name |
string |
2 | - |
password |
string |
3 | - |
ResellerResponse
Section titled “ResellerResponse”| Field | Type | Number | Description |
|---|---|---|---|
reseller |
Reseller |
1 | - |
ResellerUsage
Section titled “ResellerUsage”| Field | Type | Number | Description |
|---|---|---|---|
accounts |
int64 |
1 | - |
disk_quota_bytes |
int64 |
2 | - |
bandwidth_quota_bytes |
int64 |
3 | - |
max_sites |
int64 |
4 | - |
max_mailboxes |
int64 |
5 | - |
max_databases |
int64 |
6 | - |
max_subdomains |
int64 |
7 | - |
max_addon_domains |
int64 |
8 | - |
unlimited |
map<string, int64> |
9 | limit name -> accounts with no cap |
ResellerWorkflowResponse
Section titled “ResellerWorkflowResponse”| Field | Type | Number | Description |
|---|---|---|---|
reseller |
Reseller |
1 | - |
workflow_id |
string |
2 | empty when already in the requested state |
SuspendResellerRequest
Section titled “SuspendResellerRequest”| Field | Type | Number | Description |
|---|---|---|---|
id |
string |
1 | - |
reason |
string |
2 | - |
suspend_accounts |
bool |
3 | - |
UnsuspendResellerRequest
Section titled “UnsuspendResellerRequest”| Field | Type | Number | Description |
|---|---|---|---|
id |
string |
1 | - |
UpdateResellerRequest
Section titled “UpdateResellerRequest”| Field | Type | Number | Description |
|---|---|---|---|
id |
string |
1 | - |
name |
optional string |
2 | - |
email |
optional string |
3 | - |
ceiling |
ResellerCeiling |
4 | needs ResellerCreate as well |