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.

Huudis Docs · Every route (client.API) — Go SDK | Huudis