accountsapi

package
v0.50.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 8, 2026 License: Apache-2.0 Imports: 1 Imported by: 0

Documentation

Overview

Package accountsapi holds Go data models for the ivcap-accounts HTTP API, generated from the OpenAPI spec ivcap-id publishes at https://id.<domain>/openapi.json (the Goa designs are the source of truth). Do not edit models.gen.go by hand.

The spec is vendored here as openapi.json (refresh with `make sync-specs`); regenerate the models with `make gen`. Keep the oapi-codegen version in step with OAPI_CODEGEN_VERSION in the Makefile.

Package accountsapi provides primitives to interact with the openapi HTTP API.

Code generated by github.com/oapi-codegen/oapi-codegen/v2 version v2.8.0 DO NOT EDIT.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Account

type Account struct {
	// Id Account URN
	Id string `json:"id"`

	// Kind personal | workspace
	Kind string `json:"kind"`

	// Name Display name
	Name string `json:"name"`
}

Account defines model for Account.

type AccountsAddAccountGrantJSONRequestBody

type AccountsAddAccountGrantJSONRequestBody = AddAccountGrantPayload

AccountsAddAccountGrantJSONRequestBody defines body for AccountsAddAccountGrant for application/json ContentType.

type AccountsAddDatasetGrantJSONRequestBody

type AccountsAddDatasetGrantJSONRequestBody = DatasetGrantPayload

AccountsAddDatasetGrantJSONRequestBody defines body for AccountsAddDatasetGrant for application/json ContentType.

type AccountsAddProjectGrantJSONRequestBody

type AccountsAddProjectGrantJSONRequestBody = AddProjectGrantPayload

AccountsAddProjectGrantJSONRequestBody defines body for AccountsAddProjectGrant for application/json ContentType.

type AccountsCreateAccountInvitationJSONRequestBody

type AccountsCreateAccountInvitationJSONRequestBody = CreateAccountInvitationPayload

AccountsCreateAccountInvitationJSONRequestBody defines body for AccountsCreateAccountInvitation for application/json ContentType.

type AccountsCreateAccountJSONRequestBody

type AccountsCreateAccountJSONRequestBody = CreateAccountPayload

AccountsCreateAccountJSONRequestBody defines body for AccountsCreateAccount for application/json ContentType.

type AccountsCreateDatasetJSONRequestBody

type AccountsCreateDatasetJSONRequestBody = CreateDatasetPayload

AccountsCreateDatasetJSONRequestBody defines body for AccountsCreateDataset for application/json ContentType.

type AccountsCreateInvitationJSONRequestBody

type AccountsCreateInvitationJSONRequestBody = CreateInvitationPayload

AccountsCreateInvitationJSONRequestBody defines body for AccountsCreateInvitation for application/json ContentType.

type AccountsCreateProjectJSONRequestBody

type AccountsCreateProjectJSONRequestBody = CreateProjectPayload

AccountsCreateProjectJSONRequestBody defines body for AccountsCreateProject for application/json ContentType.

type AccountsRemoveAccountGrantParams

type AccountsRemoveAccountGrantParams struct {
	// Capability Account capability to revoke
	Capability string `form:"capability" json:"capability"`
}

AccountsRemoveAccountGrantParams defines parameters for AccountsRemoveAccountGrant.

type AccountsRemoveDatasetGrantParams

type AccountsRemoveDatasetGrantParams struct {
	// GranteeKind project | service | public
	GranteeKind string `form:"grantee_kind" json:"grantee_kind"`

	// GranteeId Project URN or principal URN; omitted for public
	GranteeId *string `form:"grantee_id,omitempty" json:"grantee_id,omitempty"`

	// Access read | write (public is read only)
	Access string `form:"access" json:"access"`
}

AccountsRemoveDatasetGrantParams defines parameters for AccountsRemoveDatasetGrant.

type AccountsRemoveProjectGrantParams

