export type Application = { readonly guid: string readonly organization: Reference readonly name: string readonly key: string readonly visibility: Visibility readonly description?: string readonly last_updated_at: string readonly audit: Audit } export type ApplicationForm = { readonly name: string readonly key?: string readonly description?: string readonly visibility: Visibility } export type ApplicationMetadata = { readonly guid: string readonly key: string } export type ApplicationMetadataVersion = { readonly version: string } export type ApplicationSummary = { readonly guid: string readonly organization: Reference readonly key: string } export type Attribute = { readonly guid: string readonly name: string readonly description?: string readonly audit: Audit } export type AttributeForm = { readonly name: string readonly description?: string } export type AttributeSummary = { readonly guid: string readonly name: string } export type AttributeValue = { readonly guid: string readonly attribute: AttributeSummary readonly value: string readonly audit: Audit } export type AttributeValueForm = { readonly value: string } export type Authentication = { readonly user: User readonly session: Session } export type Change = { readonly guid: string readonly organization: Reference readonly application: Reference readonly from_version: ChangeVersion readonly to_version: ChangeVersion readonly diff: DiffBreaking | DiffNonBreaking readonly changed_at: string readonly changed_by: UserSummary readonly audit: Audit } export type ChangeVersion = { readonly guid: string readonly version: string } export type CleartextToken = { readonly token: string } export type Code = { readonly generator: GeneratorWithService readonly source: string readonly files: readonly File[] } export type CodeForm = { readonly attributes: readonly Attribute[] } export type DiffBreaking = { readonly description: string } export type DiffNonBreaking = { readonly description: string } export type Domain = { readonly name: string } export type EmailVerificationConfirmationForm = { readonly token: string } export type Error = { readonly code: string readonly message: string } export type GeneratorForm = { readonly service_guid: string readonly generator: Generator } export type GeneratorService = { readonly guid: string readonly uri: string readonly audit: Audit } export type GeneratorServiceForm = { readonly uri: string } export type GeneratorWithService = { readonly service: GeneratorService readonly generator: Generator } export type Item = { readonly guid: string readonly detail: ApplicationSummary readonly label: string readonly description?: string } export type Membership = { readonly guid: string readonly user: User readonly organization: Organization readonly role: string readonly audit: Audit } export type MembershipRequest = { readonly guid: string readonly user: User readonly organization: Organization readonly role: string readonly audit: Audit } export type MoveForm = { readonly org_key: string } export type Organization = { readonly guid: string readonly key: string readonly name: string readonly namespace: string readonly visibility: Visibility readonly domains: readonly Domain[] readonly audit: Audit } export type OrganizationForm = { readonly name: string readonly key?: string readonly namespace: string readonly visibility: Visibility readonly domains?: readonly string[] } export type Original = { readonly type: OriginalType readonly data: string } export type OriginalForm = { readonly type?: OriginalType readonly data: string } export type PasswordReset = { readonly token: string readonly password: string } export type PasswordResetRequest = { readonly email: string } export type Session = { readonly id: string readonly expires_at: string } export type Subscription = { readonly guid: string readonly organization: Organization readonly user: User readonly publication: Publication readonly audit: Audit } export type SubscriptionForm = { readonly organization_key: string readonly user_guid: string readonly publication: Publication } export type Token = { readonly guid: string readonly user: User readonly masked_token: string readonly description?: string readonly audit: Audit } export type TokenForm = { readonly user_guid: string readonly description?: string } export type User = { readonly guid: string readonly email: string readonly nickname: string readonly name?: string readonly audit: Audit } export type UserForm = { readonly email: string readonly password: string readonly nickname?: string readonly name?: string } export type UserSummary = { readonly guid: string readonly nickname: string } export type UserUpdateForm = { readonly email: string readonly nickname: string readonly name?: string } export type Validation = { readonly valid: boolean readonly errors: readonly string[] } export type Version = { readonly guid: string readonly organization: Reference readonly application: Reference readonly version: string readonly original?: Original readonly service: Service readonly audit: Audit } export type VersionForm = { readonly original_form: OriginalForm readonly visibility?: Visibility } export type Watch = { readonly guid: string readonly user: User readonly organization: Organization readonly application: Application readonly audit: Audit } export type WatchForm = { readonly user_guid: string readonly organization_key: string readonly application_key: string } export type AppSortBy = 'name' | 'created_at' | 'updated_at' | 'visibility' export type OriginalType = 'api_json' | 'avro_idl' | 'service_json' | 'swagger' export type Publication = | 'membership_requests.create' | 'memberships.create' | 'applications.create' | 'versions.create' export type SortOrder = 'asc' | 'desc' export type Visibility = 'user' | 'organization' | 'public' export type JSONValue = | string | number | boolean | { readonly [x: string]: JSONValue } | readonly JSONValue[]