Every route: client.API
Generated from the Go SDK (sdk/go/api_generated.go, made from the API spec): all 118 routes of the Huudis API, one method each. Path parameters are arguments, then an *<Method>Args with the query and body fields (optional ones are pointers — huudis.Ptr(v); Body passes the whole JSON body). Each returns the response's data as json.RawMessage, or an *huudis.Error with the API's error code. The typed admin resources (client.IAM, client.Workspaces, …) on the other Go SDK pages remain; client.API covers every route.
"Credential" is what the route takes: a signed-in person's bearer token (ClientOptions.Token or a per-call RequestAuth), an IAM access key (ClientOptions.AccessKeyID + SecretAccessKey; the key's user's policies must allow the action shown), or your OIDC app's client credentials (ClientOptions.ClientID + ClientSecret). The client picks it per route — see API authentication.
import huudis "github.com/hachimi-cat/huudis-go"
// HUUDIS_ISSUER + HUUDIS_TOKEN, or HUUDIS_ACCESS_KEY_ID + HUUDIS_SECRET_ACCESS_KEY
c, err := huudis.NewClient(huudis.ClientOptions{})
users, err := c.API.IamUsers(ctx)
Access keys
| Method | Route | Credential | What it does |
|---|---|---|---|
IamAccessKeys(ctx context.Context, p *IamAccessKeysArgs) |
GET /api/v1/iam/access-keys |
token, or access key (huudis:ListAccessKeys) |
List access keys. |
IamCreateAccessKeys(ctx context.Context, p *IamCreateAccessKeysArgs) |
POST /api/v1/iam/access-keys |
token only | Create an access key. |
IamDeleteAccessKeys(ctx context.Context, id string) |
DELETE /api/v1/iam/access-keys/{id} |
token only | Delete an access key. |
IamAccessKeysRevoke(ctx context.Context, id string) |
POST /api/v1/iam/access-keys/{id}/revoke |
token only | Revoke an access key. |
Groups
| Method | Route | Credential | What it does |
|---|---|---|---|
IamGroups(ctx context.Context) |
GET /api/v1/iam/groups |
token, or access key (huudis:ListGroups) |
List groups. |
IamCreateGroups(ctx context.Context, p *IamCreateGroupsArgs) |
POST /api/v1/iam/groups |
token, or access key (huudis:CreateGroup) |
Create a group. |
IamDeleteGroups(ctx context.Context, id string) |
DELETE /api/v1/iam/groups/{id} |
token, or access key (huudis:DeleteGroup) |
Delete a group. |
IamGetGroups(ctx context.Context, id string) |
GET /api/v1/iam/groups/{id} |
token, or access key (huudis:GetGroup) |
Get a group. |
IamCreateGroupsMembers(ctx context.Context, id string, p *IamCreateGroupsMembersArgs) |
POST /api/v1/iam/groups/{id}/members |
token, or access key (huudis:AddGroupMember) |
Members a group. |
IamDeleteGroupsMembers(ctx context.Context, id string, userID string) |
DELETE /api/v1/iam/groups/{id}/members/{userId} |
token, or access key (huudis:RemoveGroupMember) |
Delete a member. |
Identity providers
| Method | Route | Credential | What it does |
|---|---|---|---|
IamIdentityProviders(ctx context.Context) |
GET /api/v1/iam/identity-providers |
token, or access key (huudis:ListIdentityProviders) |
List identity providers. |
IamCreateIdentityProviders(ctx context.Context, p *IamCreateIdentityProvidersArgs) |
POST /api/v1/iam/identity-providers |
token, or access key (huudis:CreateIdentityProvider) |
Create an identity provider. |
IamDeleteIdentityProviders(ctx context.Context, id string) |
DELETE /api/v1/iam/identity-providers/{id} |
token, or access key (huudis:DeleteIdentityProvider) |
Delete an identity provider. |
IamUpdateIdentityProviders(ctx context.Context, id string, p *IamUpdateIdentityProvidersArgs) |
PATCH /api/v1/iam/identity-providers/{id} |
token, or access key (huudis:UpdateIdentityProvider) |
Update an identity provider. |
Policies
| Method | Route | Credential | What it does |
|---|---|---|---|
AuthzCheck(ctx context.Context, p *AuthzCheckArgs) |
POST /api/v1/authz/check |
token, or any access key | Create a check. |
IamPolicies(ctx context.Context) |
GET /api/v1/iam/policies |
token, or access key (huudis:ListPolicies) |
List policies. |
IamCreatePolicies(ctx context.Context, p *IamCreatePoliciesArgs) |
POST /api/v1/iam/policies |
token, or access key (huudis:CreatePolicy) |
Create a policy. |
IamDeletePolicies(ctx context.Context, id string) |
DELETE /api/v1/iam/policies/{id} |
token, or access key (huudis:DeletePolicy) |
Delete a policy. |
IamGetPolicies(ctx context.Context, id string) |
GET /api/v1/iam/policies/{id} |
token, or access key (huudis:GetPolicy) |
Get a policy. |
IamUpdatePolicies(ctx context.Context, id string, p *IamUpdatePoliciesArgs) |
PATCH /api/v1/iam/policies/{id} |
token, or access key (huudis:UpdatePolicy) |
Update a policy. |
IamPolicyAttachments(ctx context.Context, p *IamPolicyAttachmentsArgs) |
GET /api/v1/iam/policy-attachments |
token, or access key (huudis:ListPolicyAttachments) |
List policy attachments. |
IamCreatePolicyAttachments(ctx context.Context, p *IamCreatePolicyAttachmentsArgs) |
POST /api/v1/iam/policy-attachments |
token, or access key (huudis:AttachPolicy) |
Create a policy attachment. |
IamDeletePolicyAttachments(ctx context.Context, id string) |
DELETE /api/v1/iam/policy-attachments/{id} |
token, or access key (huudis:DetachPolicy) |
Delete a policy attachment. |
Roles
| Method | Route | Credential | What it does |
|---|---|---|---|
AuthzAssumeRole(ctx context.Context, p *AuthzAssumeRoleArgs) |
POST /api/v1/authz/assume-role |
token, or any access key | Create an assume role. |
IamAssumedSessions(ctx context.Context) |
GET /api/v1/iam/assumed-sessions |
token, or access key (huudis:ListAssumedSessions) |
List assumed sessions. |
IamAssumedSessionsRevoke(ctx context.Context, id string) |
POST /api/v1/iam/assumed-sessions/{id}/revoke |
token, or access key (huudis:RevokeAssumedSession) |
Revoke an assumed session. |
IamRoles(ctx context.Context) |
GET /api/v1/iam/roles |
token, or access key (huudis:ListRoles) |
List roles. |
IamCreateRoles(ctx context.Context, p *IamCreateRolesArgs) |
POST /api/v1/iam/roles |
token, or access key (huudis:CreateRole) |
Create a role. |
IamDeleteRoles(ctx context.Context, id string) |
DELETE /api/v1/iam/roles/{id} |
token, or access key (huudis:DeleteRole) |
Delete a role. |
IamGetRoles(ctx context.Context, id string) |
GET /api/v1/iam/roles/{id} |
token, or access key (huudis:GetRole) |
Get a role. |
Service accounts
| Method | Route | Credential | What it does |
|---|---|---|---|
IamServiceAccounts(ctx context.Context) |
GET /api/v1/iam/service-accounts |
token, or access key (huudis:ListServiceAccounts) |
List service accounts. |
IamCreateServiceAccounts(ctx context.Context, p *IamCreateServiceAccountsArgs) |
POST /api/v1/iam/service-accounts |
token, or access key (huudis:CreateServiceAccount) |
Create a service account. |
IamDeleteServiceAccounts(ctx context.Context, id string) |
DELETE /api/v1/iam/service-accounts/{id} |
token, or access key (huudis:DeleteServiceAccount) |
Delete a service account. |
IamGetServiceAccounts(ctx context.Context, id string) |
GET /api/v1/iam/service-accounts/{id} |
token, or access key (huudis:GetServiceAccount) |
Get a service account. |
Users
| Method | Route | Credential | What it does |
|---|---|---|---|
IamInvites(ctx context.Context) |
GET /api/v1/iam/invites |
token, or access key (huudis:ListInvites) |
List invites. |
IamCreateInvites(ctx context.Context, p *IamCreateInvitesArgs) |
POST /api/v1/iam/invites |
token, or access key (huudis:InviteMember) |
Create an invite. |
IamDeleteInvites(ctx context.Context, id string) |
DELETE /api/v1/iam/invites/{id} |
token, or access key (huudis:DeleteInvite) |
Delete an invite. |
IamKeyActions(ctx context.Context, p *IamKeyActionsArgs) |
GET /api/v1/iam/key-actions |
token, or access key (huudis:ListKeyActions) |
List key actions. |
IamKeyActionsUndo(ctx context.Context, id string, p *IamKeyActionsUndoArgs) |
POST /api/v1/iam/key-actions/{id}/undo |
token only | Undo a key action. |
IamKeyRequests(ctx context.Context, p *IamKeyRequestsArgs) |
GET /api/v1/iam/key-requests |
token, or access key (huudis:ListKeyRequests) |
List key requests. |
IamGetKeyRequests(ctx context.Context, id string) |
GET /api/v1/iam/key-requests/{id} |
token, or access key (huudis:GetKeyRequest) |
Get a key request. |
IamKeyRequestsApprove(ctx context.Context, id string, p *IamKeyRequestsApproveArgs) |
POST /api/v1/iam/key-requests/{id}/approve |
token only | Approve a key request with the code from its challenge. |
IamKeyRequestsChallenge(ctx context.Context, id string) |
POST /api/v1/iam/key-requests/{id}/challenge |
token only | Start approving a key request: a second-factor challenge for the signed-in owner (an emailed code is sent when they have an email factor). |
IamKeyRequestsDeny(ctx context.Context, id string) |
POST /api/v1/iam/key-requests/{id}/deny |
token only | Deny a key request. |
IamUsers(ctx context.Context) |
GET /api/v1/iam/users |
token, or access key (huudis:ListUsers) |
List users. |
IamCreateUsers(ctx context.Context, p *IamCreateUsersArgs) |
POST /api/v1/iam/users |
token, or access key (huudis:AddMember) |
Create an user. |
IamDeleteUsers(ctx context.Context, id string) |
DELETE /api/v1/iam/users/{id} |
token, or access key (huudis:RemoveMember) |
Delete an user. |
IamUpdateUsers(ctx context.Context, id string, p *IamUpdateUsersArgs) |
PATCH /api/v1/iam/users/{id} |
token, or access key (huudis:UpdateMember) |
Update an user. |
IamUsersResetPassword(ctx context.Context, id string) |
POST /api/v1/iam/users/{id}/reset-password |
token, or access key (huudis:ResetMemberPassword) |
Reset password an user. |
Webhook subscriptions
| Method | Route | Credential | What it does |
|---|---|---|---|
AccountWebhookSubscriptions(ctx context.Context) |
GET /api/v1/account/webhook-subscriptions |
token, or access key (huudis:ListWebhookSubscriptions) |
List webhook subscriptions. |
AccountCreateWebhookSubscriptions(ctx context.Context, p *AccountCreateWebhookSubscriptionsArgs) |
POST /api/v1/account/webhook-subscriptions |
token, or access key (huudis:CreateWebhookSubscription) |
Create a webhook subscription. |
AccountDeleteWebhookSubscriptions(ctx context.Context, id string) |
DELETE /api/v1/account/webhook-subscriptions/{id} |
token, or access key (huudis:DeleteWebhookSubscription) |
Delete a webhook subscription. |
AccountGetWebhookSubscriptions(ctx context.Context, id string) |
GET /api/v1/account/webhook-subscriptions/{id} |
token, or access key (huudis:GetWebhookSubscription) |
Get a webhook subscription. |
AccountUpdateWebhookSubscriptions(ctx context.Context, id string, p *AccountUpdateWebhookSubscriptionsArgs) |
PATCH /api/v1/account/webhook-subscriptions/{id} |
token, or access key (huudis:UpdateWebhookSubscription) |
Update a webhook subscription. |
AccountWebhookSubscriptionsDeliveries(ctx context.Context, id string, p *AccountWebhookSubscriptionsDeliveriesArgs) |
GET /api/v1/account/webhook-subscriptions/{id}/deliveries |
token, or access key (huudis:ListWebhookDeliveries) |
List deliveries. |
AccountWebhookSubscriptionsRotateSecret(ctx context.Context, id string) |
POST /api/v1/account/webhook-subscriptions/{id}/rotate-secret |
token, or access key (huudis:RotateWebhookSecret) |
Rotate secret a webhook subscription. |
AccountWebhookSubscriptionsDeliveriesReplay(ctx context.Context, id string) |
POST /api/v1/account/webhook-subscriptions/deliveries/{id}/replay |
token, or access key (huudis:ReplayWebhookDelivery) |
Replay a delivery. |
AccountWebhookSubscriptionsEventsCatalog(ctx context.Context) |
GET /api/v1/account/webhook-subscriptions/events/catalog |
token, or access key (huudis:ListWebhookEvents) |
List catalog. |
Workspaces
| Method | Route | Credential | What it does |
|---|---|---|---|
AccountWorkspaces(ctx context.Context) |
GET /api/v1/account/workspaces |
token, or access key (huudis:ListWorkspaces) |
List workspaces. |
AccountCreateWorkspaces(ctx context.Context, p *AccountCreateWorkspacesArgs) |
POST /api/v1/account/workspaces |
token, or access key (huudis:CreateWorkspace) |
Create a workspace. |
AccountUpdateWorkspaces(ctx context.Context, id string, p *AccountUpdateWorkspacesArgs) |
PATCH /api/v1/account/workspaces/{id} |
token, or access key (huudis:UpdateWorkspace) |
Update a workspace. |
AccountWorkspacesCancelDeletion(ctx context.Context, id string) |
POST /api/v1/account/workspaces/{id}/cancel-deletion |
token only | Cancel deletion a workspace. |
AccountWorkspacesMembers(ctx context.Context, id string) |
GET /api/v1/account/workspaces/{id}/members |
token, or access key (huudis:ListWorkspaceMembers) |
Additive, read-only. |
AccountWorkspacesScheduleDeletion(ctx context.Context, id string) |
POST /api/v1/account/workspaces/{id}/schedule-deletion |
token only | Owner-only soft-delete: stamps a 30-day grace marker on the workspace. |
AccountWorkspacesSwitch(ctx context.Context, id string) |
POST /api/v1/account/workspaces/{id}/switch |
token only | Switch a workspace. |
OIDC clients
| Method | Route | Credential | What it does |
|---|---|---|---|
OidcClients(ctx context.Context) |
GET /api/v1/oidc/clients |
token, or access key (huudis:ListOidcClients) |
List clients. |
OidcCreateClients(ctx context.Context, p *OidcCreateClientsArgs) |
POST /api/v1/oidc/clients |
token, or access key (huudis:CreateOidcClient) |
Create a client. |
OidcDeleteClients(ctx context.Context, id string) |
DELETE /api/v1/oidc/clients/{id} |
token, or access key (huudis:DeleteOidcClient) |
Delete a client. |
OidcUpdateClients(ctx context.Context, id string, p *OidcUpdateClientsArgs) |
PATCH /api/v1/oidc/clients/{id} |
token, or access key (huudis:UpdateOidcClient) |
Update a client. |
OidcClientsRotateSecret(ctx context.Context, id string) |
POST /api/v1/oidc/clients/{id}/rotate-secret |
token, or access key (huudis:RotateOidcClientSecret) |
Rotate secret a client. |
MFA
| Method | Route | Credential | What it does |
|---|---|---|---|
MfaChallenge(ctx context.Context, p *MfaChallengeArgs) |
GET /api/v1/mfa/challenge |
token only | Read-only — lets the standalone /mfa page render the right input (authenticator vs. emailed code) regardless of which flow created the challenge. |
MfaDevices(ctx context.Context) |
GET /api/v1/mfa/devices |
token only | List devices. |
MfaDeleteDevices(ctx context.Context, id string) |
DELETE /api/v1/mfa/devices/{id} |
token only | Delete a device. |
MfaEnroll(ctx context.Context, p *MfaEnrollArgs) |
POST /api/v1/mfa/enroll |
token only | Create an enroll. |
MfaResendCode(ctx context.Context, p *MfaResendCodeArgs) |
POST /api/v1/mfa/resend-code |
token only | Create a resend code. |
MfaResendEnrollmentCode(ctx context.Context, p *MfaResendEnrollmentCodeArgs) |
POST /api/v1/mfa/resend-enrollment-code |
token only | Create a resend enrollment code. |
MfaVerifyEnrollment(ctx context.Context, p *MfaVerifyEnrollmentArgs) |
POST /api/v1/mfa/verify-enrollment |
token only | Create a verify enrollment. |
MfaVerifyLogin(ctx context.Context, p *MfaVerifyLoginArgs) |
POST /api/v1/mfa/verify-login |
token only | Create a verify login. |
End users
| Method | Route | Credential | What it does |
|---|---|---|---|
AppOverview(ctx context.Context) |
GET /api/v1/app/overview |
OIDC client credentials | One row per OIDC client that has ever minted a refresh token: distinct users, 30-day signups, last signup + last activity. |
AppStats(ctx context.Context, p *AppStatsArgs) |
GET /api/v1/app/stats |
OIDC client credentials | List stats. |
AppUsers(ctx context.Context, p *AppUsersArgs) |
GET /api/v1/app/users |
OIDC client credentials | List users. |
AppWorkspaces(ctx context.Context, p *AppWorkspacesArgs) |
GET /api/v1/app/workspaces |
OIDC client credentials | List workspaces. |
OpsEndUsers(ctx context.Context) |
GET /api/v1/ops/end-users |
token, or access key (huudis:ListEndUsers) |
Workspace-scoped directory of end-users — people who have consented to an OIDC client owned by the active workspace. |
OpsGetEndUsers(ctx context.Context, id string) |
GET /api/v1/ops/end-users/{id} |
token, or access key (huudis:GetEndUser) |
Get an end user. |
OpsEndUsersImpersonate(ctx context.Context, id string, p *OpsEndUsersImpersonateArgs) |
POST /api/v1/ops/end-users/{id}/impersonate |
token only | Impersonate an end user. |
OpsEndUsersRevoke(ctx context.Context, id string) |
POST /api/v1/ops/end-users/{id}/revoke |
token, or access key (huudis:RevokeEndUser) |
Revoke an end user. |
OpsEndUsersSendPasswordReset(ctx context.Context, id string) |
POST /api/v1/ops/end-users/{id}/send-password-reset |
token, or access key (huudis:SendEndUserPasswordReset) |
Send password reset an end user. |
OpsEndUsersVerifyEmail(ctx context.Context, id string) |
POST /api/v1/ops/end-users/{id}/verify-email |
token only | Verify email an end user. |
OpsEndUsersStopImpersonation(ctx context.Context) |
POST /api/v1/ops/end-users/stop-impersonation |
token only | Create a stop impersonation. |
Account
| Method | Route | Credential | What it does |
|---|---|---|---|
AccountDelete(ctx context.Context, p *AccountDeleteArgs) |
DELETE /api/v1/account |
token only | Delete account. |
AccountList(ctx context.Context) |
GET /api/v1/account |
token, or access key (huudis:GetAccount) |
List account. |
AccountUpdate(ctx context.Context, p *AccountUpdateArgs) |
PATCH /api/v1/account |
token, or access key (huudis:UpdateAccount) |
Update account. |
AccountAudit(ctx context.Context, p *AccountAuditArgs) |
GET /api/v1/account/audit |
token, or access key (huudis:ListAuditEvents) |
List audit. |
AccountBilling(ctx context.Context) |
GET /api/v1/account/billing |
token, or access key (huudis:GetSubscription) |
/billing surface for the Huudis dashboard. |
AccountBillingCancel(ctx context.Context) |
POST /api/v1/account/billing/cancel |
token, or access key (huudis:CancelSubscription) |
Create a cancel. |
AccountBillingCheckout(ctx context.Context, p *AccountBillingCheckoutArgs) |
POST /api/v1/account/billing/checkout |
token, or access key (huudis:CreateCheckout) |
Create a checkout. |
AccountBillingInvoices(ctx context.Context) |
GET /api/v1/account/billing/invoices |
token, or access key (huudis:ListInvoices) |
List invoices. |
AccountBillingPlans(ctx context.Context) |
GET /api/v1/account/billing/plans |
token, or access key (huudis:ListPlans) |
Public to authenticated sessions — no account scope needed since every user sees the same plans. |
AccountBillingUsage(ctx context.Context) |
GET /api/v1/account/billing/usage |
token, or access key (huudis:GetUsage) |
List usage. |
AccountCancelDeletion(ctx context.Context) |
POST /api/v1/account/cancel-deletion |
token only | Create a cancel deletion. |
AccountConnectedApps(ctx context.Context) |
GET /api/v1/account/connected-apps |
token, or access key (huudis:ListConnectedApps) |
Signal = RefreshToken, not OidcConsent. |
AccountConnectedAppsRevoke(ctx context.Context, clientID string) |
POST /api/v1/account/connected-apps/{clientId}/revoke |
token only | Revoke every live refresh-token family this user holds for the client. |
AccountDeleteConnectedApps(ctx context.Context, id string) |
DELETE /api/v1/account/connected-apps/{id} |
token only | Legacy consent-id path. |
AccountEmailChange(ctx context.Context, p *AccountEmailChangeArgs) |
POST /api/v1/account/email-change |
token only | Create an email change. |
AccountLinkedAccounts(ctx context.Context) |
GET /api/v1/account/linked-accounts |
token only | List linked accounts. |
AccountDeleteLinkedAccounts(ctx context.Context, provider string) |
DELETE /api/v1/account/linked-accounts/{provider} |
token only | Delete a linked account. |
AccountPasswordChange(ctx context.Context, p *AccountPasswordChangeArgs) |
POST /api/v1/account/password-change |
token only | Create a password change. |
AccountScheduleDeletion(ctx context.Context, p *AccountScheduleDeletionArgs) |
POST /api/v1/account/schedule-deletion |
token only | Self-serve soft-delete: stamps a 30-day grace marker. |
AccountServices(ctx context.Context) |
GET /api/v1/account/services |
token, or access key (huudis:ListServices) |
List services. |
AccountServicesDisable(ctx context.Context, p *AccountServicesDisableArgs) |
POST /api/v1/account/services/disable |
token, or access key (huudis:DisableService) |
Create a disable. |
AccountServicesEnable(ctx context.Context, p *AccountServicesEnableArgs) |
POST /api/v1/account/services/enable |
token, or access key (huudis:EnableService) |
Create an enable. |
AccountSessions(ctx context.Context) |
GET /api/v1/account/sessions |
token only | List sessions. |
AccountSessionsRevoke(ctx context.Context, id string) |
POST /api/v1/account/sessions/{id}/revoke |
token only | Revoke a session. |
AccountSessionsRevokeAll(ctx context.Context) |
POST /api/v1/account/sessions/revoke-all |
token only | Create a revoke all. |
AccountSocialProviders(ctx context.Context) |
GET /api/v1/account/social-providers |
token, or access key (huudis:ListSocialProviders) |
List social providers. |
AccountDeleteSocialProviders(ctx context.Context, provider string) |
DELETE /api/v1/account/social-providers/{provider} |
token, or access key (huudis:DeleteSocialProvider) |
Delete a social provider. |
AccountSetSocialProviders(ctx context.Context, provider string, p *AccountSetSocialProvidersArgs) |
PUT /api/v1/account/social-providers/{provider} |
token, or access key (huudis:PutSocialProvider) |
Replace a social provider. |
AuthzWhoami(ctx context.Context) |
GET /api/v1/authz/whoami |
token, or access key (huudis:GetCallerIdentity) |
Session-auth health ping so dashboard can verify reachability. |
The request and response fields of every route: API reference.