type AccountsRemoveProjectGrantParams struct {
	// PrincipalKind user | service
	PrincipalKind string `form:"principal_kind" json:"principal_kind"`

	// Capability Project capability to revoke
	Capability string `form:"capability" json:"capability"`
}

AccountsRemoveProjectGrantParams defines parameters for AccountsRemoveProjectGrant.

type AccountsRemoveProjectMemberParams

type AccountsRemoveProjectMemberParams struct {
	// PrincipalKind user | service
	PrincipalKind string `form:"principal_kind" json:"principal_kind"`
}

AccountsRemoveProjectMemberParams defines parameters for AccountsRemoveProjectMember.

type AccountsUpdateDatasetJSONRequestBody

type AccountsUpdateDatasetJSONRequestBody = UpdateDatasetPayload

AccountsUpdateDatasetJSONRequestBody defines body for AccountsUpdateDataset for application/json ContentType.

type AccountsUpdateProjectJSONRequestBody

type AccountsUpdateProjectJSONRequestBody = UpdateProjectPayload

AccountsUpdateProjectJSONRequestBody defines body for AccountsUpdateProject for application/json ContentType.

type AddAccountGrantPayload

type AddAccountGrantPayload struct {
	// Capabilities Account capabilities: read, create_project, manage_members. The caller must hold each capability they grant.
	Capabilities []string `json:"capabilities"`

	// UserId User URN to grant capabilities to
	UserId string `json:"user_id"`
}

AddAccountGrantPayload Request body for add-account-grant.

type AddProjectGrantPayload

type AddProjectGrantPayload struct {
	// Capabilities Project capabilities: read, write, delete, add_user, remove_user, add_child_project. The caller must hold each capability they grant.
	Capabilities []string `json:"capabilities"`

	// PrincipalId Principal URN (for service: the m2m_clients.id, i.e. the session pseudonym)
	PrincipalId string `json:"principal_id"`

	// PrincipalKind user | service
	PrincipalKind string `json:"principal_kind"`
}

AddProjectGrantPayload Request body for add-project-grant.

type BadRequestT

type BadRequestT struct {
	// Message Error message
	Message string `json:"message"`
}

BadRequestT bad request

type CapabilitiesResult

type CapabilitiesResult struct {
	// Account Capabilities grantable on an account
	Account []Capability `json:"account"`

	// Project Capabilities grantable on a project
	Project []Capability `json:"project"`
}

CapabilitiesResult defines model for CapabilitiesResult.

type Capability

type Capability struct {
	// Description Human-readable description of what the capability allows
	Description *string `json:"description,omitempty"`

	// Name Capability name as used in grants and invitations
	Name string `json:"name"`
}

Capability defines model for Capability.

type ConflictT

type ConflictT struct {
	// Message Error message
	Message string `json:"message"`
}

ConflictT conflict

type CreateAccountInvitationPayload

type CreateAccountInvitationPayload struct {
	// Capabilities Elevated account capabilities to grant on accept (create_project, manage_members); omit for a read-only member. The inviter must hold each capability the invitation carries.
	Capabilities *[]string `json:"capabilities,omitempty"`

	// Email Invitee email address
	Email string `json:"email"`
}

CreateAccountInvitationPayload Request body for create-account-invitation.

type CreateAccountPayload

type CreateAccountPayload struct {
	// Name Display name for the new workspace account
	Name string `json:"name"`
}

CreateAccountPayload Request body for create-account.

type CreateDatasetPayload

type CreateDatasetPayload struct {
	// Description Description
	Description *string `json:"description,omitempty"`

	// Name Display name
	Name string `json:"name"`
}

CreateDatasetPayload Request body for create-dataset.

type CreateInvitationPayload

type CreateInvitationPayload struct {
	// Capabilities Project capabilities to grant on accept. The inviter must hold each capability the invitation carries.
	Capabilities []string `json:"capabilities"`

	// Email Invitee email address
	Email string `json:"email"`
}

CreateInvitationPayload Request body for create-invitation.

type CreateProjectPayload

type CreateProjectPayload struct {
	// AccountId Owning account URN. Optional when parent_id is given (defaults to the parent's account); required otherwise. When supplied it overrides the inherited account, and the caller must have can_create_project on it.
	AccountId *string `json:"account_id,omitempty"`

	// Name Display name for the new project
	Name string `json:"name"`

	// ParentId Optional parent project URN. The new project inherits this parent's account unless account_id overrides it. The caller must have can_add_child_project on the parent.
	ParentId *string `json:"parent_id,omitempty"`
}

CreateProjectPayload Request body for create-project.

type Dataset

type Dataset struct {
	// Capability Datafabric capability for this dataset's data, as a decimal uint64; pass it as can-read and can-retract
	Capability string `json:"capability"`

	// CreatedAt Creation time
	CreatedAt time.Time `json:"created_at"`

	// CreatedBy Creator URN (user or principal); absent if created by the platform
	CreatedBy *string `json:"created_by,omitempty"`

	// Default Whether this is the owning project's default dataset (same id as the project)
	Default bool `json:"default"`

	// Description Description
	Description string `json:"description"`

	// Id Dataset URN
	Id string `json:"id"`

	// Name Display name
	Name string `json:"name"`

	// ProjectId Owning project URN. The owner manages the dataset; access is by grant.
	ProjectId string `json:"project_id"`
}

Dataset defines model for Dataset.

type DatasetEvent

type DatasetEvent struct {
	// Access For grant and revoke: read | write
	Access *string `json:"access,omitempty"`

	// Action create | update | delete | grant | revoke
	Action string `json:"action"`

	// Actor Who made the change (user or principal URN); absent if the platform did
	Actor *string `json:"actor,omitempty"`

	// At When
	At time.Time `json:"at"`

	// GranteeId For grant and revoke: project or principal URN; absent for public
	GranteeId *string `json:"grantee_id,omitempty"`

	// GranteeKind For grant and revoke: project | service | public
	GranteeKind *string `json:"grantee_kind,omitempty"`
}

DatasetEvent defines model for DatasetEvent.

type DatasetGrant

type DatasetGrant struct {
	// Access read | write
	Access string `json:"access"`

	// GrantedAt Grant time
	GrantedAt time.Time `json:"granted_at"`

	// GrantedBy Granter URN (user or principal); absent if granted by the platform
	GrantedBy *string `json:"granted_by,omitempty"`

	// GranteeId Project or principal URN; absent for public
	GranteeId *string `json:"grantee_id,omitempty"`

	// GranteeKind project | service | public
	GranteeKind string `json:"grantee_kind"`
}

DatasetGrant defines model for DatasetGrant.

type DatasetGrantPayload

type DatasetGrantPayload struct {
	// Access read | write (public is read only)
	Access string `json:"access"`

	// GranteeId Project URN or principal URN; omitted for public
	GranteeId *string `json:"grantee_id,omitempty"`

	// GranteeKind project | service | public
	GranteeKind string `json:"grantee_kind"`
}

DatasetGrantPayload Request body for add-dataset-grant.

type ForbiddenT

type ForbiddenT struct {
	// Message Error message
	Message string `json:"message"`
}

ForbiddenT forbidden

type Invitation

type Invitation struct {
	// AccountId Account URN (set for account invitations)
	AccountId *string `json:"account_id,omitempty"`

	// Capabilities Capabilities the invite grants (project or account caps per kind)
	Capabilities []string `json:"capabilities"`

	// Email Invitee email (only on the inviter's create response / project listing)
	Email *string `json:"email,omitempty"`

	// ExpiresAt RFC3339 expiry
	ExpiresAt string `json:"expires_at"`

	// Id Invitation URN
	Id string `json:"id"`

	// Kind Invitation target kind: project | account
	Kind string `json:"kind"`

	// ProjectId Project URN (set for project invitations)
	ProjectId *string `json:"project_id,omitempty"`

	// Status pending | accepted | declined | revoked
	Status string `json:"status"`
}

Invitation defines model for Invitation.

type ListAccountsResult

type ListAccountsResult struct {
	Accounts []Account `json:"accounts"`
}

ListAccountsResult defines model for ListAccountsResult.

type ListDatasetEventsResult

type ListDatasetEventsResult struct {
	// Events Oldest first
	Events []DatasetEvent `json:"events"`
}

ListDatasetEventsResult defines model for ListDatasetEventsResult.

type ListDatasetGrantsResult

type ListDatasetGrantsResult struct {
	Grants []DatasetGrant `json:"grants"`
}

ListDatasetGrantsResult defines model for ListDatasetGrantsResult.

type ListInvitationsResult

type ListInvitationsResult struct {
	Invitations []Invitation `json:"invitations"`
}

ListInvitationsResult defines model for ListInvitationsResult.

type ListMembersResult

type ListMembersResult struct {
	Members []MemberProfile `json:"members"`
}

ListMembersResult defines model for ListMembersResult.

type ListProjectDatasetsResult

type ListProjectDatasetsResult struct {
	Datasets []ProjectDataset `json:"datasets"`
}

ListProjectDatasetsResult defines model for ListProjectDatasetsResult.

type ListProjectsResult

type ListProjectsResult struct {
	Projects []Project `json:"projects"`
}

ListProjectsResult defines model for ListProjectsResult.

type MemberProfile

type MemberProfile struct {
	// Capabilities Granted capabilities on the object (project or account grants)
	Capabilities []string `json:"capabilities"`

	// DisplayName Display name (empty if not available)
	DisplayName string `json:"display_name"`

	// Email Email (empty if not available or service principal)
	Email string `json:"email"`

	// Kind user | service
	Kind string `json:"kind"`

	// UserId Principal URN
	UserId string `json:"user_id"`
}

MemberProfile defines model for MemberProfile.

type NotFoundT

type NotFoundT struct {
	// Id Resource identifier
	Id *string `json:"id,omitempty"`

	// Message Error message
	Message string `json:"message"`
}

NotFoundT not found

type Project

type Project struct {
	// AccountId Owning account URN
	AccountId string `json:"account_id"`

	// Id Project URN
	Id string `json:"id"`

	// Kind personal | workspace
	Kind string `json:"kind"`

	// Name Display name
	Name string `json:"name"`

	// OwnerUserId Owner user URN (record of provenance)
	OwnerUserId string `json:"owner_user_id"`

	// ParentId Parent project URN, if any
	ParentId *string `json:"parent_id,omitempty"`
}

Project defines model for Project.

type ProjectDataset

type ProjectDataset struct {
	// Access Access granted to the project: read, write
	Access []string `json:"access"`

	// Capability Datafabric capability for this dataset's data, as a decimal uint64; pass it as can-read and can-retract
	Capability string `json:"capability"`

	// CreatedAt Creation time
	CreatedAt time.Time `json:"created_at"`

	// CreatedBy Creator URN (user or principal); absent if created by the platform
	CreatedBy *string `json:"created_by,omitempty"`

	// Default Whether this is the owning project's default dataset (same id as the project)
	Default bool `json:"default"`

	// Description Description
	Description string `json:"description"`

	// Id Dataset URN
	Id string `json:"id"`

	// Name Display name
	Name string `json:"name"`

	// Owned Whether the project owns the dataset
	Owned bool `json:"owned"`

	// ProjectId Owning project URN. The owner manages the dataset; access is by grant.
	ProjectId string `json:"project_id"`
}

ProjectDataset defines model for ProjectDataset.

type UnauthorizedT

type UnauthorizedT struct {
	// Message Error message
	Message string `json:"message"`
}

UnauthorizedT not authorized

type UpdateDatasetPayload

type UpdateDatasetPayload struct {
	// Description New description
	Description *string `json:"description,omitempty"`

	// Name New display name
	Name *string `json:"name,omitempty"`
}

UpdateDatasetPayload Request body for update-dataset.

type UpdateProjectPayload

type UpdateProjectPayload struct {
	// Name New display name
	Name string `json:"name"`
}

UpdateProjectPayload Request body for update-project.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL