{"components": {"schemas": {"AccountAttachPaymentMethodRequestBody": {"type": "object", "description": "AccountAttachPaymentMethodRequestBody", "properties": {"payment_method_id": {"type": "string", "minLength": 10, "maxLength": 64, "description": "Unique identifier for a Stripe payment method"}}, "required": ["payment_method_id"]}, "AccountAttachPaymentMethodResponse": {"type": "object", "description": "AccountAttachPaymentMethodResponse", "properties": {"card": {"type": "object", "description": "User credit card information", "properties": {"brand": {"type": "string", "description": "Brand"}, "card_id": {"type": "string", "maxLength": 64, "description": "Credit card ID"}, "country": {"type": "string", "maxLength": 128, "description": "Country"}, "country_code": {"type": "string", "maxLength": 2, "description": "Two letter ISO country code"}, "exp_month": {"type": "integer", "minimum": 1, "maximum": 12, "description": "Expiration month"}, "exp_year": {"type": "integer", "minimum": 2015, "maximum": 2100, "description": "Expiration year"}, "last4": {"type": "string", "description": "Credit card last four digits"}, "name": {"type": "string", "maxLength": 256, "description": "Name on the credit card"}, "organization_id": {"type": "string", "maxLength": 36, "description": "Organization ID"}, "projects": {"type": "array", "description": "List of projects the card is assigned to", "items": {"type": "string"}}}, "required": ["brand", "card_id", "country", "country_code", "exp_month", "exp_year", "last4", "name", "projects"]}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}, "required": ["card"]}, "AccountAuthenticationMethodCreateRequestBody": {"type": "object", "description": "AccountAuthenticationMethodCreateRequestBody", "properties": {"auth_token_extend_when_used": {"type": "boolean", "description": "Extend authentication token validity when used", "default": true}, "auth_token_max_age_seconds": {"type": "integer", "minimum": 300, "maximum": 1296000, "description": "Auth Token Max Age Seconds", "default": 36000}, "authentication_method_name": {"type": "string", "maxLength": 128, "description": "Authentication Method Name"}, "authentication_method_type": {"type": "string", "description": "An enumeration.", "title": "Authentication method type", "enum": ["internal", "saml"]}, "auto_join_team_id": {"type": "string", "maxLength": 32, "description": "Automatically add users to a team, when user signs up using this authentication method"}, "auto_join_user_group_id": {"type": "string", "maxLength": 36, "description": "Automatically add users to a group, when user signs up using this authentication method"}, "linked_domains": {"type": "array", "description": "Linked Domains", "items": {"type": "object", "properties": {"domain_id": {"type": "string", "maxLength": 36, "description": "Domain ID"}}, "required": ["domain_id"]}}, "saml_assertion_signed_enabled": {"type": "boolean", "description": "Set to 'true' to enable WantAssertionsSigned"}, "saml_authn_requests_signed_enabled": {"type": "boolean", "description": "Set to 'true' to enable AuthnRequestsSigned"}, "saml_certificate": {"type": "string", "maxLength": 16384, "description": "Identity provider's certificate"}, "saml_digest_algorithm": {"type": "string", "description": "An enumeration.", "title": "Digest algorithm. This is an advanced option that typically does not need to be set.", "default": "sha256", "enum": ["sha1", "sha256", "sha384", "sha512"]}, "saml_entity_id": {"type": "string", "maxLength": 2048, "description": "Saml Entity ID"}, "saml_field_mapping": {"type": "object", "description": "SAMLFieldMapping", "properties": {"email": {"type": "string", "maxLength": 256, "description": "Field name for user email", "default": "email"}, "first_name": {"type": "string", "maxLength": 256, "description": "Field name for user's first name", "default": "first_name"}, "groups": {"type": "string", "maxLength": 256, "description": "Field name for user's groups memberships. Contents of this field are used to handle group memberships when SCIM is not available and SAML is used to manage group memberships.", "default": "groups"}, "identity": {"type": "string", "maxLength": 256, "description": "Field name for user's identity. This field must always exist in responses, and must be immutable and unique. Contents of this field are used to identify the user. Using user ID (such as unix user ID) is highly recommended, as email address may change, requiring relinking user to Aiven user.", "default": "email"}, "last_name": {"type": "string", "maxLength": 256, "description": "Field name for user's lastname", "default": "last_name"}, "real_name": {"type": "string", "maxLength": 256, "description": "Field name for user's full name. If specified, first_name and last_name mappings are ignored"}}}, "saml_idp_login_allowed": {"type": "boolean", "description": "Set to 'true' to enable IdP initiated login", "default": false}, "saml_idp_url": {"type": "string", "maxLength": 2048, "description": "Saml Idp Url"}, "saml_join_groups": {"type": "boolean", "description": "SAML join groups enabled", "default": false}, "saml_requested_authn_context_enabled": {"type": "boolean", "description": "Set to 'false' to disable RequestedAuthnContext"}, "saml_signature_algorithm": {"type": "string", "description": "An enumeration.", "title": "SAMLSignatureAlgorithm", "default": "rsa-sha256", "enum": ["rsa-sha1", "dsa-sha1", "rsa-sha256", "rsa-sha384", "rsa-sha512"]}, "saml_variant": {"type": "string", "description": "An enumeration.", "title": "SAMLVariant", "enum": ["adfs"]}, "scim_enabled": {"type": "boolean", "description": "SCIM enabled", "default": false}}, "required": ["authentication_method_name", "authentication_method_type"]}, "AccountAuthenticationMethodCreateResponse": {"type": "object", "description": "AccountAuthenticationMethodCreateResponse", "properties": {"authentication_method": {"type": "object", "description": "AuthenticationMethod", "properties": {"account_id": {"type": "string", "maxLength": 36, "description": "Account ID"}, "auth_token_extend_when_used": {"type": "boolean", "description": "Extend authentication token validity when used"}, "auth_token_max_age_seconds": {"type": "integer", "minimum": 300, "maximum": 1296000, "description": "Auth Token Max Age Seconds"}, "authentication_method_enabled": {"type": "boolean", "description": "If true, authentication method can be used to access account/projects in account. If false, authentication method can still be used to sign in"}, "authentication_method_id": {"type": "string", "description": "Authentication Method ID"}, "authentication_method_name": {"type": "string", "maxLength": 128, "description": "Authentication Method Name"}, "authentication_method_type": {"type": "string", "description": "An enumeration.", "title": "Authentication method type", "enum": ["internal", "saml"]}, "auto_join_team_id": {"type": "string", "maxLength": 32, "description": "Automatically add users to a team, when user signs up using this authentication method"}, "auto_join_user_group_id": {"type": "string", "maxLength": 36, "description": "Automatically add users to a group, when user signs up using this authentication method"}, "create_time": {"type": "string", "maxLength": 36, "description": "Create Time"}, "delete_time": {"type": "string", "maxLength": 36, "description": "Delete Time"}, "organization_id": {"type": "string", "maxLength": 36, "description": "Organization ID"}, "saml_acs_url": {"type": "string", "maxLength": 2048, "description": "Saml Acs Url"}, "saml_assertion_signed_enabled": {"type": "boolean", "description": "Set to 'true' to enable WantAssertionsSigned"}, "saml_authn_requests_signed_enabled": {"type": "boolean", "description": "Set to 'true' to enable AuthnRequestsSigned"}, "saml_cert": {"type": "string", "description": "An enumeration.", "title": "SAMLVariant", "enum": ["adfs"]}, "saml_certificate": {"type": "string", "maxLength": 16384, "description": "Identity provider's certificate"}, "saml_certificate_issuer": {"type": "string", "description": "Saml Certificate Issuer"}, "saml_certificate_not_valid_after": {"type": "string", "maxLength": 36, "description": "Saml Certificate Not Valid After"}, "saml_certificate_not_valid_before": {"type": "string", "maxLength": 36, "description": "Saml Certificate Not Valid Before"}, "saml_certificate_subject": {"type": "string", "description": "Saml Certificate Subject"}, "saml_digest_algorithm": {"type": "string", "description": "An enumeration.", "title": "Digest algorithm. This is an advanced option that typically does not need to be set.", "default": "sha256", "enum": ["sha1", "sha256", "sha384", "sha512"]}, "saml_entity_id": {"type": "string", "maxLength": 2048, "description": "Saml Entity ID"}, "saml_field_mapping": {"type": "object", "description": "SAMLFieldMapping", "properties": {"email": {"type": "string", "maxLength": 256, "description": "Field name for user email", "default": "email"}, "first_name": {"type": "string", "maxLength": 256, "description": "Field name for user's first name", "default": "first_name"}, "groups": {"type": "string", "maxLength": 256, "description": "Field name for user's groups memberships. Contents of this field are used to handle group memberships when SCIM is not available and SAML is used to manage group memberships.", "default": "groups"}, "identity": {"type": "string", "maxLength": 256, "description": "Field name for user's identity. This field must always exist in responses, and must be immutable and unique. Contents of this field are used to identify the user. Using user ID (such as unix user ID) is highly recommended, as email address may change, requiring relinking user to Aiven user.", "default": "email"}, "last_name": {"type": "string", "maxLength": 256, "description": "Field name for user's lastname", "default": "last_name"}, "real_name": {"type": "string", "maxLength": 256, "description": "Field name for user's full name. If specified, first_name and last_name mappings are ignored"}}}, "saml_idp_login_allowed": {"type": "boolean", "description": "Set to 'true' to enable IdP initiated login"}, "saml_idp_url": {"type": "string", "maxLength": 2048, "description": "Saml Idp Url"}, "saml_join_groups": {"type": "boolean", "description": "SAML join groups enabled"}, "saml_metadata_url": {"type": "string", "maxLength": 2048, "description": "Saml Metadata Url"}, "saml_requested_authn_context_enabled": {"type": "boolean", "description": "Set to 'false' to disable RequestedAuthnContext"}, "saml_signature_algorithm": {"type": "string", "description": "An enumeration.", "title": "SAMLSignatureAlgorithm", "default": "rsa-sha256", "enum": ["rsa-sha1", "dsa-sha1", "rsa-sha256", "rsa-sha384", "rsa-sha512"]}, "saml_sp_certificate": {"type": "string", "maxLength": 16384, "description": "Saml Sp Certificate"}, "saml_variant": {"type": "string", "description": "An enumeration.", "title": "SAMLVariant", "enum": ["adfs"]}, "scim_enabled": {"type": "boolean", "description": "SCIM API enabled"}, "scim_url": {"type": "string", "maxLength": 2048, "description": "Scim Url"}, "state": {"type": "string", "description": "An enumeration.", "title": "AuthenticationMethodState", "enum": ["active", "deleted", "pending_configuration"]}, "update_time": {"type": "string", "maxLength": 36, "description": "Update Time"}}, "required": ["account_id", "authentication_method_enabled", "authentication_method_id", "authentication_method_type", "auto_join_team_id", "auto_join_user_group_id", "create_time", "delete_time", "state", "update_time"]}}, "required": ["authentication_method"]}, "AccountAuthenticationMethodDeleteResponse": {"type": "object", "description": "AccountAuthenticationMethodDeleteResponse", "properties": {"message": {"type": "string", "description": "Response message field"}}, "required": ["message"]}, "AccountAuthenticationMethodGetResponse": {"type": "object", "description": "AccountAuthenticationMethodGetResponse", "properties": {"authentication_method": {"type": "object", "description": "AuthenticationMethod", "properties": {"account_id": {"type": "string", "maxLength": 36, "description": "Account ID"}, "auth_token_extend_when_used": {"type": "boolean", "description": "Extend authentication token validity when used"}, "auth_token_max_age_seconds": {"type": "integer", "minimum": 300, "maximum": 1296000, "description": "Auth Token Max Age Seconds"}, "authentication_method_enabled": {"type": "boolean", "description": "If true, authentication method can be used to access account/projects in account. If false, authentication method can still be used to sign in"}, "authentication_method_id": {"type": "string", "description": "Authentication Method ID"}, "authentication_method_name": {"type": "string", "maxLength": 128, "description": "Authentication Method Name"}, "authentication_method_type": {"type": "string", "description": "An enumeration.", "title": "Authentication method type", "enum": ["internal", "saml"]}, "auto_join_team_id": {"type": "string", "maxLength": 32, "description": "Automatically add users to a team, when user signs up using this authentication method"}, "auto_join_user_group_id": {"type": "string", "maxLength": 36, "description": "Automatically add users to a group, when user signs up using this authentication method"}, "create_time": {"type": "string", "maxLength": 36, "description": "Create Time"}, "delete_time": {"type": "string", "maxLength": 36, "description": "Delete Time"}, "organization_id": {"type": "string", "maxLength": 36, "description": "Organization ID"}, "saml_acs_url": {"type": "string", "maxLength": 2048, "description": "Saml Acs Url"}, "saml_assertion_signed_enabled": {"type": "boolean", "description": "Set to 'true' to enable WantAssertionsSigned"}, "saml_authn_requests_signed_enabled": {"type": "boolean", "description": "Set to 'true' to enable AuthnRequestsSigned"}, "saml_cert": {"type": "string", "description": "An enumeration.", "title": "SAMLVariant", "enum": ["adfs"]}, "saml_certificate": {"type": "string", "maxLength": 16384, "description": "Identity provider's certificate"}, "saml_certificate_issuer": {"type": "string", "description": "Saml Certificate Issuer"}, "saml_certificate_not_valid_after": {"type": "string", "maxLength": 36, "description": "Saml Certificate Not Valid After"}, "saml_certificate_not_valid_before": {"type": "string", "maxLength": 36, "description": "Saml Certificate Not Valid Before"}, "saml_certificate_subject": {"type": "string", "description": "Saml Certificate Subject"}, "saml_digest_algorithm": {"type": "string", "description": "An enumeration.", "title": "Digest algorithm. This is an advanced option that typically does not need to be set.", "default": "sha256", "enum": ["sha1", "sha256", "sha384", "sha512"]}, "saml_entity_id": {"type": "string", "maxLength": 2048, "description": "Saml Entity ID"}, "saml_field_mapping": {"type": "object", "description": "SAMLFieldMapping", "properties": {"email": {"type": "string", "maxLength": 256, "description": "Field name for user email", "default": "email"}, "first_name": {"type": "string", "maxLength": 256, "description": "Field name for user's first name", "default": "first_name"}, "groups": {"type": "string", "maxLength": 256, "description": "Field name for user's groups memberships. Contents of this field are used to handle group memberships when SCIM is not available and SAML is used to manage group memberships.", "default": "groups"}, "identity": {"type": "string", "maxLength": 256, "description": "Field name for user's identity. This field must always exist in responses, and must be immutable and unique. Contents of this field are used to identify the user. Using user ID (such as unix user ID) is highly recommended, as email address may change, requiring relinking user to Aiven user.", "default": "email"}, "last_name": {"type": "string", "maxLength": 256, "description": "Field name for user's lastname", "default": "last_name"}, "real_name": {"type": "string", "maxLength": 256, "description": "Field name for user's full name. If specified, first_name and last_name mappings are ignored"}}}, "saml_idp_login_allowed": {"type": "boolean", "description": "Set to 'true' to enable IdP initiated login"}, "saml_idp_url": {"type": "string", "maxLength": 2048, "description": "Saml Idp Url"}, "saml_join_groups": {"type": "boolean", "description": "SAML join groups enabled"}, "saml_metadata_url": {"type": "string", "maxLength": 2048, "description": "Saml Metadata Url"}, "saml_requested_authn_context_enabled": {"type": "boolean", "description": "Set to 'false' to disable RequestedAuthnContext"}, "saml_signature_algorithm": {"type": "string", "description": "An enumeration.", "title": "SAMLSignatureAlgorithm", "default": "rsa-sha256", "enum": ["rsa-sha1", "dsa-sha1", "rsa-sha256", "rsa-sha384", "rsa-sha512"]}, "saml_sp_certificate": {"type": "string", "maxLength": 16384, "description": "Saml Sp Certificate"}, "saml_variant": {"type": "string", "description": "An enumeration.", "title": "SAMLVariant", "enum": ["adfs"]}, "scim_enabled": {"type": "boolean", "description": "SCIM API enabled"}, "scim_url": {"type": "string", "maxLength": 2048, "description": "Scim Url"}, "state": {"type": "string", "description": "An enumeration.", "title": "AuthenticationMethodState", "enum": ["active", "deleted", "pending_configuration"]}, "update_time": {"type": "string", "maxLength": 36, "description": "Update Time"}}, "required": ["account_id", "authentication_method_enabled", "authentication_method_id", "authentication_method_type", "auto_join_team_id", "auto_join_user_group_id", "create_time", "delete_time", "state", "update_time"]}}, "required": ["authentication_method"]}, "AccountAuthenticationMethodUpdateRequestBody": {"type": "object", "description": "AccountAuthenticationMethodUpdateRequestBody", "properties": {"auth_token_extend_when_used": {"type": "boolean", "description": "Extend authentication token validity when used"}, "auth_token_max_age_seconds": {"type": "integer", "minimum": 300, "maximum": 1296000, "description": "Auth Token Max Age Seconds"}, "authentication_method_enabled": {"type": "boolean", "description": "If true, authentication method can be used to access account/projects in account. If false, authentication method can still be used to sign in"}, "authentication_method_name": {"type": "string", "maxLength": 128, "description": "Authentication Method Name"}, "auto_join_team_id": {"type": "string", "maxLength": 32, "description": "Automatically add users to a team, when user signs up using this authentication method"}, "auto_join_user_group_id": {"type": "string", "maxLength": 36, "description": "Automatically add users to a group, when user signs up using this authentication method"}, "saml_assertion_signed_enabled": {"type": "boolean", "description": "Set to 'true' to enable WantAssertionsSigned"}, "saml_authn_requests_signed_enabled": {"type": "boolean", "description": "Set to 'true' to enable AuthnRequestsSigned"}, "saml_certificate": {"type": "string", "maxLength": 16384, "description": "Identity provider's certificate"}, "saml_digest_algorithm": {"type": "string", "description": "An enumeration.", "title": "Digest algorithm. This is an advanced option that typically does not need to be set.", "default": "sha256", "enum": ["sha1", "sha256", "sha384", "sha512"]}, "saml_entity_id": {"type": "string", "maxLength": 2048, "description": "Saml Entity ID"}, "saml_field_mapping": {"type": "object", "description": "SAMLFieldMapping", "properties": {"email": {"type": "string", "maxLength": 256, "description": "Field name for user email", "default": "email"}, "first_name": {"type": "string", "maxLength": 256, "description": "Field name for user's first name", "default": "first_name"}, "groups": {"type": "string", "maxLength": 256, "description": "Field name for user's groups memberships. Contents of this field are used to handle group memberships when SCIM is not available and SAML is used to manage group memberships.", "default": "groups"}, "identity": {"type": "string", "maxLength": 256, "description": "Field name for user's identity. This field must always exist in responses, and must be immutable and unique. Contents of this field are used to identify the user. Using user ID (such as unix user ID) is highly recommended, as email address may change, requiring relinking user to Aiven user.", "default": "email"}, "last_name": {"type": "string", "maxLength": 256, "description": "Field name for user's lastname", "default": "last_name"}, "real_name": {"type": "string", "maxLength": 256, "description": "Field name for user's full name. If specified, first_name and last_name mappings are ignored"}}}, "saml_idp_login_allowed": {"type": "boolean", "description": "Set to 'true' to enable IdP initiated login"}, "saml_idp_url": {"type": "string", "maxLength": 2048, "description": "Saml Idp Url"}, "saml_join_groups": {"type": "boolean", "description": "SAML join groups enabled"}, "saml_requested_authn_context_enabled": {"type": "boolean", "description": "Set to 'false' to disable RequestedAuthnContext"}, "saml_signature_algorithm": {"type": "string", "description": "An enumeration.", "title": "SAMLSignatureAlgorithm", "default": "rsa-sha256", "enum": ["rsa-sha1", "dsa-sha1", "rsa-sha256", "rsa-sha384", "rsa-sha512"]}, "saml_variant": {"type": "string", "description": "An enumeration.", "title": "SAMLVariant", "enum": ["adfs"]}, "scim_enabled": {"type": "boolean", "description": "SCIM enabled"}}}, "AccountAuthenticationMethodUpdateResponse": {"type": "object", "description": "AccountAuthenticationMethodUpdateResponse", "properties": {"authentication_method": {"type": "object", "description": "AuthenticationMethod", "properties": {"account_id": {"type": "string", "maxLength": 36, "description": "Account ID"}, "auth_token_extend_when_used": {"type": "boolean", "description": "Extend authentication token validity when used"}, "auth_token_max_age_seconds": {"type": "integer", "minimum": 300, "maximum": 1296000, "description": "Auth Token Max Age Seconds"}, "authentication_method_enabled": {"type": "boolean", "description": "If true, authentication method can be used to access account/projects in account. If false, authentication method can still be used to sign in"}, "authentication_method_id": {"type": "string", "description": "Authentication Method ID"}, "authentication_method_name": {"type": "string", "maxLength": 128, "description": "Authentication Method Name"}, "authentication_method_type": {"type": "string", "description": "An enumeration.", "title": "Authentication method type", "enum": ["internal", "saml"]}, "auto_join_team_id": {"type": "string", "maxLength": 32, "description": "Automatically add users to a team, when user signs up using this authentication method"}, "auto_join_user_group_id": {"type": "string", "maxLength": 36, "description": "Automatically add users to a group, when user signs up using this authentication method"}, "create_time": {"type": "string", "maxLength": 36, "description": "Create Time"}, "delete_time": {"type": "string", "maxLength": 36, "description": "Delete Time"}, "organization_id": {"type": "string", "maxLength": 36, "description": "Organization ID"}, "saml_acs_url": {"type": "string", "maxLength": 2048, "description": "Saml Acs Url"}, "saml_assertion_signed_enabled": {"type": "boolean", "description": "Set to 'true' to enable WantAssertionsSigned"}, "saml_authn_requests_signed_enabled": {"type": "boolean", "description": "Set to 'true' to enable AuthnRequestsSigned"}, "saml_cert": {"type": "string", "description": "An enumeration.", "title": "SAMLVariant", "enum": ["adfs"]}, "saml_certificate": {"type": "string", "maxLength": 16384, "description": "Identity provider's certificate"}, "saml_certificate_issuer": {"type": "string", "description": "Saml Certificate Issuer"}, "saml_certificate_not_valid_after": {"type": "string", "maxLength": 36, "description": "Saml Certificate Not Valid After"}, "saml_certificate_not_valid_before": {"type": "string", "maxLength": 36, "description": "Saml Certificate Not Valid Before"}, "saml_certificate_subject": {"type": "string", "description": "Saml Certificate Subject"}, "saml_digest_algorithm": {"type": "string", "description": "An enumeration.", "title": "Digest algorithm. This is an advanced option that typically does not need to be set.", "default": "sha256", "enum": ["sha1", "sha256", "sha384", "sha512"]}, "saml_entity_id": {"type": "string", "maxLength": 2048, "description": "Saml Entity ID"}, "saml_field_mapping": {"type": "object", "description": "SAMLFieldMapping", "properties": {"email": {"type": "string", "maxLength": 256, "description": "Field name for user email", "default": "email"}, "first_name": {"type": "string", "maxLength": 256, "description": "Field name for user's first name", "default": "first_name"}, "groups": {"type": "string", "maxLength": 256, "description": "Field name for user's groups memberships. Contents of this field are used to handle group memberships when SCIM is not available and SAML is used to manage group memberships.", "default": "groups"}, "identity": {"type": "string", "maxLength": 256, "description": "Field name for user's identity. This field must always exist in responses, and must be immutable and unique. Contents of this field are used to identify the user. Using user ID (such as unix user ID) is highly recommended, as email address may change, requiring relinking user to Aiven user.", "default": "email"}, "last_name": {"type": "string", "maxLength": 256, "description": "Field name for user's lastname", "default": "last_name"}, "real_name": {"type": "string", "maxLength": 256, "description": "Field name for user's full name. If specified, first_name and last_name mappings are ignored"}}}, "saml_idp_login_allowed": {"type": "boolean", "description": "Set to 'true' to enable IdP initiated login"}, "saml_idp_url": {"type": "string", "maxLength": 2048, "description": "Saml Idp Url"}, "saml_join_groups": {"type": "boolean", "description": "SAML join groups enabled"}, "saml_metadata_url": {"type": "string", "maxLength": 2048, "description": "Saml Metadata Url"}, "saml_requested_authn_context_enabled": {"type": "boolean", "description": "Set to 'false' to disable RequestedAuthnContext"}, "saml_signature_algorithm": {"type": "string", "description": "An enumeration.", "title": "SAMLSignatureAlgorithm", "default": "rsa-sha256", "enum": ["rsa-sha1", "dsa-sha1", "rsa-sha256", "rsa-sha384", "rsa-sha512"]}, "saml_sp_certificate": {"type": "string", "maxLength": 16384, "description": "Saml Sp Certificate"}, "saml_variant": {"type": "string", "description": "An enumeration.", "title": "SAMLVariant", "enum": ["adfs"]}, "scim_enabled": {"type": "boolean", "description": "SCIM API enabled"}, "scim_url": {"type": "string", "maxLength": 2048, "description": "Scim Url"}, "state": {"type": "string", "description": "An enumeration.", "title": "AuthenticationMethodState", "enum": ["active", "deleted", "pending_configuration"]}, "update_time": {"type": "string", "maxLength": 36, "description": "Update Time"}}, "required": ["account_id", "authentication_method_enabled", "authentication_method_id", "authentication_method_type", "auto_join_team_id", "auto_join_user_group_id", "create_time", "delete_time", "state", "update_time"]}}, "required": ["authentication_method"]}, "AccountAuthenticationMethodsListResponse": {"type": "object", "description": "AccountAuthenticationMethodsListResponse", "properties": {"authentication_methods": {"type": "array", "description": "Authentication Methods", "items": {"type": "object", "properties": {"account_id": {"type": "string", "maxLength": 36, "description": "Account ID"}, "auth_token_extend_when_used": {"type": "boolean", "description": "Extend authentication token validity when used"}, "auth_token_max_age_seconds": {"type": "integer", "minimum": 300, "maximum": 1296000, "description": "Auth Token Max Age Seconds"}, "authentication_method_enabled": {"type": "boolean", "description": "If true, authentication method can be used to access account/projects in account. If false, authentication method can still be used to sign in"}, "authentication_method_id": {"type": "string", "description": "Authentication Method ID"}, "authentication_method_name": {"type": "string", "maxLength": 128, "description": "Authentication Method Name"}, "authentication_method_type": {"type": "string", "description": "An enumeration.", "title": "Authentication method type", "enum": ["internal", "saml"]}, "auto_join_team_id": {"type": "string", "maxLength": 32, "description": "Automatically add users to a team, when user signs up using this authentication method"}, "auto_join_user_group_id": {"type": "string", "maxLength": 36, "description": "Automatically add users to a group, when user signs up using this authentication method"}, "create_time": {"type": "string", "maxLength": 36, "description": "Create Time"}, "delete_time": {"type": "string", "maxLength": 36, "description": "Delete Time"}, "organization_id": {"type": "string", "maxLength": 36, "description": "Organization ID"}, "saml_acs_url": {"type": "string", "maxLength": 2048, "description": "Saml Acs Url"}, "saml_assertion_signed_enabled": {"type": "boolean", "description": "Set to 'true' to enable WantAssertionsSigned"}, "saml_authn_requests_signed_enabled": {"type": "boolean", "description": "Set to 'true' to enable AuthnRequestsSigned"}, "saml_cert": {"type": "string", "description": "An enumeration.", "title": "SAMLVariant", "enum": ["adfs"]}, "saml_certificate": {"type": "string", "maxLength": 16384, "description": "Identity provider's certificate"}, "saml_certificate_issuer": {"type": "string", "description": "Saml Certificate Issuer"}, "saml_certificate_not_valid_after": {"type": "string", "maxLength": 36, "description": "Saml Certificate Not Valid After"}, "saml_certificate_not_valid_before": {"type": "string", "maxLength": 36, "description": "Saml Certificate Not Valid Before"}, "saml_certificate_subject": {"type": "string", "description": "Saml Certificate Subject"}, "saml_digest_algorithm": {"type": "string", "description": "An enumeration.", "title": "Digest algorithm. This is an advanced option that typically does not need to be set.", "default": "sha256", "enum": ["sha1", "sha256", "sha384", "sha512"]}, "saml_entity_id": {"type": "string", "maxLength": 2048, "description": "Saml Entity ID"}, "saml_field_mapping": {"type": "object", "description": "SAMLFieldMapping", "properties": {"email": {"type": "string", "maxLength": 256, "description": "Field name for user email", "default": "email"}, "first_name": {"type": "string", "maxLength": 256, "description": "Field name for user's first name", "default": "first_name"}, "groups": {"type": "string", "maxLength": 256, "description": "Field name for user's groups memberships. Contents of this field are used to handle group memberships when SCIM is not available and SAML is used to manage group memberships.", "default": "groups"}, "identity": {"type": "string", "maxLength": 256, "description": "Field name for user's identity. This field must always exist in responses, and must be immutable and unique. Contents of this field are used to identify the user. Using user ID (such as unix user ID) is highly recommended, as email address may change, requiring relinking user to Aiven user.", "default": "email"}, "last_name": {"type": "string", "maxLength": 256, "description": "Field name for user's lastname", "default": "last_name"}, "real_name": {"type": "string", "maxLength": 256, "description": "Field name for user's full name. If specified, first_name and last_name mappings are ignored"}}}, "saml_idp_login_allowed": {"type": "boolean", "description": "Set to 'true' to enable IdP initiated login"}, "saml_idp_url": {"type": "string", "maxLength": 2048, "description": "Saml Idp Url"}, "saml_join_groups": {"type": "boolean", "description": "SAML join groups enabled"}, "saml_metadata_url": {"type": "string", "maxLength": 2048, "description": "Saml Metadata Url"}, "saml_requested_authn_context_enabled": {"type": "boolean", "description": "Set to 'false' to disable RequestedAuthnContext"}, "saml_signature_algorithm": {"type": "string", "description": "An enumeration.", "title": "SAMLSignatureAlgorithm", "default": "rsa-sha256", "enum": ["rsa-sha1", "dsa-sha1", "rsa-sha256", "rsa-sha384", "rsa-sha512"]}, "saml_sp_certificate": {"type": "string", "maxLength": 16384, "description": "Saml Sp Certificate"}, "saml_variant": {"type": "string", "description": "An enumeration.", "title": "SAMLVariant", "enum": ["adfs"]}, "scim_enabled": {"type": "boolean", "description": "SCIM API enabled"}, "scim_url": {"type": "string", "maxLength": 2048, "description": "Scim Url"}, "state": {"type": "string", "description": "An enumeration.", "title": "AuthenticationMethodState", "enum": ["active", "deleted", "pending_configuration"]}, "update_time": {"type": "string", "maxLength": 36, "description": "Update Time"}}, "required": ["account_id", "authentication_method_enabled", "authentication_method_id", "authentication_method_type", "auto_join_team_id", "auto_join_user_group_id", "create_time", "delete_time", "state", "update_time"]}}}, "required": ["authentication_methods"]}, "AccountBillingGroupListResponse": {"type": "object", "description": "AccountBillingGroupListResponse", "properties": {"account_billing_groups": {"type": "array", "description": "List of billing groups", "items": {"type": "object", "properties": {"account_id": {"type": "string", "maxLength": 36, "description": "Account ID"}, "account_name": {"type": "string", "maxLength": 83, "description": "Account name"}, "address_lines": {"type": "array", "maxItems": 16, "description": "Address lines", "items": {"type": "string"}}, "billing_address": {"type": "string", "maxLength": 1000, "description": "DEPRECATED: use split address fields like company, address_lines, zip_code, city and state instead"}, "billing_address_id": {"type": "string", "maxLength": 36, "description": "Address ID"}, "billing_contact_emails": {"type": "array", "maxItems": 10, "description": "List of billing groups contact email addresses", "items": {"type": "object", "properties": {"email": {"type": "string", "maxLength": 254, "description": "User email address"}}, "required": ["email"]}}, "billing_currency": {"type": "string", "description": "Billing currency", "enum": ["AUD", "CAD", "CHF", "DKK", "EUR", "GBP", "JPY", "NOK", "NZD", "SEK", "SGD", "USD"]}, "billing_emails": {"type": "array", "maxItems": 10, "description": "List of project billing email addresses", "items": {"type": "object", "properties": {"email": {"type": "string", "maxLength": 254, "description": "User email address"}}, "required": ["email"]}}, "billing_extra_text": {"type": "string", "maxLength": 1000, "description": "Extra text to be included in all project invoices, e.g. purchase order or cost center number"}, "billing_group_id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "Billing group ID"}, "billing_group_name": {"type": "string", "maxLength": 128, "description": "Billing group name"}, "billing_type": {"type": "string", "description": "Method of charging/invoicing this project"}, "card_info": {"type": "object", "description": "Credit card assigned to the project", "properties": {"brand": {"type": "string", "description": "Brand"}, "card_id": {"type": "string", "maxLength": 64, "description": "Credit card ID"}, "country": {"type": "string", "maxLength": 128, "description": "Country"}, "country_code": {"type": "string", "maxLength": 2, "description": "Two letter ISO country code"}, "exp_month": {"type": "integer", "minimum": 1, "maximum": 12, "description": "Expiration month"}, "exp_year": {"type": "integer", "minimum": 2015, "maximum": 2100, "description": "Expiration year"}, "last4": {"type": "string", "description": "Credit card last four digits"}, "name": {"type": "string", "maxLength": 256, "description": "Name on the credit card"}, "user_email": {"type": "string", "maxLength": 254, "description": "User email address"}}, "required": ["brand", "card_id", "country", "country_code", "exp_month", "exp_year", "last4", "name", "user_email"]}, "city": {"type": "string", "maxLength": 512, "description": "Address city"}, "company": {"type": "string", "maxLength": 128, "description": "Name of a company"}, "country": {"type": "string", "maxLength": 128, "description": "Billing country"}, "country_code": {"type": "string", "maxLength": 2, "description": "Two letter ISO country code"}, "create_time": {"type": "string", "maxLength": 36, "description": "Timestamp in ISO 8601 format, always in UTC"}, "estimated_balance_local": {"type": "string", "description": "Estimated balance in billing currency, before tax"}, "estimated_balance_usd": {"type": "string", "description": "Estimated balance in USD, before tax"}, "payment_method": {"type": "string", "description": "Payment method", "enum": ["accrual", "card", "disabled", "email", "no_payment_expected", "partner"]}, "shipping_address_id": {"type": "string", "maxLength": 36, "description": "Address ID"}, "state": {"type": "string", "maxLength": 128, "description": "Address state or province"}, "vat_id": {"type": "string", "maxLength": 64, "description": "EU VAT Identification Number"}, "zip_code": {"type": "string", "maxLength": 32, "description": "Address zip code"}}, "required": ["account_id", "account_name", "address_lines", "billing_address_id", "billing_contact_emails", "billing_currency", "billing_emails", "billing_extra_text", "billing_group_id", "billing_group_name", "billing_type", "card_info", "city", "company", "country", "country_code", "create_time", "estimated_balance_local", "estimated_balance_usd", "payment_method", "shipping_address_id", "state", "vat_id", "zip_code"]}}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}, "required": ["account_billing_groups"]}, "AccountCreateRequestBody": {"type": "object", "description": "AccountCreateRequestBody", "properties": {"account_name": {"type": "string", "maxLength": 83, "description": "Account name"}, "parent_account_id": {"type": "string", "maxLength": 36, "description": "Account ID"}, "primary_billing_group_id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "Billing group ID"}}, "required": ["account_name"]}, "AccountCreateResponse": {"type": "object", "description": "AccountCreateResponse", "properties": {"account": {"type": "object", "description": "Account details", "properties": {"access_source": {"type": "string", "description": "Describe the source of the account", "enum": ["descendant_membership", "organization_membership", "project_membership", "team_membership"]}, "account_id": {"type": "string", "maxLength": 36, "description": "Account ID"}, "account_name": {"type": "string", "maxLength": 83, "description": "Account name"}, "account_owner_team_id": {"type": "string", "maxLength": 32, "description": "Team ID"}, "create_time": {"type": "string", "maxLength": 36, "description": "Timestamp in ISO 8601 format, always in UTC"}, "features": {"type": "object", "description": "Feature flags", "properties": {}}, "is_account_member": {"type": "boolean", "description": "If true, user is part of a team of this or a parent account"}, "is_account_owner": {"type": "boolean", "description": "If true, user is part of the owners team for this account"}, "organization_id": {"type": "string", "maxLength": 36, "description": "Organization ID"}, "parent_account_id": {"type": "string", "maxLength": 36, "description": "Account ID"}, "primary_billing_group_id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "Billing group ID"}, "root_account_id": {"type": "string", "maxLength": 36, "description": "Account ID"}, "tenant_id": {"type": "string", "maxLength": 64, "description": "Tenant identifier"}, "update_time": {"type": "string", "maxLength": 36, "description": "Timestamp in ISO 8601 format, always in UTC"}}, "required": ["account_id", "account_name", "account_owner_team_id", "create_time", "is_account_owner", "organization_id", "primary_billing_group_id", "root_account_id", "update_time"]}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}, "required": ["account"]}, "AccountDeleteResponse": {"type": "object", "description": "AccountDeleteResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}}, "AccountEventListResponse": {"type": "object", "description": "AccountEventListResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "events": {"type": "array", "description": "List of events", "items": {"type": "object", "properties": {"account_id": {"type": "string", "maxLength": 36, "description": "Account ID"}, "action_description": {"type": "string", "description": "Event description"}, "action_type": {"type": "string", "description": "Event type"}, "actor": {"type": "string", "description": "Actor details"}, "actor_user_id": {"type": "string", "description": "User ID"}, "create_time": {"type": "string", "maxLength": 36, "description": "Timestamp in ISO 8601 format, always in UTC"}, "log_entry_id": {"type": "integer", "minimum": 0, "description": "Entry ID"}, "team_id": {"type": "string", "maxLength": 32, "description": "Team ID"}}, "required": ["account_id", "action_description", "action_type", "actor", "actor_user_id", "create_time", "log_entry_id", "team_id"]}}, "message": {"type": "string", "description": "Printable result of the request"}}, "required": ["events"]}, "AccountGetResponse": {"type": "object", "description": "AccountGetResponse", "properties": {"account": {"type": "object", "description": "Account details", "properties": {"access_source": {"type": "string", "description": "Describe the source of the account", "enum": ["descendant_membership", "organization_membership", "project_membership", "team_membership"]}, "account_id": {"type": "string", "maxLength": 36, "description": "Account ID"}, "account_name": {"type": "string", "maxLength": 83, "description": "Account name"}, "account_owner_team_id": {"type": "string", "maxLength": 32, "description": "Team ID"}, "create_time": {"type": "string", "maxLength": 36, "description": "Timestamp in ISO 8601 format, always in UTC"}, "features": {"type": "object", "description": "Feature flags", "properties": {}}, "is_account_member": {"type": "boolean", "description": "If true, user is part of a team of this or a parent account"}, "is_account_owner": {"type": "boolean", "description": "If true, user is part of the owners team for this account"}, "organization_id": {"type": "string", "maxLength": 36, "description": "Organization ID"}, "parent_account_id": {"type": "string", "maxLength": 36, "description": "Account ID"}, "primary_billing_group_id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "Billing group ID"}, "root_account_id": {"type": "string", "maxLength": 36, "description": "Account ID"}, "tenant_id": {"type": "string", "maxLength": 64, "description": "Tenant identifier"}, "update_time": {"type": "string", "maxLength": 36, "description": "Timestamp in ISO 8601 format, always in UTC"}}, "required": ["account_id", "account_name", "account_owner_team_id", "create_time", "is_account_owner", "organization_id", "primary_billing_group_id", "root_account_id", "update_time"]}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}, "required": ["account"]}, "AccountListResponse": {"type": "object", "description": "AccountListResponse", "properties": {"accounts": {"type": "array", "description": "List of accounts", "items": {"type": "object", "properties": {"access_source": {"type": "string", "description": "Describe the source of the account", "enum": ["descendant_membership", "organization_membership", "project_membership", "team_membership"]}, "account_id": {"type": "string", "maxLength": 36, "description": "Account ID"}, "account_name": {"type": "string", "maxLength": 83, "description": "Account name"}, "account_owner_team_id": {"type": "string", "maxLength": 32, "description": "Team ID"}, "create_time": {"type": "string", "maxLength": 36, "description": "Timestamp in ISO 8601 format, always in UTC"}, "features": {"type": "object", "description": "Feature flags", "properties": {}}, "is_account_member": {"type": "boolean", "description": "If true, user is part of a team of this or a parent account"}, "is_account_owner": {"type": "boolean", "description": "If true, user is part of the owners team for this account"}, "organization_id": {"type": "string", "maxLength": 36, "description": "Organization ID"}, "parent_account_id": {"type": "string", "maxLength": 36, "description": "Account ID"}, "primary_billing_group_id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "Billing group ID"}, "root_account_id": {"type": "string", "maxLength": 36, "description": "Account ID"}, "tenant_id": {"type": "string", "maxLength": 64, "description": "Tenant identifier"}, "update_time": {"type": "string", "maxLength": 36, "description": "Timestamp in ISO 8601 format, always in UTC"}}, "required": ["account_id", "account_name", "account_owner_team_id", "create_time", "is_account_owner", "organization_id", "primary_billing_group_id", "root_account_id", "update_time"]}}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}, "required": ["accounts"]}, "AccountMoveRequestBody": {"type": "object", "description": "AccountMoveRequestBody", "properties": {"parent_account_id": {"type": "string", "maxLength": 36, "description": "Account ID"}}, "required": ["parent_account_id"]}, "AccountMoveResponse": {"type": "object", "description": "AccountMoveResponse", "properties": {"account": {"type": "object", "description": "Account details", "properties": {"access_source": {"type": "string", "description": "Describe the source of the account", "enum": ["descendant_membership", "organization_membership", "project_membership", "team_membership"]}, "account_id": {"type": "string", "maxLength": 36, "description": "Account ID"}, "account_name": {"type": "string", "maxLength": 83, "description": "Account name"}, "account_owner_team_id": {"type": "string", "maxLength": 32, "description": "Team ID"}, "create_time": {"type": "string", "maxLength": 36, "description": "Timestamp in ISO 8601 format, always in UTC"}, "features": {"type": "object", "description": "Feature flags", "properties": {}}, "is_account_member": {"type": "boolean", "description": "If true, user is part of a team of this or a parent account"}, "is_account_owner": {"type": "boolean", "description": "If true, user is part of the owners team for this account"}, "organization_id": {"type": "string", "maxLength": 36, "description": "Organization ID"}, "parent_account_id": {"type": "string", "maxLength": 36, "description": "Account ID"}, "primary_billing_group_id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "Billing group ID"}, "root_account_id": {"type": "string", "maxLength": 36, "description": "Account ID"}, "tenant_id": {"type": "string", "maxLength": 64, "description": "Tenant identifier"}, "update_time": {"type": "string", "maxLength": 36, "description": "Timestamp in ISO 8601 format, always in UTC"}}, "required": ["account_id", "account_name", "account_owner_team_id", "create_time", "is_account_owner", "organization_id", "primary_billing_group_id", "root_account_id", "update_time"]}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}, "required": ["account"]}, "AccountPaymentMethodDeleteResponse": {"type": "object", "description": "AccountPaymentMethodDeleteResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}}, "AccountPaymentMethodsListResponse": {"type": "object", "description": "AccountPaymentMethodsListResponse", "properties": {"cards": {"type": "array", "description": "List of account's credit cards", "items": {"type": "object", "properties": {"brand": {"type": "string", "description": "Brand"}, "card_id": {"type": "string", "maxLength": 64, "description": "Credit card ID"}, "country": {"type": "string", "maxLength": 128, "description": "Country"}, "country_code": {"type": "string", "maxLength": 2, "description": "Two letter ISO country code"}, "exp_month": {"type": "integer", "minimum": 1, "maximum": 12, "description": "Expiration month"}, "exp_year": {"type": "integer", "minimum": 2015, "maximum": 2100, "description": "Expiration year"}, "last4": {"type": "string", "description": "Credit card last four digits"}, "name": {"type": "string", "maxLength": 256, "description": "Name on the credit card"}}, "required": ["brand", "card_id", "country", "country_code", "exp_month", "exp_year", "last4", "name"]}}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}, "required": ["cards"]}, "AccountProjectsListResponse": {"type": "object", "description": "AccountProjectsListResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "projects": {"type": "array", "description": "List of projects", "items": {"type": "object", "properties": {"account_id": {"type": "string", "maxLength": 36, "description": "Account ID"}, "account_name": {"type": "string", "maxLength": 83, "description": "Account name"}, "address_lines": {"type": "array", "maxItems": 16, "description": "Address lines", "items": {"type": "string"}}, "available_credits": {"type": "string", "description": "DEPRECATED: Available credits, in USD. Always 0.00, use billing group credits instead"}, "billing_address": {"type": "string", "maxLength": 1000, "description": "DEPRECATED: use split address fields like company, address_lines, zip_code, city and state instead"}, "billing_currency": {"type": "string", "description": "Billing currency", "enum": ["AUD", "CAD", "CHF", "DKK", "EUR", "GBP", "JPY", "NOK", "NZD", "SEK", "SGD", "USD"]}, "billing_emails": {"type": "array", "maxItems": 10, "description": "List of project billing email addresses", "items": {"type": "object", "properties": {"email": {"type": "string", "maxLength": 254, "description": "User email address"}}, "required": ["email"]}}, "billing_extra_text": {"type": "string", "maxLength": 1000, "description": "Extra text to be included in all project invoices, e.g. purchase order or cost center number"}, "billing_group_id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "Billing group ID"}, "billing_group_name": {"type": "string", "maxLength": 128, "description": "Billing group name"}, "card_info": {"type": "object", "description": "Credit card assigned to the project", "properties": {"brand": {"type": "string", "description": "Brand"}, "card_id": {"type": "string", "maxLength": 64, "description": "Credit card ID"}, "country": {"type": "string", "maxLength": 128, "description": "Country"}, "country_code": {"type": "string", "maxLength": 2, "description": "Two letter ISO country code"}, "exp_month": {"type": "integer", "minimum": 1, "maximum": 12, "description": "Expiration month"}, "exp_year": {"type": "integer", "minimum": 2015, "maximum": 2100, "description": "Expiration year"}, "last4": {"type": "string", "description": "Credit card last four digits"}, "name": {"type": "string", "maxLength": 256, "description": "Name on the credit card"}, "user_email": {"type": "string", "maxLength": 254, "description": "User email address"}}, "required": ["brand", "card_id", "country", "country_code", "exp_month", "exp_year", "last4", "name", "user_email"]}, "city": {"type": "string", "maxLength": 512, "description": "Address city"}, "company": {"type": "string", "maxLength": 128, "description": "Name of a company"}, "country": {"type": "string", "maxLength": 128, "description": "Billing country"}, "country_code": {"type": "string", "maxLength": 2, "description": "Two letter ISO country code"}, "default_cloud": {"type": "string", "maxLength": 256, "description": "Default cloud to use when launching services"}, "end_of_life_extension": {"type": "object", "description": "End of life extension information", "properties": {"elasticsearch": {"type": "object", "description": "Service EOL extension", "properties": {"eol_date": {"type": "string", "description": "Extended EOL date"}, "version": {"type": "string", "description": "Service version"}}, "required": ["eol_date", "version"]}}}, "estimated_balance": {"type": "string", "description": "Estimated balance, in USD"}, "estimated_balance_local": {"type": "string", "description": "Estimated balance, in billing currency"}, "features": {"type": "object", "description": "Feature flags", "properties": {}}, "organization_id": {"type": "string", "maxLength": 36, "description": "Organization ID"}, "payment_method": {"type": "string", "description": "Payment method"}, "project_name": {"type": "string", "maxLength": 63, "description": "Project name"}, "state": {"type": "string", "maxLength": 128, "description": "Address state or province"}, "tags": {"type": "object", "description": "Set of resource tags", "properties": {}}, "tech_emails": {"type": "array", "maxItems": 10, "description": "List of project tech email addresses", "items": {"type": "object", "properties": {"email": {"type": "string", "maxLength": 254, "description": "User email address"}}, "required": ["email"]}}, "tenant_id": {"type": "string", "description": "Tenant ID"}, "trial_expiration_time": {"type": "string", "maxLength": 36, "description": "Trial expiration time (ISO 8601)"}, "vat_id": {"type": "string", "maxLength": 64, "description": "EU VAT Identification Number"}, "zip_code": {"type": "string", "maxLength": 32, "description": "Address zip code"}}, "required": ["account_id", "billing_address", "billing_emails", "billing_group_id", "billing_group_name", "country", "country_code", "default_cloud", "estimated_balance", "organization_id", "payment_method", "project_name", "vat_id"]}}, "total_project_count": {"type": "integer", "description": "Total count of projects associated to account."}}, "required": ["projects"]}, "AccountProjectsTeamsListResponse": {"type": "object", "description": "AccountProjectsTeamsListResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "teams": {"type": "array", "description": "List of teams", "items": {"type": "object", "properties": {"account_id": {"type": "string", "maxLength": 36, "description": "Account ID"}, "create_time": {"type": "string", "maxLength": 36, "description": "Timestamp in ISO 8601 format, always in UTC"}, "team_id": {"type": "string", "maxLength": 32, "description": "Team ID"}, "team_name": {"type": "string", "maxLength": 128, "description": "Team name"}, "team_type": {"type": "string", "description": "Team type (permission level)", "enum": ["admin", "operator", "developer", "read_only", "project:integrations:read", "project:integrations:write", "project:networking:read", "project:networking:write", "project:permissions:read", "service:configuration:write", "service:logs:read", "project:services:read", "project:services:write", "project:audit_logs:read", "service:data:write", "service:secrets:read", "service:users:write", "role:project:admin", "role:services:maintenance", "role:services:recover", "organization:projects:write", "organization:billing:read", "organization:billing:write", "organization:audit_logs:read", "organization:users:write", "organization:app_users:write", "organization:groups:write", "organization:domains:write", "organization:networking:read", "organization:networking:write", "role:organization:admin"]}, "update_time": {"type": "string", "maxLength": 36, "description": "Timestamp in ISO 8601 format, always in UTC"}}, "required": ["team_id", "team_name"]}}}, "required": ["teams"]}, "AccountTeamCreateRequestBody": {"type": "object", "description": "AccountTeamCreateRequestBody", "properties": {"team_name": {"type": "string", "maxLength": 128, "description": "Team name"}}, "required": ["team_name"]}, "AccountTeamCreateResponse": {"type": "object", "description": "AccountTeamCreateResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "team": {"type": "object", "description": "Account Team details", "properties": {"account_id": {"type": "string", "maxLength": 36, "description": "Account ID"}, "create_time": {"type": "string", "maxLength": 36, "description": "Timestamp in ISO 8601 format, always in UTC"}, "team_id": {"type": "string", "maxLength": 32, "description": "Team ID"}, "team_name": {"type": "string", "maxLength": 128, "description": "Team name"}, "update_time": {"type": "string", "maxLength": 36, "description": "Timestamp in ISO 8601 format, always in UTC"}}, "required": ["team_id", "team_name"]}}, "required": ["team"]}, "AccountTeamDeleteResponse": {"type": "object", "description": "AccountTeamDeleteResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}}, "AccountTeamGetResponse": {"type": "object", "description": "AccountTeamGetResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "team": {"type": "object", "description": "Account Team details", "properties": {"account_id": {"type": "string", "maxLength": 36, "description": "Account ID"}, "create_time": {"type": "string", "maxLength": 36, "description": "Timestamp in ISO 8601 format, always in UTC"}, "team_id": {"type": "string", "maxLength": 32, "description": "Team ID"}, "team_name": {"type": "string", "maxLength": 128, "description": "Team name"}, "update_time": {"type": "string", "maxLength": 36, "description": "Timestamp in ISO 8601 format, always in UTC"}}, "required": ["team_id", "team_name"]}}, "required": ["team"]}, "AccountTeamInvitesListResponse": {"type": "object", "description": "AccountTeamInvitesListResponse", "properties": {"account_invites": {"type": "array", "description": "List of invites", "items": {"type": "object", "properties": {"account_id": {"type": "string", "maxLength": 36, "description": "Account ID"}, "account_name": {"type": "string", "maxLength": 83, "description": "Account name"}, "create_time": {"type": "string", "maxLength": 36, "description": "Timestamp in ISO 8601 format, always in UTC"}, "invited_by_user_email": {"type": "string", "maxLength": 254, "description": "User email address"}, "team_id": {"type": "string", "maxLength": 32, "description": "Team ID"}, "team_name": {"type": "string", "maxLength": 128, "description": "Team name"}, "user_email": {"type": "string", "maxLength": 254, "description": "User email address"}}, "required": ["account_id", "account_name", "create_time", "invited_by_user_email", "team_id", "team_name", "user_email"]}}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}, "required": ["account_invites"]}, "AccountTeamListResponse": {"type": "object", "description": "AccountTeamListResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "teams": {"type": "array", "description": "List of teams", "items": {"type": "object", "properties": {"account_id": {"type": "string", "maxLength": 36, "description": "Account ID"}, "create_time": {"type": "string", "maxLength": 36, "description": "Timestamp in ISO 8601 format, always in UTC"}, "team_id": {"type": "string", "maxLength": 32, "description": "Team ID"}, "team_name": {"type": "string", "maxLength": 128, "description": "Team name"}, "update_time": {"type": "string", "maxLength": 36, "description": "Timestamp in ISO 8601 format, always in UTC"}}, "required": ["team_id", "team_name"]}}}, "required": ["teams"]}, "AccountTeamMemberCancelInviteResponse": {"type": "object", "description": "AccountTeamMemberCancelInviteResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}}, "AccountTeamMemberVerifyInviteResponse": {"type": "object", "description": "AccountTeamMemberVerifyInviteResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "invite_details": {"type": "object", "description": "Details of verified invite", "properties": {"user_email": {"type": "string", "maxLength": 254, "description": "User email address"}}, "required": ["user_email"]}, "message": {"type": "string", "description": "Printable result of the request"}}, "required": ["invite_details"]}, "AccountTeamMembersDeleteResponse": {"type": "object", "description": "AccountTeamMembersDeleteResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}}, "AccountTeamMembersInviteRequestBody": {"type": "object", "description": "AccountTeamMembersInviteRequestBody", "properties": {"email": {"type": "string", "maxLength": 254, "description": "User email address"}}, "required": ["email"]}, "AccountTeamMembersInviteResponse": {"type": "object", "description": "AccountTeamMembersInviteResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}}, "AccountTeamMembersListResponse": {"type": "object", "description": "AccountTeamMembersListResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "members": {"type": "array", "description": "List of account team members", "items": {"type": "object", "properties": {"create_time": {"type": "string", "maxLength": 36, "description": "Timestamp in ISO 8601 format, always in UTC"}, "real_name": {"type": "string", "maxLength": 256, "description": "User real name"}, "team_id": {"type": "string", "maxLength": 32, "description": "Team ID"}, "team_name": {"type": "string", "maxLength": 128, "description": "Team name"}, "update_time": {"type": "string", "maxLength": 36, "description": "Timestamp in ISO 8601 format, always in UTC"}, "user_email": {"type": "string", "maxLength": 254, "description": "User email address"}, "user_id": {"type": "string", "description": "User ID"}}, "required": ["create_time", "real_name", "team_id", "team_name", "update_time", "user_email", "user_id"]}}, "message": {"type": "string", "description": "Printable result of the request"}}, "required": ["members"]}, "AccountTeamProjectAssociateRequestBody": {"type": "object", "description": "AccountTeamProjectAssociateRequestBody", "properties": {"team_type": {"type": "string", "description": "Team type (permission level)", "enum": ["admin", "operator", "developer", "read_only", "project:integrations:read", "project:integrations:write", "project:networking:read", "project:networking:write", "project:permissions:read", "service:configuration:write", "service:logs:read", "project:services:read", "project:services:write", "project:audit_logs:read", "service:data:write", "service:secrets:read", "service:users:write", "role:project:admin", "role:services:maintenance", "role:services:recover", "organization:projects:write", "organization:billing:read", "organization:billing:write", "organization:audit_logs:read", "organization:users:write", "organization:app_users:write", "organization:groups:write", "organization:domains:write", "organization:networking:read", "organization:networking:write", "role:organization:admin"]}}, "required": ["team_type"]}, "AccountTeamProjectAssociateResponse": {"type": "object", "description": "AccountTeamProjectAssociateResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}}, "AccountTeamProjectAssociationUpdateRequestBody": {"type": "object", "description": "AccountTeamProjectAssociationUpdateRequestBody", "properties": {"team_type": {"type": "string", "description": "Team type (permission level)", "enum": ["admin", "operator", "developer", "read_only", "project:integrations:read", "project:integrations:write", "project:networking:read", "project:networking:write", "project:permissions:read", "service:configuration:write", "service:logs:read", "project:services:read", "project:services:write", "project:audit_logs:read", "service:data:write", "service:secrets:read", "service:users:write", "role:project:admin", "role:services:maintenance", "role:services:recover", "organization:projects:write", "organization:billing:read", "organization:billing:write", "organization:audit_logs:read", "organization:users:write", "organization:app_users:write", "organization:groups:write", "organization:domains:write", "organization:networking:read", "organization:networking:write", "role:organization:admin"]}}}, "AccountTeamProjectAssociationUpdateResponse": {"type": "object", "description": "AccountTeamProjectAssociationUpdateResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}}, "AccountTeamProjectDisassociateResponse": {"type": "object", "description": "AccountTeamProjectDisassociateResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}}, "AccountTeamProjectListResponse": {"type": "object", "description": "AccountTeamProjectListResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "projects": {"type": "array", "description": "List of projects associated to a team", "items": {"type": "object", "properties": {"project_name": {"type": "string", "maxLength": 63, "description": "Project name"}, "team_type": {"type": "string", "description": "Team type (permission level)", "enum": ["admin", "operator", "developer", "read_only", "project:integrations:read", "project:integrations:write", "project:networking:read", "project:networking:write", "project:permissions:read", "service:configuration:write", "service:logs:read", "project:services:read", "project:services:write", "project:audit_logs:read", "service:data:write", "service:secrets:read", "service:users:write", "role:project:admin", "role:services:maintenance", "role:services:recover", "organization:projects:write", "organization:billing:read", "organization:billing:write", "organization:audit_logs:read", "organization:users:write", "organization:app_users:write", "organization:groups:write", "organization:domains:write", "organization:networking:read", "organization:networking:write", "role:organization:admin"]}}, "required": ["project_name", "team_type"]}}}, "required": ["projects"]}, "AccountTeamUpdateRequestBody": {"type": "object", "description": "AccountTeamUpdateRequestBody", "properties": {"team_name": {"type": "string", "maxLength": 128, "description": "Team name"}}, "required": ["team_name"]}, "AccountTeamUpdateResponse": {"type": "object", "description": "AccountTeamUpdateResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "team": {"type": "object", "description": "Account Team details", "properties": {"account_id": {"type": "string", "maxLength": 36, "description": "Account ID"}, "create_time": {"type": "string", "maxLength": 36, "description": "Timestamp in ISO 8601 format, always in UTC"}, "team_id": {"type": "string", "maxLength": 32, "description": "Team ID"}, "team_name": {"type": "string", "maxLength": 128, "description": "Team name"}, "update_time": {"type": "string", "maxLength": 36, "description": "Timestamp in ISO 8601 format, always in UTC"}}, "required": ["team_id", "team_name"]}}, "required": ["team"]}, "AccountUpdateRequestBody": {"type": "object", "description": "AccountUpdateRequestBody", "properties": {"account_name": {"type": "string", "maxLength": 83, "description": "Account name"}, "primary_billing_group_id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "Billing group ID"}}}, "AccountUpdateResponse": {"type": "object", "description": "AccountUpdateResponse", "properties": {"account": {"type": "object", "description": "Account details", "properties": {"access_source": {"type": "string", "description": "Describe the source of the account", "enum": ["descendant_membership", "organization_membership", "project_membership", "team_membership"]}, "account_id": {"type": "string", "maxLength": 36, "description": "Account ID"}, "account_name": {"type": "string", "maxLength": 83, "description": "Account name"}, "account_owner_team_id": {"type": "string", "maxLength": 32, "description": "Team ID"}, "create_time": {"type": "string", "maxLength": 36, "description": "Timestamp in ISO 8601 format, always in UTC"}, "features": {"type": "object", "description": "Feature flags", "properties": {}}, "is_account_member": {"type": "boolean", "description": "If true, user is part of a team of this or a parent account"}, "is_account_owner": {"type": "boolean", "description": "If true, user is part of the owners team for this account"}, "organization_id": {"type": "string", "maxLength": 36, "description": "Organization ID"}, "parent_account_id": {"type": "string", "maxLength": 36, "description": "Account ID"}, "primary_billing_group_id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "Billing group ID"}, "root_account_id": {"type": "string", "maxLength": 36, "description": "Account ID"}, "tenant_id": {"type": "string", "maxLength": 64, "description": "Tenant identifier"}, "update_time": {"type": "string", "maxLength": 36, "description": "Timestamp in ISO 8601 format, always in UTC"}}, "required": ["account_id", "account_name", "account_owner_team_id", "create_time", "is_account_owner", "organization_id", "primary_billing_group_id", "root_account_id", "update_time"]}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}, "required": ["account"]}, "AccountUserProjectsListResponse": {"type": "object", "description": "AccountUserProjectsListResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "user_projects": {"type": "array", "description": "List of user's projects", "items": {"type": "object", "properties": {"access_type": {"type": "string", "description": "Access type"}, "account_id": {"type": "string", "maxLength": 36, "description": "Account ID"}, "create_time": {"type": "string", "maxLength": 36, "description": "Timestamp in ISO 8601 format, always in UTC"}, "member_type": {"type": "string", "description": "Project member type", "enum": ["admin", "developer", "operator", "organization:app_users:write", "organization:audit_logs:read", "organization:billing:read", "organization:billing:write", "organization:domains:write", "organization:groups:write", "organization:networking:read", "organization:networking:write", "organization:projects:write", "organization:users:write", "project:audit_logs:read", "project:integrations:read", "project:integrations:write", "project:networking:read", "project:networking:write", "project:permissions:read", "project:services:read", "project:services:write", "read_only", "role:organization:admin", "role:project:admin", "role:services:maintenance", "role:services:recover", "service:configuration:write", "service:data:write", "service:logs:read", "service:secrets:read", "service:users:write"]}, "project_name": {"type": "string", "maxLength": 63, "description": "Project name"}, "real_name": {"type": "string", "maxLength": 256, "description": "User real name"}, "team_id": {"type": "string", "maxLength": 32, "description": "Team ID"}, "team_name": {"type": "string", "maxLength": 128, "description": "Team name"}, "user_email": {"type": "string", "maxLength": 254, "description": "User email address"}}, "required": ["account_id", "create_time", "member_type", "project_name", "real_name", "team_id", "team_name", "user_email"]}}}, "required": ["user_projects"]}, "AccountUserTeamsListResponse": {"type": "object", "description": "AccountUserTeamsListResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "teams": {"type": "array", "description": "List of teams", "items": {"type": "object", "properties": {"account_id": {"type": "string", "maxLength": 36, "description": "Account ID"}, "account_name": {"type": "string", "maxLength": 83, "description": "Account name"}, "team_id": {"type": "string", "maxLength": 32, "description": "Team ID"}, "team_name": {"type": "string", "maxLength": 128, "description": "Team name"}}, "required": ["account_id", "account_name", "team_id", "team_name"]}}}, "required": ["teams"]}, "AccountUsersSearchRequestBody": {"type": "object", "description": "AccountUsersSearchRequestBody", "properties": {"limit": {"type": "integer", "minimum": 1, "maximum": 500, "description": "Maximum number of results to return", "default": 100}, "order_by": {"type": "string", "description": "Sorting criteria; desc is descending order and asc ascending", "enum": ["user_email:asc", "user_email:desc", "user_id:asc", "user_id:desc", "real_name:asc", "real_name:desc"]}, "query": {"type": "string", "maxLength": 128, "description": "Very simple filtering is used; a single word is recommended", "title": "Filter keyword"}}}, "AccountUsersSearchResponse": {"type": "object", "description": "AccountUsersSearchResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "users": {"type": "array", "description": "List of users", "items": {"type": "object", "properties": {"real_name": {"type": "string", "maxLength": 256, "description": "User real name"}, "user_email": {"type": "string", "maxLength": 254, "description": "User email address"}, "user_id": {"type": "string", "description": "User ID"}}, "required": ["real_name", "user_email", "user_id"]}}}, "required": ["users"]}, "ApplicationUserAccessTokenCreateRequestBody": {"type": "object", "description": "ApplicationUserAccessTokenCreateRequestBody", "properties": {"description": {"type": "string", "maxLength": 1000, "description": "Description"}, "extend_when_used": {"type": "boolean", "description": "Extend token expiration time when token is used. Only applicable if max_age_seconds is specified.", "default": false}, "ip_allowlist": {"type": "array", "maxItems": 100, "description": "List of allowed IP ranges", "items": {"type": "string"}}, "max_age_seconds": {"type": "integer", "minimum": 600, "maximum": 315360000, "description": "Time the token remains valid since creation (or since last use if extend_when_used is true)"}, "scopes": {"type": "array", "maxItems": 100, "description": "Scopes this token is restricted to if specified", "items": {"type": "string"}}}, "required": ["description"]}, "ApplicationUserAccessTokenCreateResponse": {"type": "object", "description": "ApplicationUserAccessTokenCreateResponse", "properties": {"full_token": {"type": "string", "description": "Full Token"}, "token_prefix": {"type": "string", "description": "Token Prefix"}}, "required": ["full_token", "token_prefix"]}, "ApplicationUserAccessTokensListResponse": {"type": "object", "description": "ApplicationUserAccessTokensListResponse", "properties": {"tokens": {"type": "array", "description": "Tokens", "items": {"type": "object", "properties": {"create_time": {"type": "string", "maxLength": 36, "description": "Create Time"}, "created_manually": {"type": "boolean", "description": "True for tokens explicitly created via the access_tokens API, false for tokens created via login."}, "currently_active": {"type": "boolean", "description": "true if API request was made with this access token"}, "description": {"type": "string", "maxLength": 1000, "description": "Description"}, "expiry_time": {"type": "string", "maxLength": 36, "description": "Timestamp when the access token will expire unless extended, if ever"}, "extend_when_used": {"type": "boolean", "description": "Extend token expiration time when token is used. Only applicable if max_age_seconds is specified.", "default": false}, "ip_allowlist": {"type": "array", "maxItems": 100, "description": "List of allowed IP ranges", "items": {"type": "string"}}, "last_ip": {"type": "string", "description": "IP address the access token was last used from in case it has ever been used"}, "last_used_time": {"type": "string", "maxLength": 36, "description": "Timestamp when the access token was last used, if ever"}, "last_user_agent": {"type": "string", "description": "User agent string of the client that last used the token in case it has ever been used"}, "last_user_agent_human_readable": {"type": "string", "description": "Human readable user agent string of the client that last used the token in case user agent is known"}, "max_age_seconds": {"type": "integer", "minimum": 600, "maximum": 315360000, "description": "Time the token remains valid since creation (or since last use if extend_when_used is true)"}, "scopes": {"type": "array", "maxItems": 100, "description": "Scopes this token is restricted to if specified", "items": {"type": "string"}}, "token_prefix": {"type": "string", "description": "First characters of the actual token value. Full value is only exposed after creation. This value is used when updating or revoking tokens. Note that the value may contain /, + and = characters and must be URL encoded when used (/ =&gt; %2F, + =&gt; %2B, = =&gt; %3D)."}}, "required": ["create_time", "created_manually", "currently_active", "token_prefix"]}}}, "required": ["tokens"]}, "ApplicationUserCreateRequestBody": {"type": "object", "description": "ApplicationUserCreateRequestBody", "properties": {"is_super_admin": {"type": "boolean", "description": "Alters super admin state of the organization application user"}, "name": {"type": "string", "description": "Name"}}, "required": ["name"]}, "ApplicationUserCreateResponse": {"type": "object", "description": "ApplicationUserCreateResponse", "properties": {"is_super_admin": {"type": "boolean", "description": "Super admin state of the organization application user"}, "name": {"type": "string", "description": "Name"}, "user_email": {"type": "string", "maxLength": 254, "description": "User Email"}, "user_id": {"type": "string", "description": "User ID"}}, "required": ["is_super_admin", "name", "user_email", "user_id"]}, "ApplicationUserGetResponse": {"type": "object", "description": "ApplicationUserGetResponse", "properties": {"is_super_admin": {"type": "boolean", "description": "Super admin state of the organization application user"}, "name": {"type": "string", "description": "Name"}, "user_email": {"type": "string", "maxLength": 254, "description": "User Email"}, "user_id": {"type": "string", "description": "User ID"}}, "required": ["is_super_admin", "name", "user_email", "user_id"]}, "ApplicationUserUpdateRequestBody": {"type": "object", "description": "ApplicationUserUpdateRequestBody", "properties": {"is_super_admin": {"type": "boolean", "description": "Alters super admin state of the organization application user"}, "name": {"type": "string", "description": "Name"}}, "required": ["name"]}, "ApplicationUserUpdateResponse": {"type": "object", "description": "ApplicationUserUpdateResponse", "properties": {"is_super_admin": {"type": "boolean", "description": "Super admin state of the organization application user"}, "name": {"type": "string", "description": "Name"}, "user_email": {"type": "string", "maxLength": 254, "description": "User Email"}, "user_id": {"type": "string", "description": "User ID"}}, "required": ["is_super_admin", "name", "user_email", "user_id"]}, "ApplicationUsersListResponse": {"type": "object", "description": "ApplicationUsersListResponse", "properties": {"application_users": {"type": "array", "description": "Application Users", "items": {"type": "object", "properties": {"is_super_admin": {"type": "boolean", "description": "Super admin state of the organization application user"}, "name": {"type": "string", "description": "Name"}, "user_email": {"type": "string", "maxLength": 254, "description": "User Email"}, "user_id": {"type": "string", "description": "User ID"}}, "required": ["is_super_admin", "name", "user_email", "user_id"]}}}, "required": ["application_users"]}, "OrganizationAuthDomainLinkRequestBody": {"type": "object", "description": "OrganizationAuthDomainLinkRequestBody", "properties": {"domain_id": {"type": "string", "description": "ID of the domain"}}, "required": ["domain_id"]}, "OrganizationAuthDomainListResponse": {"type": "object", "description": "OrganizationAuthDomainListResponse", "properties": {"domains": {"type": "array", "description": "List of domains for the organization", "items": {"type": "object", "properties": {"challenge_token": {"type": "string", "description": "Random string to be used for validation"}, "create_time": {"type": "string", "maxLength": 36, "description": "Time of creating the domain"}, "domain_id": {"type": "string", "description": "ID of the domain"}, "domain_name": {"type": "string", "description": "Name of the domain"}, "linked_authentication_method_ids": {"type": "array", "description": "Linked Authentication Method Ids", "items": {"type": "string"}}, "organization_id": {"type": "string", "description": "ID of the organization owning this domain"}, "state": {"type": "string", "description": "An enumeration.", "title": "State of the verification process", "enum": ["deleted", "unverified", "verified"]}, "verification_type": {"type": "string", "description": "An enumeration.", "title": "Type of verification to be made", "enum": ["dns", "http"]}}, "required": ["challenge_token", "create_time", "domain_id", "domain_name", "linked_authentication_method_ids", "organization_id", "state", "verification_type"]}}}, "required": ["domains"]}, "BillingGroupCreateRequestBody": {"type": "object", "description": "BillingGroupCreateRequestBody", "properties": {"account_id": {"type": "string", "maxLength": 36, "description": "Account ID"}, "address_lines": {"type": "array", "maxItems": 16, "description": "Address lines", "items": {"type": "string"}}, "billing_address_id": {"type": "string", "maxLength": 36, "description": "Address ID"}, "billing_contact_emails": {"type": "array", "maxItems": 10, "description": "List of billing groups contact email addresses", "items": {"type": "object", "properties": {"email": {"type": "string", "maxLength": 254, "description": "User email address"}}, "required": ["email"]}}, "billing_currency": {"type": "string", "description": "Billing currency", "enum": ["AUD", "CAD", "CHF", "DKK", "EUR", "GBP", "JPY", "NOK", "NZD", "SEK", "SGD", "USD"]}, "billing_emails": {"type": "array", "maxItems": 10, "description": "List of project billing email addresses", "items": {"type": "object", "properties": {"email": {"type": "string", "maxLength": 254, "description": "User email address"}}, "required": ["email"]}}, "billing_extra_text": {"type": "string", "maxLength": 1000, "description": "Extra text to be included in all project invoices, e.g. purchase order or cost center number"}, "billing_group_name": {"type": "string", "maxLength": 128, "description": "Billing group name"}, "card_id": {"type": "string", "maxLength": 64, "description": "Credit card ID"}, "city": {"type": "string", "maxLength": 512, "description": "Address city"}, "company": {"type": "string", "maxLength": 128, "description": "Name of a company"}, "copy_from_billing_group": {"type": "string", "minLength": 36, "maxLength": 36, "description": "Billing group ID"}, "country_code": {"type": "string", "maxLength": 2, "description": "Two letter country code for billing country"}, "shipping_address_id": {"type": "string", "maxLength": 36, "description": "Address ID"}, "state": {"type": "string", "maxLength": 128, "description": "Address state or province"}, "vat_id": {"type": "string", "maxLength": 64, "description": "EU VAT Identification Number"}, "zip_code": {"type": "string", "maxLength": 32, "description": "Address zip code"}}, "required": ["billing_group_name"]}, "BillingGroupCreateResponse": {"type": "object", "description": "BillingGroupCreateResponse", "properties": {"billing_group": {"type": "object", "description": "Billing group information", "properties": {"account_id": {"type": "string", "maxLength": 36, "description": "Account ID"}, "account_name": {"type": "string", "maxLength": 83, "description": "Account name"}, "address_lines": {"type": "array", "maxItems": 16, "description": "Address lines", "items": {"type": "string"}}, "billing_address": {"type": "string", "maxLength": 1000, "description": "DEPRECATED: use split address fields like company, address_lines, zip_code, city and state instead"}, "billing_address_id": {"type": "string", "maxLength": 36, "description": "Address ID"}, "billing_contact_emails": {"type": "array", "maxItems": 10, "description": "List of billing groups contact email addresses", "items": {"type": "object", "properties": {"email": {"type": "string", "maxLength": 254, "description": "User email address"}}, "required": ["email"]}}, "billing_currency": {"type": "string", "description": "Billing currency", "enum": ["AUD", "CAD", "CHF", "DKK", "EUR", "GBP", "JPY", "NOK", "NZD", "SEK", "SGD", "USD"]}, "billing_emails": {"type": "array", "maxItems": 10, "description": "List of project billing email addresses", "items": {"type": "object", "properties": {"email": {"type": "string", "maxLength": 254, "description": "User email address"}}, "required": ["email"]}}, "billing_extra_text": {"type": "string", "maxLength": 1000, "description": "Extra text to be included in all project invoices, e.g. purchase order or cost center number"}, "billing_group_id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "Billing group ID"}, "billing_group_name": {"type": "string", "maxLength": 128, "description": "Billing group name"}, "billing_type": {"type": "string", "description": "Method of charging/invoicing this project"}, "card_info": {"type": "object", "description": "Credit card assigned to the project", "properties": {"brand": {"type": "string", "description": "Brand"}, "card_id": {"type": "string", "maxLength": 64, "description": "Credit card ID"}, "country": {"type": "string", "maxLength": 128, "description": "Country"}, "country_code": {"type": "string", "maxLength": 2, "description": "Two letter ISO country code"}, "exp_month": {"type": "integer", "minimum": 1, "maximum": 12, "description": "Expiration month"}, "exp_year": {"type": "integer", "minimum": 2015, "maximum": 2100, "description": "Expiration year"}, "last4": {"type": "string", "description": "Credit card last four digits"}, "name": {"type": "string", "maxLength": 256, "description": "Name on the credit card"}, "user_email": {"type": "string", "maxLength": 254, "description": "User email address"}}, "required": ["brand", "card_id", "country", "country_code", "exp_month", "exp_year", "last4", "name", "user_email"]}, "city": {"type": "string", "maxLength": 512, "description": "Address city"}, "company": {"type": "string", "maxLength": 128, "description": "Name of a company"}, "country": {"type": "string", "maxLength": 128, "description": "Billing country"}, "country_code": {"type": "string", "maxLength": 2, "description": "Two letter ISO country code"}, "create_time": {"type": "string", "maxLength": 36, "description": "Timestamp in ISO 8601 format, always in UTC"}, "estimated_balance_local": {"type": "string", "description": "Estimated balance in billing currency, before tax"}, "estimated_balance_usd": {"type": "string", "description": "Estimated balance in USD, before tax"}, "payment_method": {"type": "string", "description": "Payment method", "enum": ["accrual", "card", "disabled", "email", "no_payment_expected", "partner"]}, "shipping_address_id": {"type": "string", "maxLength": 36, "description": "Address ID"}, "state": {"type": "string", "maxLength": 128, "description": "Address state or province"}, "vat_id": {"type": "string", "maxLength": 64, "description": "EU VAT Identification Number"}, "zip_code": {"type": "string", "maxLength": 32, "description": "Address zip code"}}, "required": ["account_id", "account_name", "address_lines", "billing_address_id", "billing_contact_emails", "billing_currency", "billing_emails", "billing_extra_text", "billing_group_id", "billing_group_name", "billing_type", "card_info", "city", "company", "country", "country_code", "create_time", "estimated_balance_local", "estimated_balance_usd", "payment_method", "shipping_address_id", "state", "vat_id", "zip_code"]}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}, "required": ["billing_group"]}, "BillingGroupCreditsClaimRequestBody": {"type": "object", "description": "BillingGroupCreditsClaimRequestBody", "properties": {"code": {"type": "string", "maxLength": 1024, "description": "Credit code"}}, "required": ["code"]}, "BillingGroupCreditsClaimResponse": {"type": "object", "description": "BillingGroupCreditsClaimResponse", "properties": {"credit": {"type": "object", "description": "Assigned credit", "properties": {"code": {"type": "string", "maxLength": 1024, "description": "Credit code"}, "expire_time": {"type": "string", "maxLength": 36, "description": "Timestamp in ISO 8601 format, always in UTC"}, "remaining_value": {"type": "string", "description": "Remaining credit value"}, "start_time": {"type": "string", "maxLength": 36, "description": "Timestamp in ISO 8601 format, always in UTC"}, "type": {"type": "string", "description": "Credit type", "enum": ["discount", "employee", "evaluation", "internal", "other", "outage", "partner", "promotion", "purchase", "referral", "sponsorship", "trial", "trial_over"]}, "value": {"type": "string", "description": "Original credit value, or for expired credits, the consumed credit value"}}}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}, "required": ["credit"]}, "BillingGroupCreditsListResponse": {"type": "object", "description": "BillingGroupCreditsListResponse", "properties": {"credits": {"type": "array", "description": "List of credits assigned to a billing group", "items": {"type": "object", "properties": {"code": {"type": "string", "maxLength": 1024, "description": "Credit code"}, "expire_time": {"type": "string", "maxLength": 36, "description": "Timestamp in ISO 8601 format, always in UTC"}, "remaining_value": {"type": "string", "description": "Remaining credit value"}, "start_time": {"type": "string", "maxLength": 36, "description": "Timestamp in ISO 8601 format, always in UTC"}, "type": {"type": "string", "description": "Credit type", "enum": ["discount", "employee", "evaluation", "internal", "other", "outage", "partner", "promotion", "purchase", "referral", "sponsorship", "trial", "trial_over"]}, "value": {"type": "string", "description": "Original credit value, or for expired credits, the consumed credit value"}}}}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}, "required": ["credits"]}, "BillingGroupDeleteResponse": {"type": "object", "description": "BillingGroupDeleteResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}}, "BillingGroupEventListResponse": {"type": "object", "description": "BillingGroupEventListResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "events": {"type": "array", "description": "List of events related to a billing group", "items": {"type": "object", "properties": {"actor": {"type": "string", "description": "Initiator of the event"}, "billing_group_id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "Billing group ID"}, "create_time": {"type": "string", "maxLength": 36, "description": "Timestamp in ISO 8601 format, always in UTC"}, "event_desc": {"type": "string", "description": "Event description"}, "event_type": {"type": "string", "description": "Event type identifier"}, "log_entry_id": {"type": "integer", "description": "Entry ID"}, "project_id": {"type": "string", "maxLength": 36, "description": "Identifier of a project"}, "project_name": {"type": "string", "maxLength": 63, "description": "Project name"}}}}, "message": {"type": "string", "description": "Printable result of the request"}}, "required": ["events"]}, "BillingGroupGetResponse": {"type": "object", "description": "BillingGroupGetResponse", "properties": {"billing_group": {"type": "object", "description": "Billing group information", "properties": {"account_id": {"type": "string", "maxLength": 36, "description": "Account ID"}, "account_name": {"type": "string", "maxLength": 83, "description": "Account name"}, "address_lines": {"type": "array", "maxItems": 16, "description": "Address lines", "items": {"type": "string"}}, "billing_address": {"type": "string", "maxLength": 1000, "description": "DEPRECATED: use split address fields like company, address_lines, zip_code, city and state instead"}, "billing_address_id": {"type": "string", "maxLength": 36, "description": "Address ID"}, "billing_contact_emails": {"type": "array", "maxItems": 10, "description": "List of billing groups contact email addresses", "items": {"type": "object", "properties": {"email": {"type": "string", "maxLength": 254, "description": "User email address"}}, "required": ["email"]}}, "billing_currency": {"type": "string", "description": "Billing currency", "enum": ["AUD", "CAD", "CHF", "DKK", "EUR", "GBP", "JPY", "NOK", "NZD", "SEK", "SGD", "USD"]}, "billing_emails": {"type": "array", "maxItems": 10, "description": "List of project billing email addresses", "items": {"type": "object", "properties": {"email": {"type": "string", "maxLength": 254, "description": "User email address"}}, "required": ["email"]}}, "billing_extra_text": {"type": "string", "maxLength": 1000, "description": "Extra text to be included in all project invoices, e.g. purchase order or cost center number"}, "billing_group_id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "Billing group ID"}, "billing_group_name": {"type": "string", "maxLength": 128, "description": "Billing group name"}, "billing_type": {"type": "string", "description": "Method of charging/invoicing this project"}, "card_info": {"type": "object", "description": "Credit card assigned to the project", "properties": {"brand": {"type": "string", "description": "Brand"}, "card_id": {"type": "string", "maxLength": 64, "description": "Credit card ID"}, "country": {"type": "string", "maxLength": 128, "description": "Country"}, "country_code": {"type": "string", "maxLength": 2, "description": "Two letter ISO country code"}, "exp_month": {"type": "integer", "minimum": 1, "maximum": 12, "description": "Expiration month"}, "exp_year": {"type": "integer", "minimum": 2015, "maximum": 2100, "description": "Expiration year"}, "last4": {"type": "string", "description": "Credit card last four digits"}, "name": {"type": "string", "maxLength": 256, "description": "Name on the credit card"}, "user_email": {"type": "string", "maxLength": 254, "description": "User email address"}}, "required": ["brand", "card_id", "country", "country_code", "exp_month", "exp_year", "last4", "name", "user_email"]}, "city": {"type": "string", "maxLength": 512, "description": "Address city"}, "company": {"type": "string", "maxLength": 128, "description": "Name of a company"}, "country": {"type": "string", "maxLength": 128, "description": "Billing country"}, "country_code": {"type": "string", "maxLength": 2, "description": "Two letter ISO country code"}, "create_time": {"type": "string", "maxLength": 36, "description": "Timestamp in ISO 8601 format, always in UTC"}, "estimated_balance_local": {"type": "string", "description": "Estimated balance in billing currency, before tax"}, "estimated_balance_usd": {"type": "string", "description": "Estimated balance in USD, before tax"}, "payment_method": {"type": "string", "description": "Payment method", "enum": ["accrual", "card", "disabled", "email", "no_payment_expected", "partner"]}, "shipping_address_id": {"type": "string", "maxLength": 36, "description": "Address ID"}, "state": {"type": "string", "maxLength": 128, "description": "Address state or province"}, "vat_id": {"type": "string", "maxLength": 64, "description": "EU VAT Identification Number"}, "zip_code": {"type": "string", "maxLength": 32, "description": "Address zip code"}}, "required": ["account_id", "account_name", "address_lines", "billing_address_id", "billing_contact_emails", "billing_currency", "billing_emails", "billing_extra_text", "billing_group_id", "billing_group_name", "billing_type", "card_info", "city", "company", "country", "country_code", "create_time", "estimated_balance_local", "estimated_balance_usd", "payment_method", "shipping_address_id", "state", "vat_id", "zip_code"]}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}, "required": ["billing_group"]}, "BillingGroupInvoiceGetResponse": {"type": "object", "description": "BillingGroupInvoiceGetResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "invoice": {"type": "object", "description": "A single invoice", "properties": {"due_date": {"type": "string", "description": "The time when the invoice is due"}, "generated_at": {"type": "string", "description": "The time when the invoice was generated"}, "invoice_number": {"type": "string", "maxLength": 128, "description": "Unique invoice reference code"}, "invoice_state": {"type": "string", "description": "State of this invoice", "enum": ["accrual", "consolidated", "due", "estimate", "failed_credit_card_charge", "failed_no_credit_card", "mailed", "no_payment_expected", "paid", "partner_metering", "uncollectible", "waived", "due_only_project_charges_calculated", "estimate_only_project_charges_calculated"]}, "local_inc_vat": {"type": "string", "description": "Invoice total in chosen billing currency, after VAT"}, "local_vat_zero": {"type": "string", "description": "Invoice total in chosen billing currency, before VAT"}}, "required": ["invoice_number", "local_inc_vat", "local_vat_zero"]}, "message": {"type": "string", "description": "Printable result of the request"}}, "required": ["invoice"]}, "BillingGroupInvoiceLinesListResponse": {"type": "object", "description": "BillingGroupInvoiceLinesListResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "lines": {"type": "array", "description": "List of invoice lines", "items": {"type": "object", "properties": {"cloud_name": {"type": "string", "description": "Name of the cloud, if billed resource is associated with a cloud resource"}, "commitment_name": {"type": "string", "description": "Name of the commitment which is referred to this invoice line"}, "description": {"type": "string", "description": "Human-readable short description of the invoice line"}, "line_pre_discount_local": {"type": "string", "description": "Pre-tax sum of invoice line, in local currency, before any discounts"}, "line_total_local": {"type": "string", "description": "Pre-tax sum of invoice line, in the local currency configured for the invoice"}, "line_total_usd": {"type": "string", "description": "Pre-tax sum of invoice line, in USD"}, "line_type": {"type": "string", "description": "Type of the invoice line", "enum": ["commitment_fee", "credit_consumption", "extra_charge", "multiplier", "other_event", "pro_platform_charge", "rounding", "service_charge", "support_charge"]}, "local_currency": {"type": "string", "description": "Currency used for line_local_total"}, "project_name": {"type": "string", "description": "Name of the project this line is associated with, if any"}, "service_name": {"type": "string", "description": "Name of the service, if invoice line is for service use"}, "service_plan": {"type": "string", "description": "Service plan name, if invoice line is for service use"}, "service_type": {"type": "string", "description": "Service type, if invoice line is for service use", "enum": ["alertmanager", "application", "clickhouse", "datahub", "dragonfly", "elasticsearch", "flink", "grafana", "kafka", "kafka_connect", "kafka_mirrormaker", "mysql", "nomadclient", "opensearch", "pg", "sparkpool", "stresstester", "sw", "thanos", "thanoscompactor", "thanosparquet", "thanosquery", "thanosreceiver", "thanosruler", "thanosstore", "valkey", "vector", "vmalert"]}, "tags": {"type": "object", "description": "Billing tags", "properties": {}}, "timestamp_begin": {"type": "string", "description": "Begin timestamp of the billed time period, for resources billed by time"}, "timestamp_end": {"type": "string", "description": "End timestamp of the billed time period, for resources billed by time"}}, "required": ["description", "line_total_usd", "line_type"]}}, "message": {"type": "string", "description": "Printable result of the request"}}}, "BillingGroupInvoiceListResponse": {"type": "object", "description": "BillingGroupInvoiceListResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "invoices": {"type": "array", "description": "List of billing group invoices", "items": {"type": "object", "properties": {"billing_group_id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "Billing group ID"}, "billing_group_name": {"type": "string", "maxLength": 128, "description": "Billing group name"}, "billing_group_state": {"type": "string", "description": "Billing group state", "enum": ["active", "deleted"]}, "currency": {"type": "string", "description": "Billing currency", "enum": ["AUD", "CAD", "CHF", "DKK", "EUR", "GBP", "JPY", "NOK", "NZD", "SEK", "SGD", "USD"]}, "download_cookie": {"type": "string", "description": "Authentication cookie for downloads"}, "due_date": {"type": "string", "description": "The time when the invoice is due"}, "generated_at": {"type": "string", "description": "The time when the invoice was generated"}, "invoice_number": {"type": "string", "maxLength": 128, "description": "Unique invoice reference code"}, "issue_date": {"type": "string", "description": "The time when the invoice was issued"}, "period_begin": {"type": "string", "maxLength": 36, "description": "Period begin"}, "period_end": {"type": "string", "maxLength": 36, "description": "Period end"}, "state": {"type": "string", "description": "State of this invoice", "enum": ["accrual", "consolidated", "due", "estimate", "failed_credit_card_charge", "failed_no_credit_card", "mailed", "no_payment_expected", "paid", "partner_metering", "uncollectible", "waived", "due_only_project_charges_calculated", "estimate_only_project_charges_calculated"]}, "total_inc_vat": {"type": "string", "description": "Total including taxes"}, "total_vat_zero": {"type": "string", "description": "Total excluding taxes"}}, "required": ["billing_group_id", "billing_group_name", "billing_group_state", "currency", "download_cookie", "invoice_number", "period_begin", "period_end", "state", "total_inc_vat", "total_vat_zero"]}}, "message": {"type": "string", "description": "Printable result of the request"}}, "required": ["invoices"]}, "BillingGroupListResponse": {"type": "object", "description": "BillingGroupListResponse", "properties": {"billing_groups": {"type": "array", "description": "List of billing groups", "items": {"type": "object", "properties": {"account_id": {"type": "string", "maxLength": 36, "description": "Account ID"}, "account_name": {"type": "string", "maxLength": 83, "description": "Account name"}, "address_lines": {"type": "array", "maxItems": 16, "description": "Address lines", "items": {"type": "string"}}, "billing_address": {"type": "string", "maxLength": 1000, "description": "DEPRECATED: use split address fields like company, address_lines, zip_code, city and state instead"}, "billing_address_id": {"type": "string", "maxLength": 36, "description": "Address ID"}, "billing_contact_emails": {"type": "array", "maxItems": 10, "description": "List of billing groups contact email addresses", "items": {"type": "object", "properties": {"email": {"type": "string", "maxLength": 254, "description": "User email address"}}, "required": ["email"]}}, "billing_currency": {"type": "string", "description": "Billing currency", "enum": ["AUD", "CAD", "CHF", "DKK", "EUR", "GBP", "JPY", "NOK", "NZD", "SEK", "SGD", "USD"]}, "billing_emails": {"type": "array", "maxItems": 10, "description": "List of project billing email addresses", "items": {"type": "object", "properties": {"email": {"type": "string", "maxLength": 254, "description": "User email address"}}, "required": ["email"]}}, "billing_extra_text": {"type": "string", "maxLength": 1000, "description": "Extra text to be included in all project invoices, e.g. purchase order or cost center number"}, "billing_group_id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "Billing group ID"}, "billing_group_name": {"type": "string", "maxLength": 128, "description": "Billing group name"}, "billing_type": {"type": "string", "description": "Method of charging/invoicing this project"}, "card_info": {"type": "object", "description": "Credit card assigned to the project", "properties": {"brand": {"type": "string", "description": "Brand"}, "card_id": {"type": "string", "maxLength": 64, "description": "Credit card ID"}, "country": {"type": "string", "maxLength": 128, "description": "Country"}, "country_code": {"type": "string", "maxLength": 2, "description": "Two letter ISO country code"}, "exp_month": {"type": "integer", "minimum": 1, "maximum": 12, "description": "Expiration month"}, "exp_year": {"type": "integer", "minimum": 2015, "maximum": 2100, "description": "Expiration year"}, "last4": {"type": "string", "description": "Credit card last four digits"}, "name": {"type": "string", "maxLength": 256, "description": "Name on the credit card"}, "user_email": {"type": "string", "maxLength": 254, "description": "User email address"}}, "required": ["brand", "card_id", "country", "country_code", "exp_month", "exp_year", "last4", "name", "user_email"]}, "city": {"type": "string", "maxLength": 512, "description": "Address city"}, "company": {"type": "string", "maxLength": 128, "description": "Name of a company"}, "country": {"type": "string", "maxLength": 128, "description": "Billing country"}, "country_code": {"type": "string", "maxLength": 2, "description": "Two letter ISO country code"}, "create_time": {"type": "string", "maxLength": 36, "description": "Timestamp in ISO 8601 format, always in UTC"}, "estimated_balance_local": {"type": "string", "description": "Estimated balance in billing currency, before tax"}, "estimated_balance_usd": {"type": "string", "description": "Estimated balance in USD, before tax"}, "payment_method": {"type": "string", "description": "Payment method", "enum": ["accrual", "card", "disabled", "email", "no_payment_expected", "partner"]}, "shipping_address_id": {"type": "string", "maxLength": 36, "description": "Address ID"}, "state": {"type": "string", "maxLength": 128, "description": "Address state or province"}, "vat_id": {"type": "string", "maxLength": 64, "description": "EU VAT Identification Number"}, "zip_code": {"type": "string", "maxLength": 32, "description": "Address zip code"}}, "required": ["account_id", "account_name", "address_lines", "billing_address_id", "billing_contact_emails", "billing_currency", "billing_emails", "billing_extra_text", "billing_group_id", "billing_group_name", "billing_type", "card_info", "city", "company", "country", "country_code", "create_time", "estimated_balance_local", "estimated_balance_usd", "payment_method", "shipping_address_id", "state", "vat_id", "zip_code"]}}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}, "required": ["billing_groups"]}, "BillingGroupProjectAssignResponse": {"type": "object", "description": "BillingGroupProjectAssignResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}}, "BillingGroupProjectListResponse": {"type": "object", "description": "BillingGroupProjectListResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "projects": {"type": "array", "description": "List of projects assigned to billing group", "items": {"type": "object", "properties": {"available_credits": {"type": "string", "description": "Available credits"}, "estimated_balance": {"type": "string", "description": "Estimated balance"}, "project_name": {"type": "string", "maxLength": 63, "description": "Project name"}}, "required": ["available_credits", "estimated_balance", "project_name"]}}}, "required": ["projects"]}, "BillingGroupProjectsAssignRequestBody": {"type": "object", "description": "BillingGroupProjectsAssignRequestBody", "properties": {"projects_names": {"type": "array", "minItems": 1, "maxItems": 1024, "description": "Projects names", "items": {"type": "string"}}}, "required": ["projects_names"]}, "BillingGroupProjectsAssignResponse": {"type": "object", "description": "BillingGroupProjectsAssignResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}}, "BillingGroupUpdateRequestBody": {"type": "object", "description": "BillingGroupUpdateRequestBody", "properties": {"account_id": {"type": "string", "maxLength": 36, "description": "Account ID"}, "address_lines": {"type": "array", "maxItems": 16, "description": "Address lines", "items": {"type": "string"}}, "billing_address_id": {"type": "string", "maxLength": 36, "description": "Address ID"}, "billing_contact_emails": {"type": "array", "maxItems": 10, "description": "List of billing groups contact email addresses", "items": {"type": "object", "properties": {"email": {"type": "string", "maxLength": 254, "description": "User email address"}}, "required": ["email"]}}, "billing_currency": {"type": "string", "description": "Billing currency", "enum": ["AUD", "CAD", "CHF", "DKK", "EUR", "GBP", "JPY", "NOK", "NZD", "SEK", "SGD", "USD"]}, "billing_emails": {"type": "array", "maxItems": 10, "description": "List of project billing email addresses", "items": {"type": "object", "properties": {"email": {"type": "string", "maxLength": 254, "description": "User email address"}}, "required": ["email"]}}, "billing_extra_text": {"type": "string", "maxLength": 1000, "description": "Extra text to be included in all project invoices, e.g. purchase order or cost center number"}, "billing_group_name": {"type": "string", "maxLength": 128, "description": "Billing group name"}, "card_id": {"type": "string", "maxLength": 64, "description": "Credit card ID"}, "city": {"type": "string", "maxLength": 512, "description": "Address city"}, "company": {"type": "string", "maxLength": 128, "description": "Name of a company"}, "country_code": {"type": "string", "maxLength": 2, "description": "Two letter country code for billing country"}, "shipping_address_id": {"type": "string", "maxLength": 36, "description": "Address ID"}, "state": {"type": "string", "maxLength": 128, "description": "Address state or province"}, "vat_id": {"type": "string", "maxLength": 64, "description": "EU VAT Identification Number"}, "zip_code": {"type": "string", "maxLength": 32, "description": "Address zip code"}}}, "BillingGroupUpdateResponse": {"type": "object", "description": "BillingGroupUpdateResponse", "properties": {"billing_group": {"type": "object", "description": "Billing group information", "properties": {"account_id": {"type": "string", "maxLength": 36, "description": "Account ID"}, "account_name": {"type": "string", "maxLength": 83, "description": "Account name"}, "address_lines": {"type": "array", "maxItems": 16, "description": "Address lines", "items": {"type": "string"}}, "billing_address": {"type": "string", "maxLength": 1000, "description": "DEPRECATED: use split address fields like company, address_lines, zip_code, city and state instead"}, "billing_address_id": {"type": "string", "maxLength": 36, "description": "Address ID"}, "billing_contact_emails": {"type": "array", "maxItems": 10, "description": "List of billing groups contact email addresses", "items": {"type": "object", "properties": {"email": {"type": "string", "maxLength": 254, "description": "User email address"}}, "required": ["email"]}}, "billing_currency": {"type": "string", "description": "Billing currency", "enum": ["AUD", "CAD", "CHF", "DKK", "EUR", "GBP", "JPY", "NOK", "NZD", "SEK", "SGD", "USD"]}, "billing_emails": {"type": "array", "maxItems": 10, "description": "List of project billing email addresses", "items": {"type": "object", "properties": {"email": {"type": "string", "maxLength": 254, "description": "User email address"}}, "required": ["email"]}}, "billing_extra_text": {"type": "string", "maxLength": 1000, "description": "Extra text to be included in all project invoices, e.g. purchase order or cost center number"}, "billing_group_id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "Billing group ID"}, "billing_group_name": {"type": "string", "maxLength": 128, "description": "Billing group name"}, "billing_type": {"type": "string", "description": "Method of charging/invoicing this project"}, "card_info": {"type": "object", "description": "Credit card assigned to the project", "properties": {"brand": {"type": "string", "description": "Brand"}, "card_id": {"type": "string", "maxLength": 64, "description": "Credit card ID"}, "country": {"type": "string", "maxLength": 128, "description": "Country"}, "country_code": {"type": "string", "maxLength": 2, "description": "Two letter ISO country code"}, "exp_month": {"type": "integer", "minimum": 1, "maximum": 12, "description": "Expiration month"}, "exp_year": {"type": "integer", "minimum": 2015, "maximum": 2100, "description": "Expiration year"}, "last4": {"type": "string", "description": "Credit card last four digits"}, "name": {"type": "string", "maxLength": 256, "description": "Name on the credit card"}, "user_email": {"type": "string", "maxLength": 254, "description": "User email address"}}, "required": ["brand", "card_id", "country", "country_code", "exp_month", "exp_year", "last4", "name", "user_email"]}, "city": {"type": "string", "maxLength": 512, "description": "Address city"}, "company": {"type": "string", "maxLength": 128, "description": "Name of a company"}, "country": {"type": "string", "maxLength": 128, "description": "Billing country"}, "country_code": {"type": "string", "maxLength": 2, "description": "Two letter ISO country code"}, "create_time": {"type": "string", "maxLength": 36, "description": "Timestamp in ISO 8601 format, always in UTC"}, "estimated_balance_local": {"type": "string", "description": "Estimated balance in billing currency, before tax"}, "estimated_balance_usd": {"type": "string", "description": "Estimated balance in USD, before tax"}, "payment_method": {"type": "string", "description": "Payment method", "enum": ["accrual", "card", "disabled", "email", "no_payment_expected", "partner"]}, "shipping_address_id": {"type": "string", "maxLength": 36, "description": "Address ID"}, "state": {"type": "string", "maxLength": 128, "description": "Address state or province"}, "vat_id": {"type": "string", "maxLength": 64, "description": "EU VAT Identification Number"}, "zip_code": {"type": "string", "maxLength": 32, "description": "Address zip code"}}, "required": ["account_id", "account_name", "address_lines", "billing_address_id", "billing_contact_emails", "billing_currency", "billing_emails", "billing_extra_text", "billing_group_id", "billing_group_name", "billing_type", "card_info", "city", "company", "country", "country_code", "create_time", "estimated_balance_local", "estimated_balance_usd", "payment_method", "shipping_address_id", "state", "vat_id", "zip_code"]}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}, "required": ["billing_group"]}, "InvoiceGetResponse": {"type": "object", "description": "InvoiceGetResponse", "properties": {"invoice": {"type": "object", "description": "InvoiceModel", "properties": {"billing_group_id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "Billing Group ID"}, "billing_group_name": {"type": "string", "minLength": 1, "maxLength": 128, "description": "Billing Group Name"}, "billing_group_state": {"type": "string", "description": "Billing group state"}, "currency": {"type": "string", "maxLength": 16, "description": "Currency"}, "download_cookie": {"type": "string", "description": "Download Cookie"}, "due_date": {"type": "string", "maxLength": 36, "description": "Due Date"}, "generated_at": {"type": "string", "maxLength": 36, "description": "Generated At"}, "invoice_number": {"type": "string", "minLength": 1, "description": "Invoice Number"}, "issue_date": {"type": "string", "maxLength": 36, "description": "Issue Date"}, "period_begin": {"type": "string", "maxLength": 36, "description": "Period Begin"}, "period_end": {"type": "string", "maxLength": 36, "description": "Period End"}, "state": {"type": "string", "maxLength": 36, "description": "State"}, "total_inc_vat": {"type": "string", "maxLength": 16, "description": "Total Inc Vat"}, "total_vat_zero": {"type": "string", "maxLength": 16, "description": "Total Vat Zero"}}, "required": ["billing_group_id", "billing_group_name", "billing_group_state", "currency", "generated_at", "invoice_number", "period_begin", "period_end", "state", "total_inc_vat", "total_vat_zero"]}}, "required": ["invoice"]}, "OrganizationAddressCreateRequestBody": {"type": "object", "description": "OrganizationAddressCreateRequestBody", "properties": {"address_lines": {"type": "array", "minItems": 1, "maxItems": 5, "description": "Address lines", "items": {"type": "string"}}, "city": {"type": "string", "maxLength": 125, "description": "City"}, "country_code": {"type": "string", "maxLength": 2, "description": "Country Code"}, "name": {"type": "string", "minLength": 1, "maxLength": 125, "description": "Name of a company"}, "state": {"type": "string", "maxLength": 128, "description": "State"}, "zip_code": {"type": "string", "maxLength": 10, "description": "Zip Code"}}, "required": ["address_lines", "city", "country_code", "name"]}, "OrganizationAddressCreateResponse": {"type": "object", "description": "OrganizationAddressCreateResponse", "properties": {"address_id": {"type": "string", "maxLength": 36, "description": "Address ID"}, "address_lines": {"type": "array", "minItems": 1, "maxItems": 5, "description": "Address Lines", "items": {"type": "string"}}, "city": {"type": "string", "maxLength": 125, "description": "City"}, "country_code": {"type": "string", "maxLength": 2, "description": "Country Code"}, "create_time": {"type": "string", "maxLength": 36, "description": "Create Time"}, "name": {"type": "string", "maxLength": 125, "description": "Name of a company"}, "organization_id": {"type": "string", "maxLength": 36, "description": "Organization ID"}, "state": {"type": "string", "maxLength": 128, "description": "State"}, "update_time": {"type": "string", "maxLength": 36, "description": "Update Time"}, "zip_code": {"type": "string", "maxLength": 10, "description": "Zip Code"}}, "required": ["address_id", "country_code", "create_time", "name", "organization_id", "update_time"]}, "OrganizationAddressDeleteResponse": {"type": "object", "description": "OrganizationAddressDeleteResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}}, "OrganizationAddressGetResponse": {"type": "object", "description": "OrganizationAddressGetResponse", "properties": {"address_id": {"type": "string", "maxLength": 36, "description": "Address ID"}, "address_lines": {"type": "array", "minItems": 1, "maxItems": 5, "description": "Address Lines", "items": {"type": "string"}}, "city": {"type": "string", "maxLength": 125, "description": "City"}, "country_code": {"type": "string", "maxLength": 2, "description": "Country Code"}, "create_time": {"type": "string", "maxLength": 36, "description": "Create Time"}, "name": {"type": "string", "maxLength": 125, "description": "Name of a company"}, "organization_id": {"type": "string", "maxLength": 36, "description": "Organization ID"}, "state": {"type": "string", "maxLength": 128, "description": "State"}, "update_time": {"type": "string", "maxLength": 36, "description": "Update Time"}, "zip_code": {"type": "string", "maxLength": 10, "description": "Zip Code"}}, "required": ["address_id", "country_code", "create_time", "name", "organization_id", "update_time"]}, "OrganizationAddressListResponse": {"type": "object", "description": "OrganizationAddressListResponse", "properties": {"addresses": {"type": "array", "description": "Addresses", "items": {"type": "object", "properties": {"address_id": {"type": "string", "maxLength": 36, "description": "Address ID"}, "address_lines": {"type": "array", "minItems": 1, "maxItems": 5, "description": "Address Lines", "items": {"type": "string"}}, "city": {"type": "string", "maxLength": 125, "description": "City"}, "country_code": {"type": "string", "maxLength": 2, "description": "Country Code"}, "create_time": {"type": "string", "maxLength": 36, "description": "Create Time"}, "name": {"type": "string", "maxLength": 125, "description": "Name of a company"}, "organization_id": {"type": "string", "maxLength": 36, "description": "Organization ID"}, "state": {"type": "string", "maxLength": 128, "description": "State"}, "update_time": {"type": "string", "maxLength": 36, "description": "Update Time"}, "zip_code": {"type": "string", "maxLength": 10, "description": "Zip Code"}}, "required": ["address_id", "country_code", "create_time", "name", "organization_id", "update_time"]}}}, "required": ["addresses"]}, "OrganizationAddressUpdateRequestBody": {"type": "object", "description": "OrganizationAddressUpdateRequestBody", "properties": {"address_lines": {"type": "array", "minItems": 1, "maxItems": 5, "description": "Address Lines", "items": {"type": "string"}}, "city": {"type": "string", "maxLength": 125, "description": "City"}, "country_code": {"type": "string", "maxLength": 2, "description": "Country Code"}, "name": {"type": "string", "minLength": 1, "maxLength": 128, "description": "Name of a company"}, "state": {"type": "string", "maxLength": 128, "description": "State"}, "zip_code": {"type": "string", "maxLength": 10, "description": "Zip Code"}}}, "OrganizationAddressUpdateResponse": {"type": "object", "description": "OrganizationAddressUpdateResponse", "properties": {"address_id": {"type": "string", "maxLength": 36, "description": "Address ID"}, "address_lines": {"type": "array", "minItems": 1, "maxItems": 5, "description": "Address Lines", "items": {"type": "string"}}, "city": {"type": "string", "maxLength": 125, "description": "City"}, "country_code": {"type": "string", "maxLength": 2, "description": "Country Code"}, "create_time": {"type": "string", "maxLength": 36, "description": "Create Time"}, "name": {"type": "string", "maxLength": 125, "description": "Name of a company"}, "organization_id": {"type": "string", "maxLength": 36, "description": "Organization ID"}, "state": {"type": "string", "maxLength": 128, "description": "State"}, "update_time": {"type": "string", "maxLength": 36, "description": "Update Time"}, "zip_code": {"type": "string", "maxLength": 10, "description": "Zip Code"}}, "required": ["address_id", "country_code", "create_time", "name", "organization_id", "update_time"]}, "ListCloudsResponse": {"type": "object", "description": "ListCloudsResponse", "properties": {"clouds": {"type": "array", "description": "List of available clouds", "items": {"type": "object", "properties": {"cloud_description": {"type": "string", "description": "Cloud provider and location"}, "cloud_name": {"type": "string", "maxLength": 256, "description": "Target cloud"}, "geo_latitude": {"type": "number", "description": "Approximate geographic latitude of the datacenters"}, "geo_longitude": {"type": "number", "description": "Approximate geographic longitude of the datacenters"}, "geo_region": {"type": "string", "description": "Geographical region"}, "provider": {"type": "string", "description": "Cloud provider name"}, "provider_description": {"type": "string", "description": "Cloud provider description"}}, "required": ["cloud_name", "geo_region"]}}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}, "required": ["clouds"]}, "ListProjectCloudsResponse": {"type": "object", "description": "ListProjectCloudsResponse", "properties": {"clouds": {"type": "array", "description": "List of available clouds", "items": {"type": "object", "properties": {"cloud_description": {"type": "string", "description": "Cloud provider and location"}, "cloud_name": {"type": "string", "maxLength": 256, "description": "Target cloud"}, "geo_latitude": {"type": "number", "description": "Approximate geographic latitude of the datacenters"}, "geo_longitude": {"type": "number", "description": "Approximate geographic longitude of the datacenters"}, "geo_region": {"type": "string", "description": "Geographical region"}, "provider": {"type": "string", "description": "Cloud provider name"}, "provider_description": {"type": "string", "description": "Cloud provider description"}}, "required": ["cloud_name", "geo_region"]}}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}, "required": ["clouds"]}, "PublicPrivatelinkAvailabilityListResponse": {"type": "object", "description": "PublicPrivatelinkAvailabilityListResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "privatelink_availability": {"type": "array", "description": "Privatelink pricing information for supported clouds", "items": {"type": "object", "properties": {"cloud_name": {"type": "string", "maxLength": 256, "description": "Target cloud"}, "price_usd": {"type": "string", "description": "Hourly privatelink price in this cloud region"}}, "required": ["cloud_name", "price_usd"]}}}, "required": ["privatelink_availability"]}, "PublicStaticIPAvailabilityListResponse": {"type": "object", "description": "PublicStaticIPAvailabilityListResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "static_ip_address_availability": {"type": "array", "description": "Paginated array", "items": {"type": "object", "properties": {"cloud_name": {"type": "string", "maxLength": 256, "description": "Target cloud"}, "price_usd": {"type": "string", "description": "Hourly static IP address price in this cloud region"}}, "required": ["cloud_name", "price_usd"]}}}, "required": ["static_ip_address_availability"]}, "CustomCloudEnvironmentCreateRequestBody": {"type": "object", "description": "CustomCloudEnvironmentCreateRequestBody", "properties": {"cloud_provider": {"type": "string", "description": "Cloud provider for the BYOC cloud", "enum": ["aws", "azure", "google", "oracle"]}, "cloud_region": {"type": "string", "maxLength": 32, "description": "Cloud region for the BYOC cloud"}, "contact_emails": {"type": "array", "maxItems": 10, "description": "Email addresses for notifications and alerts for this BYOC cloud", "items": {"type": "object", "properties": {"email": {"type": "string", "maxLength": 254, "description": "User email address"}, "real_name": {"type": "string", "maxLength": 256, "description": "User real name"}, "role": {"type": "string", "maxLength": 256, "description": "Role of this user"}}, "required": ["email"]}}, "deployment_model": {"type": "string", "description": "Deployment model for the BYOC cloud", "enum": ["direct_ipsec_ingress", "ipsec_ingress", "standard", "standard_public"]}, "display_name": {"type": "string", "maxLength": 64, "description": "Short name for this BYOC cloud"}, "reserved_cidr": {"type": "string", "maxLength": 18, "description": "CIDR range reserved for Aiven provisioned networks in the BYOC cloud"}, "tags": {"type": "object", "description": "Set of resource tags", "properties": {}}}, "required": ["cloud_provider", "cloud_region", "deployment_model", "display_name", "reserved_cidr"]}, "CustomCloudEnvironmentCreateResponse": {"type": "object", "description": "CustomCloudEnvironmentCreateResponse", "properties": {"custom_cloud_environment": {"type": "object", "description": "Custom cloud environment", "properties": {"aiven_aws_account_principal": {"type": "string", "maxLength": 1024, "description": "Entity that assumes the IAM role for controlling the BYOC account"}, "aiven_aws_assume_role_external_id": {"type": "string", "minLength": 2, "maxLength": 1224, "description": "External ID for assuming the IAM role for controlling the BYOC account"}, "aiven_aws_object_storage_credentials_creator_arn": {"type": "string", "maxLength": 2048, "description": "Amazon Resource Name", "title": "ARN of the IAM user that impersonates the object storage role to grant VMs access to storage buckets"}, "aiven_aws_object_storage_user_arn": {"type": "string", "maxLength": 2048, "description": "Amazon Resource Name", "title": "ARN of the IAM user which Aiven managed VMs will use to access the buckets"}, "aiven_google_account_principal": {"type": "string", "maxLength": 311, "description": "Google account identifier", "title": "Account ID"}, "aiven_management_cidr_blocks": {"type": "array", "description": "IP address ranges for incoming connections to the bastion host from the Aiven management plane", "items": {"type": "string"}}, "aiven_object_storage_credentials_creator_user": {"type": "string", "maxLength": 311, "description": "Google account identifier", "title": "Account ID"}, "aws_iam_role_arn": {"type": "string", "maxLength": 2048, "description": "Amazon Resource Name", "title": "ARN"}, "aws_subnets_bastion": {"type": "object", "description": "Subnets to build in the bastion VPC", "properties": {}}, "aws_subnets_workload": {"type": "object", "description": "Subnets to build in the workload VPC", "properties": {}}, "bucket_names": {"type": "object", "description": "Names and usages of buckets required for workloads", "properties": {}}, "byoc_resource_tags": {"type": "object", "description": "Set of tags for the resources provisioned on the BYOC account", "properties": {}}, "byoc_unique_name": {"type": "string", "description": "Name for all the resources created for the custom cloud environment"}, "cloud_provider": {"type": "string", "description": "Cloud provider for the BYOC cloud", "enum": ["aws", "azure", "google", "oracle"]}, "cloud_region": {"type": "string", "maxLength": 32, "description": "Cloud region for the BYOC cloud"}, "contact_emails": {"type": "array", "maxItems": 10, "description": "Email addresses for notifications and alerts for this BYOC cloud", "items": {"type": "object", "properties": {"email": {"type": "string", "maxLength": 254, "description": "User email address"}, "real_name": {"type": "string", "maxLength": 256, "description": "User real name"}, "role": {"type": "string", "maxLength": 256, "description": "Role of this user"}}, "required": ["email"]}}, "custom_cloud_environment_id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "Custom cloud environment ID"}, "custom_cloud_names": {"type": "array", "description": "Cloud names that can be used to provision a service on this BYOC", "items": {"type": "string"}}, "deployment_model": {"type": "string", "description": "Deployment model for the BYOC cloud", "enum": ["direct_ipsec_ingress", "ipsec_ingress", "standard", "standard_public"]}, "display_name": {"type": "string", "maxLength": 64, "description": "Short name for this BYOC cloud"}, "errors": {"type": "array", "description": "List of errors for this custom cloud environment", "items": {"type": "object", "properties": {"category": {"type": "string", "description": "Category of this error", "enum": ["general_error"]}, "message": {"type": "string", "description": "Description of this error"}}, "required": ["category", "message"]}}, "google_bastion_cidr": {"type": "string", "maxLength": 18, "description": "Private IP address block for the workload VPC containing the bastion subnet"}, "google_privilege_bearing_service_account_id": {"type": "string", "maxLength": 311, "description": "Google account identifier", "title": "Account ID"}, "google_workload_cidr": {"type": "string", "maxLength": 18, "description": "Private IP address block for the workload VPC containing the workload subnet"}, "oracle_compartment_id": {"type": "string", "maxLength": 2048, "description": "Used to uniquely identify an asset in Oracle's cloud. May refer to a range of object types including instance, tenancy, subnet and more.", "title": "Oracle Cloud ID"}, "oracle_subnet_bastion": {"type": "string", "maxLength": 18, "description": "CIDR for the bastion subnet"}, "oracle_subnet_workload": {"type": "string", "maxLength": 18, "description": "CIDR for the private workload subnet"}, "reserved_cidr": {"type": "string", "maxLength": 18, "description": "CIDR range reserved for Aiven provisioned networks in the BYOC cloud"}, "state": {"type": "string", "description": "State of this BYOC cloud", "enum": ["draft", "validating", "creating", "creation_failed", "active", "disconnected", "reconnecting", "deleting", "deletion_failed", "deleted"]}, "tags": {"type": "object", "description": "Set of resource tags", "properties": {}}, "update_time": {"type": "string", "maxLength": 36, "description": "Custom cloud environment last update timestamp (ISO 8601)"}, "use_customer_owned_storage": {"type": "boolean", "description": "True if this BYOC cloud is using customer owned storage"}}, "required": ["contact_emails", "custom_cloud_environment_id", "display_name", "state", "update_time"]}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}, "required": ["custom_cloud_environment"]}, "CustomCloudEnvironmentDeleteResponse": {"type": "object", "description": "CustomCloudEnvironmentDeleteResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}}, "CustomCloudEnvironmentGetResponse": {"type": "object", "description": "CustomCloudEnvironmentGetResponse", "properties": {"custom_cloud_environment": {"type": "object", "description": "Custom cloud environment", "properties": {"aiven_aws_account_principal": {"type": "string", "maxLength": 1024, "description": "Entity that assumes the IAM role for controlling the BYOC account"}, "aiven_aws_assume_role_external_id": {"type": "string", "minLength": 2, "maxLength": 1224, "description": "External ID for assuming the IAM role for controlling the BYOC account"}, "aiven_aws_object_storage_credentials_creator_arn": {"type": "string", "maxLength": 2048, "description": "Amazon Resource Name", "title": "ARN of the IAM user that impersonates the object storage role to grant VMs access to storage buckets"}, "aiven_aws_object_storage_user_arn": {"type": "string", "maxLength": 2048, "description": "Amazon Resource Name", "title": "ARN of the IAM user which Aiven managed VMs will use to access the buckets"}, "aiven_google_account_principal": {"type": "string", "maxLength": 311, "description": "Google account identifier", "title": "Account ID"}, "aiven_management_cidr_blocks": {"type": "array", "description": "IP address ranges for incoming connections to the bastion host from the Aiven management plane", "items": {"type": "string"}}, "aiven_object_storage_credentials_creator_user": {"type": "string", "maxLength": 311, "description": "Google account identifier", "title": "Account ID"}, "aws_iam_role_arn": {"type": "string", "maxLength": 2048, "description": "Amazon Resource Name", "title": "ARN"}, "aws_subnets_bastion": {"type": "object", "description": "Subnets to build in the bastion VPC", "properties": {}}, "aws_subnets_workload": {"type": "object", "description": "Subnets to build in the workload VPC", "properties": {}}, "bucket_names": {"type": "object", "description": "Names and usages of buckets required for workloads", "properties": {}}, "byoc_resource_tags": {"type": "object", "description": "Set of tags for the resources provisioned on the BYOC account", "properties": {}}, "byoc_unique_name": {"type": "string", "description": "Name for all the resources created for the custom cloud environment"}, "cloud_provider": {"type": "string", "description": "Cloud provider for the BYOC cloud", "enum": ["aws", "azure", "google", "oracle"]}, "cloud_region": {"type": "string", "maxLength": 32, "description": "Cloud region for the BYOC cloud"}, "contact_emails": {"type": "array", "maxItems": 10, "description": "Email addresses for notifications and alerts for this BYOC cloud", "items": {"type": "object", "properties": {"email": {"type": "string", "maxLength": 254, "description": "User email address"}, "real_name": {"type": "string", "maxLength": 256, "description": "User real name"}, "role": {"type": "string", "maxLength": 256, "description": "Role of this user"}}, "required": ["email"]}}, "custom_cloud_environment_id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "Custom cloud environment ID"}, "custom_cloud_names": {"type": "array", "description": "Cloud names that can be used to provision a service on this BYOC", "items": {"type": "string"}}, "deployment_model": {"type": "string", "description": "Deployment model for the BYOC cloud", "enum": ["direct_ipsec_ingress", "ipsec_ingress", "standard", "standard_public"]}, "display_name": {"type": "string", "maxLength": 64, "description": "Short name for this BYOC cloud"}, "errors": {"type": "array", "description": "List of errors for this custom cloud environment", "items": {"type": "object", "properties": {"category": {"type": "string", "description": "Category of this error", "enum": ["general_error"]}, "message": {"type": "string", "description": "Description of this error"}}, "required": ["category", "message"]}}, "google_bastion_cidr": {"type": "string", "maxLength": 18, "description": "Private IP address block for the workload VPC containing the bastion subnet"}, "google_privilege_bearing_service_account_id": {"type": "string", "maxLength": 311, "description": "Google account identifier", "title": "Account ID"}, "google_workload_cidr": {"type": "string", "maxLength": 18, "description": "Private IP address block for the workload VPC containing the workload subnet"}, "oracle_compartment_id": {"type": "string", "maxLength": 2048, "description": "Used to uniquely identify an asset in Oracle's cloud. May refer to a range of object types including instance, tenancy, subnet and more.", "title": "Oracle Cloud ID"}, "oracle_subnet_bastion": {"type": "string", "maxLength": 18, "description": "CIDR for the bastion subnet"}, "oracle_subnet_workload": {"type": "string", "maxLength": 18, "description": "CIDR for the private workload subnet"}, "reserved_cidr": {"type": "string", "maxLength": 18, "description": "CIDR range reserved for Aiven provisioned networks in the BYOC cloud"}, "state": {"type": "string", "description": "State of this BYOC cloud", "enum": ["draft", "validating", "creating", "creation_failed", "active", "disconnected", "reconnecting", "deleting", "deletion_failed", "deleted"]}, "tags": {"type": "object", "description": "Set of resource tags", "properties": {}}, "update_time": {"type": "string", "maxLength": 36, "description": "Custom cloud environment last update timestamp (ISO 8601)"}, "use_customer_owned_storage": {"type": "boolean", "description": "True if this BYOC cloud is using customer owned storage"}}, "required": ["contact_emails", "custom_cloud_environment_id", "display_name", "state", "update_time"]}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}, "required": ["custom_cloud_environment"]}, "CustomCloudEnvironmentPermissionsGetResponse": {"type": "object", "description": "CustomCloudEnvironmentPermissionsGetResponse", "properties": {"accounts": {"type": "array", "minItems": 0, "maxItems": 1000, "description": "Accounts", "items": {"type": "string"}}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "projects": {"type": "array", "minItems": 0, "maxItems": 1000, "description": "Projects", "items": {"type": "string"}}}, "required": ["accounts", "projects"]}, "CustomCloudEnvironmentPermissionsSetRequestBody": {"type": "object", "description": "CustomCloudEnvironmentPermissionsSetRequestBody", "properties": {"accounts": {"type": "array", "minItems": 0, "maxItems": 1000, "description": "Accounts", "items": {"type": "string"}}, "projects": {"type": "array", "minItems": 0, "maxItems": 1000, "description": "Projects", "items": {"type": "string"}}}, "required": ["accounts", "projects"]}, "CustomCloudEnvironmentPermissionsSetResponse": {"type": "object", "description": "CustomCloudEnvironmentPermissionsSetResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}}, "CustomCloudEnvironmentProvisionRequestBody": {"type": "object", "description": "CustomCloudEnvironmentProvisionRequestBody", "properties": {"aws_iam_role_arn": {"type": "string", "maxLength": 2048, "description": "Amazon Resource Name", "title": "ARN"}, "google_privilege_bearing_service_account_id": {"type": "string", "maxLength": 311, "description": "Google account identifier", "title": "Account ID"}, "oracle_compartment_id": {"type": "string", "maxLength": 2048, "description": "Used to uniquely identify an asset in Oracle's cloud. May refer to a range of object types including instance, tenancy, subnet and more.", "title": "Oracle Cloud ID"}}}, "CustomCloudEnvironmentProvisionResponse": {"type": "object", "description": "CustomCloudEnvironmentProvisionResponse", "properties": {"custom_cloud_environment": {"type": "object", "description": "Custom cloud environment", "properties": {"aiven_aws_account_principal": {"type": "string", "maxLength": 1024, "description": "Entity that assumes the IAM role for controlling the BYOC account"}, "aiven_aws_assume_role_external_id": {"type": "string", "minLength": 2, "maxLength": 1224, "description": "External ID for assuming the IAM role for controlling the BYOC account"}, "aiven_aws_object_storage_credentials_creator_arn": {"type": "string", "maxLength": 2048, "description": "Amazon Resource Name", "title": "ARN of the IAM user that impersonates the object storage role to grant VMs access to storage buckets"}, "aiven_aws_object_storage_user_arn": {"type": "string", "maxLength": 2048, "description": "Amazon Resource Name", "title": "ARN of the IAM user which Aiven managed VMs will use to access the buckets"}, "aiven_google_account_principal": {"type": "string", "maxLength": 311, "description": "Google account identifier", "title": "Account ID"}, "aiven_management_cidr_blocks": {"type": "array", "description": "IP address ranges for incoming connections to the bastion host from the Aiven management plane", "items": {"type": "string"}}, "aiven_object_storage_credentials_creator_user": {"type": "string", "maxLength": 311, "description": "Google account identifier", "title": "Account ID"}, "aws_iam_role_arn": {"type": "string", "maxLength": 2048, "description": "Amazon Resource Name", "title": "ARN"}, "aws_subnets_bastion": {"type": "object", "description": "Subnets to build in the bastion VPC", "properties": {}}, "aws_subnets_workload": {"type": "object", "description": "Subnets to build in the workload VPC", "properties": {}}, "bucket_names": {"type": "object", "description": "Names and usages of buckets required for workloads", "properties": {}}, "byoc_resource_tags": {"type": "object", "description": "Set of tags for the resources provisioned on the BYOC account", "properties": {}}, "byoc_unique_name": {"type": "string", "description": "Name for all the resources created for the custom cloud environment"}, "cloud_provider": {"type": "string", "description": "Cloud provider for the BYOC cloud", "enum": ["aws", "azure", "google", "oracle"]}, "cloud_region": {"type": "string", "maxLength": 32, "description": "Cloud region for the BYOC cloud"}, "contact_emails": {"type": "array", "maxItems": 10, "description": "Email addresses for notifications and alerts for this BYOC cloud", "items": {"type": "object", "properties": {"email": {"type": "string", "maxLength": 254, "description": "User email address"}, "real_name": {"type": "string", "maxLength": 256, "description": "User real name"}, "role": {"type": "string", "maxLength": 256, "description": "Role of this user"}}, "required": ["email"]}}, "custom_cloud_environment_id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "Custom cloud environment ID"}, "custom_cloud_names": {"type": "array", "description": "Cloud names that can be used to provision a service on this BYOC", "items": {"type": "string"}}, "deployment_model": {"type": "string", "description": "Deployment model for the BYOC cloud", "enum": ["direct_ipsec_ingress", "ipsec_ingress", "standard", "standard_public"]}, "display_name": {"type": "string", "maxLength": 64, "description": "Short name for this BYOC cloud"}, "errors": {"type": "array", "description": "List of errors for this custom cloud environment", "items": {"type": "object", "properties": {"category": {"type": "string", "description": "Category of this error", "enum": ["general_error"]}, "message": {"type": "string", "description": "Description of this error"}}, "required": ["category", "message"]}}, "google_bastion_cidr": {"type": "string", "maxLength": 18, "description": "Private IP address block for the workload VPC containing the bastion subnet"}, "google_privilege_bearing_service_account_id": {"type": "string", "maxLength": 311, "description": "Google account identifier", "title": "Account ID"}, "google_workload_cidr": {"type": "string", "maxLength": 18, "description": "Private IP address block for the workload VPC containing the workload subnet"}, "oracle_compartment_id": {"type": "string", "maxLength": 2048, "description": "Used to uniquely identify an asset in Oracle's cloud. May refer to a range of object types including instance, tenancy, subnet and more.", "title": "Oracle Cloud ID"}, "oracle_subnet_bastion": {"type": "string", "maxLength": 18, "description": "CIDR for the bastion subnet"}, "oracle_subnet_workload": {"type": "string", "maxLength": 18, "description": "CIDR for the private workload subnet"}, "reserved_cidr": {"type": "string", "maxLength": 18, "description": "CIDR range reserved for Aiven provisioned networks in the BYOC cloud"}, "state": {"type": "string", "description": "State of this BYOC cloud", "enum": ["draft", "validating", "creating", "creation_failed", "active", "disconnected", "reconnecting", "deleting", "deletion_failed", "deleted"]}, "tags": {"type": "object", "description": "Set of resource tags", "properties": {}}, "update_time": {"type": "string", "maxLength": 36, "description": "Custom cloud environment last update timestamp (ISO 8601)"}, "use_customer_owned_storage": {"type": "boolean", "description": "True if this BYOC cloud is using customer owned storage"}}, "required": ["contact_emails", "custom_cloud_environment_id", "display_name", "state", "update_time"]}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}, "required": ["custom_cloud_environment"]}, "CustomCloudEnvironmentUpdateRequestBody": {"type": "object", "description": "CustomCloudEnvironmentUpdateRequestBody", "properties": {"aws_iam_role_arn": {"type": "string", "maxLength": 2048, "description": "Amazon Resource Name", "title": "ARN"}, "cloud_provider": {"type": "string", "description": "Cloud provider for the BYOC cloud", "enum": ["aws", "azure", "google", "oracle"]}, "cloud_region": {"type": "string", "maxLength": 32, "description": "Cloud region for the BYOC cloud"}, "contact_emails": {"type": "array", "minItems": 1, "maxItems": 10, "description": "Email addresses for notifications and alerts for this BYOC cloud", "items": {"type": "object", "properties": {"email": {"type": "string", "maxLength": 254, "description": "User email address"}, "real_name": {"type": "string", "maxLength": 256, "description": "User real name"}, "role": {"type": "string", "maxLength": 256, "description": "Role of this user"}}, "required": ["email"]}}, "deployment_model": {"type": "string", "description": "Deployment model for the BYOC cloud", "enum": ["direct_ipsec_ingress", "ipsec_ingress", "standard", "standard_public"]}, "display_name": {"type": "string", "maxLength": 64, "description": "Short name for this BYOC cloud"}, "google_privilege_bearing_service_account_id": {"type": "string", "maxLength": 311, "description": "Google account identifier", "title": "Account ID"}, "oracle_compartment_id": {"type": "string", "maxLength": 2048, "description": "Used to uniquely identify an asset in Oracle's cloud. May refer to a range of object types including instance, tenancy, subnet and more.", "title": "Oracle Cloud ID"}, "reserved_cidr": {"type": "string", "maxLength": 18, "description": "CIDR range reserved for Aiven provisioned networks in the BYOC cloud"}, "tags": {"type": "object", "description": "Set of resource tags", "properties": {}}}}, "CustomCloudEnvironmentUpdateResponse": {"type": "object", "description": "CustomCloudEnvironmentUpdateResponse", "properties": {"custom_cloud_environment": {"type": "object", "description": "Custom cloud environment", "properties": {"aiven_aws_account_principal": {"type": "string", "maxLength": 1024, "description": "Entity that assumes the IAM role for controlling the BYOC account"}, "aiven_aws_assume_role_external_id": {"type": "string", "minLength": 2, "maxLength": 1224, "description": "External ID for assuming the IAM role for controlling the BYOC account"}, "aiven_aws_object_storage_credentials_creator_arn": {"type": "string", "maxLength": 2048, "description": "Amazon Resource Name", "title": "ARN of the IAM user that impersonates the object storage role to grant VMs access to storage buckets"}, "aiven_aws_object_storage_user_arn": {"type": "string", "maxLength": 2048, "description": "Amazon Resource Name", "title": "ARN of the IAM user which Aiven managed VMs will use to access the buckets"}, "aiven_google_account_principal": {"type": "string", "maxLength": 311, "description": "Google account identifier", "title": "Account ID"}, "aiven_management_cidr_blocks": {"type": "array", "description": "IP address ranges for incoming connections to the bastion host from the Aiven management plane", "items": {"type": "string"}}, "aiven_object_storage_credentials_creator_user": {"type": "string", "maxLength": 311, "description": "Google account identifier", "title": "Account ID"}, "aws_iam_role_arn": {"type": "string", "maxLength": 2048, "description": "Amazon Resource Name", "title": "ARN"}, "aws_subnets_bastion": {"type": "object", "description": "Subnets to build in the bastion VPC", "properties": {}}, "aws_subnets_workload": {"type": "object", "description": "Subnets to build in the workload VPC", "properties": {}}, "bucket_names": {"type": "object", "description": "Names and usages of buckets required for workloads", "properties": {}}, "byoc_resource_tags": {"type": "object", "description": "Set of tags for the resources provisioned on the BYOC account", "properties": {}}, "byoc_unique_name": {"type": "string", "description": "Name for all the resources created for the custom cloud environment"}, "cloud_provider": {"type": "string", "description": "Cloud provider for the BYOC cloud", "enum": ["aws", "azure", "google", "oracle"]}, "cloud_region": {"type": "string", "maxLength": 32, "description": "Cloud region for the BYOC cloud"}, "contact_emails": {"type": "array", "maxItems": 10, "description": "Email addresses for notifications and alerts for this BYOC cloud", "items": {"type": "object", "properties": {"email": {"type": "string", "maxLength": 254, "description": "User email address"}, "real_name": {"type": "string", "maxLength": 256, "description": "User real name"}, "role": {"type": "string", "maxLength": 256, "description": "Role of this user"}}, "required": ["email"]}}, "custom_cloud_environment_id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "Custom cloud environment ID"}, "custom_cloud_names": {"type": "array", "description": "Cloud names that can be used to provision a service on this BYOC", "items": {"type": "string"}}, "deployment_model": {"type": "string", "description": "Deployment model for the BYOC cloud", "enum": ["direct_ipsec_ingress", "ipsec_ingress", "standard", "standard_public"]}, "display_name": {"type": "string", "maxLength": 64, "description": "Short name for this BYOC cloud"}, "errors": {"type": "array", "description": "List of errors for this custom cloud environment", "items": {"type": "object", "properties": {"category": {"type": "string", "description": "Category of this error", "enum": ["general_error"]}, "message": {"type": "string", "description": "Description of this error"}}, "required": ["category", "message"]}}, "google_bastion_cidr": {"type": "string", "maxLength": 18, "description": "Private IP address block for the workload VPC containing the bastion subnet"}, "google_privilege_bearing_service_account_id": {"type": "string", "maxLength": 311, "description": "Google account identifier", "title": "Account ID"}, "google_workload_cidr": {"type": "string", "maxLength": 18, "description": "Private IP address block for the workload VPC containing the workload subnet"}, "oracle_compartment_id": {"type": "string", "maxLength": 2048, "description": "Used to uniquely identify an asset in Oracle's cloud. May refer to a range of object types including instance, tenancy, subnet and more.", "title": "Oracle Cloud ID"}, "oracle_subnet_bastion": {"type": "string", "maxLength": 18, "description": "CIDR for the bastion subnet"}, "oracle_subnet_workload": {"type": "string", "maxLength": 18, "description": "CIDR for the private workload subnet"}, "reserved_cidr": {"type": "string", "maxLength": 18, "description": "CIDR range reserved for Aiven provisioned networks in the BYOC cloud"}, "state": {"type": "string", "description": "State of this BYOC cloud", "enum": ["draft", "validating", "creating", "creation_failed", "active", "disconnected", "reconnecting", "deleting", "deletion_failed", "deleted"]}, "tags": {"type": "object", "description": "Set of resource tags", "properties": {}}, "update_time": {"type": "string", "maxLength": 36, "description": "Custom cloud environment last update timestamp (ISO 8601)"}, "use_customer_owned_storage": {"type": "boolean", "description": "True if this BYOC cloud is using customer owned storage"}}, "required": ["contact_emails", "custom_cloud_environment_id", "display_name", "state", "update_time"]}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}, "required": ["custom_cloud_environment"]}, "OrganizationDomainAddRequestBody": {"type": "object", "description": "OrganizationDomainAddRequestBody", "properties": {"domain_name": {"type": "string", "description": "Name of the domain to be added"}, "verification_type": {"type": "string", "description": "An enumeration.", "title": "Type of verification to be made", "enum": ["dns", "http"]}}, "required": ["domain_name"]}, "OrganizationDomainAddResponse": {"type": "object", "description": "OrganizationDomainAddResponse", "properties": {"challenge_token": {"type": "string", "description": "Random string to be used for validation"}, "create_time": {"type": "string", "maxLength": 36, "description": "Time of creating the domain"}, "domain_id": {"type": "string", "description": "ID of the domain"}, "domain_name": {"type": "string", "description": "Name of the domain"}, "linked_authentication_method_ids": {"type": "array", "description": "Linked Authentication Method Ids", "items": {"type": "string"}}, "organization_id": {"type": "string", "description": "ID of the organization owning this domain"}, "state": {"type": "string", "description": "An enumeration.", "title": "State of the verification process", "enum": ["deleted", "unverified", "verified"]}, "verification_type": {"type": "string", "description": "An enumeration.", "title": "Type of verification to be made", "enum": ["dns", "http"]}}, "required": ["challenge_token", "create_time", "domain_id", "domain_name", "linked_authentication_method_ids", "organization_id", "state", "verification_type"]}, "OrganizationDomainUpdateRequestBody": {"type": "object", "description": "OrganizationDomainUpdateRequestBody", "properties": {"verification_type": {"type": "string", "description": "An enumeration.", "title": "OrganizationDomainVerificationType", "enum": ["dns", "http"]}}}, "OrganizationDomainUpdateResponse": {"type": "object", "description": "OrganizationDomainUpdateResponse", "properties": {"challenge_token": {"type": "string", "description": "Random string to be used for validation"}, "create_time": {"type": "string", "maxLength": 36, "description": "Time of creating the domain"}, "domain_id": {"type": "string", "description": "ID of the domain"}, "domain_name": {"type": "string", "description": "Name of the domain"}, "linked_authentication_method_ids": {"type": "array", "description": "Linked Authentication Method Ids", "items": {"type": "string"}}, "organization_id": {"type": "string", "description": "ID of the organization owning this domain"}, "state": {"type": "string", "description": "An enumeration.", "title": "State of the verification process", "enum": ["deleted", "unverified", "verified"]}, "verification_type": {"type": "string", "description": "An enumeration.", "title": "Type of verification to be made", "enum": ["dns", "http"]}}, "required": ["challenge_token", "create_time", "domain_id", "domain_name", "linked_authentication_method_ids", "organization_id", "state", "verification_type"]}, "OrganizationDomainVerifyResponse": {"type": "object", "description": "OrganizationDomainVerifyResponse", "properties": {"challenge_token": {"type": "string", "description": "Random string to be used for validation"}, "create_time": {"type": "string", "maxLength": 36, "description": "Time of creating the domain"}, "domain_id": {"type": "string", "description": "ID of the domain"}, "domain_name": {"type": "string", "description": "Name of the domain"}, "linked_authentication_method_ids": {"type": "array", "description": "Linked Authentication Method Ids", "items": {"type": "string"}}, "organization_id": {"type": "string", "description": "ID of the organization owning this domain"}, "state": {"type": "string", "description": "An enumeration.", "title": "State of the verification process", "enum": ["deleted", "unverified", "verified"]}, "verification_type": {"type": "string", "description": "An enumeration.", "title": "Type of verification to be made", "enum": ["dns", "http"]}}, "required": ["challenge_token", "create_time", "domain_id", "domain_name", "linked_authentication_method_ids", "organization_id", "state", "verification_type"]}, "OrganizationDomainsListResponse": {"type": "object", "description": "OrganizationDomainsListResponse", "properties": {"domains": {"type": "array", "description": "List of domains for the organization", "items": {"type": "object", "properties": {"challenge_token": {"type": "string", "description": "Random string to be used for validation"}, "create_time": {"type": "string", "maxLength": 36, "description": "Time of creating the domain"}, "domain_id": {"type": "string", "description": "ID of the domain"}, "domain_name": {"type": "string", "description": "Name of the domain"}, "linked_authentication_method_ids": {"type": "array", "description": "Linked Authentication Method Ids", "items": {"type": "string"}}, "organization_id": {"type": "string", "description": "ID of the organization owning this domain"}, "state": {"type": "string", "description": "An enumeration.", "title": "State of the verification process", "enum": ["deleted", "unverified", "verified"]}, "verification_type": {"type": "string", "description": "An enumeration.", "title": "Type of verification to be made", "enum": ["dns", "http"]}}, "required": ["challenge_token", "create_time", "domain_id", "domain_name", "linked_authentication_method_ids", "organization_id", "state", "verification_type"]}}}, "required": ["domains"]}, "UserGroupCreateRequestBody": {"type": "object", "description": "UserGroupCreateRequestBody", "properties": {"description": {"type": "string", "maxLength": 4096, "description": "Description"}, "user_group_name": {"type": "string", "maxLength": 128, "description": "User Group Name"}}, "required": ["description", "user_group_name"]}, "UserGroupCreateResponse": {"type": "object", "description": "UserGroupCreateResponse", "properties": {"create_time": {"type": "string", "maxLength": 36, "description": "User group creation time"}, "description": {"type": "string", "maxLength": 4096, "description": "Description"}, "managed_by_scim": {"type": "boolean", "description": "Managed By Scim"}, "update_time": {"type": "string", "maxLength": 36, "description": "User group last update time"}, "user_group_id": {"type": "string", "maxLength": 36, "description": "User Group ID"}, "user_group_name": {"type": "string", "maxLength": 128, "description": "User Group Name"}}, "required": ["create_time", "description", "managed_by_scim", "update_time", "user_group_id", "user_group_name"]}, "UserGroupGetResponse": {"type": "object", "description": "UserGroupGetResponse", "properties": {"create_time": {"type": "string", "maxLength": 36, "description": "User group creation time"}, "description": {"type": "string", "maxLength": 4096, "description": "Description"}, "managed_by_scim": {"type": "boolean", "description": "Managed By Scim"}, "update_time": {"type": "string", "maxLength": 36, "description": "User group last update time"}, "user_group_id": {"type": "string", "maxLength": 36, "description": "User Group ID"}, "user_group_name": {"type": "string", "maxLength": 128, "description": "User Group Name"}}, "required": ["create_time", "description", "managed_by_scim", "update_time", "user_group_id", "user_group_name"]}, "UserGroupMemberListResponse": {"type": "object", "description": "UserGroupMemberListResponse", "properties": {"members": {"type": "array", "description": "User group members", "items": {"type": "object", "properties": {"last_activity_time": {"type": "string", "maxLength": 36, "description": "Last Activity Time"}, "user_id": {"type": "string", "description": "User ID"}, "user_info": {"type": "object", "description": "OrganizationUserInfo", "properties": {"city": {"type": "string", "maxLength": 512, "description": "City"}, "country": {"type": "string", "description": "Country"}, "create_time": {"type": "string", "maxLength": 36, "description": "Creation time"}, "department": {"type": "string", "description": "Department"}, "is_application_user": {"type": "boolean", "description": "Is Application User"}, "job_title": {"type": "string", "description": "Job Title"}, "managed_by_scim": {"type": "boolean", "description": "Managed By Scim"}, "managing_organization_id": {"type": "string", "maxLength": 36, "description": "Managing Organization ID"}, "real_name": {"type": "string", "maxLength": 256, "description": "Real Name"}, "state": {"type": "string", "description": "State"}, "user_email": {"type": "string", "maxLength": 254, "description": "User Email"}}, "required": ["create_time", "is_application_user", "managed_by_scim", "real_name", "state", "user_email"]}}, "required": ["user_id", "user_info"]}}}, "required": ["members"]}, "UserGroupMembersUpdateRequestBody": {"type": "object", "description": "UserGroupMembersUpdateRequestBody", "properties": {"member_ids": {"type": "array", "maxItems": 1024, "description": "List of user IDs to apply the operation on", "items": {"type": "string"}}, "operation": {"type": "string", "description": "An enumeration.", "title": "Operation to be performed on the group", "enum": ["add_members", "remove_members"]}}, "required": ["member_ids", "operation"]}, "UserGroupUpdateRequestBody": {"type": "object", "description": "UserGroupUpdateRequestBody", "properties": {"description": {"type": "string", "maxLength": 4096, "description": "Description"}, "user_group_name": {"type": "string", "maxLength": 128, "description": "User Group Name"}}}, "UserGroupUpdateResponse": {"type": "object", "description": "UserGroupUpdateResponse", "properties": {"create_time": {"type": "string", "maxLength": 36, "description": "User group creation time"}, "description": {"type": "string", "maxLength": 4096, "description": "Description"}, "managed_by_scim": {"type": "boolean", "description": "Managed By Scim"}, "update_time": {"type": "string", "maxLength": 36, "description": "User group last update time"}, "user_group_id": {"type": "string", "maxLength": 36, "description": "User Group ID"}, "user_group_name": {"type": "string", "maxLength": 128, "description": "User Group Name"}}, "required": ["create_time", "description", "managed_by_scim", "update_time", "user_group_id", "user_group_name"]}, "UserGroupsListResponse": {"type": "object", "description": "UserGroupsListResponse", "properties": {"user_groups": {"type": "array", "description": "User Groups", "items": {"type": "object", "properties": {"create_time": {"type": "string", "maxLength": 36, "description": "User group creation time"}, "description": {"type": "string", "maxLength": 4096, "description": "Description"}, "managed_by_scim": {"type": "boolean", "description": "Managed By Scim"}, "member_count": {"type": "integer", "description": "Member Count"}, "update_time": {"type": "string", "maxLength": 36, "description": "User group last update time"}, "user_group_id": {"type": "string", "maxLength": 36, "description": "User Group ID"}, "user_group_name": {"type": "string", "maxLength": 128, "description": "User Group Name"}}, "required": ["create_time", "description", "managed_by_scim", "member_count", "update_time", "user_group_id", "user_group_name"]}}}, "required": ["user_groups"]}, "OrganizationBillingCreditMemoGetResponse": {"type": "object", "description": "OrganizationBillingCreditMemoGetResponse", "properties": {"create_time": {"type": "string", "maxLength": 36, "description": "The date when this credit memo was created"}, "credit_memo_id": {"type": "string", "description": "Credit memo ID"}, "currency": {"type": "string", "description": "Acceptable currencies for a billing group.", "title": "Credit memo currency", "enum": ["AUD", "CAD", "CHF", "DKK", "EUR", "GBP", "JPY", "NOK", "NZD", "SEK", "SGD", "USD"]}, "invoice_number": {"type": "string", "description": "Invoice ID"}, "invoice_period": {"type": "object", "description": "The period this credit memo refers to", "properties": {"begin_time": {"type": "string", "maxLength": 36, "description": "The start date of the period this invoice refers to"}, "end_time": {"type": "string", "maxLength": 36, "description": "The end date of the period this invoice refers to"}}, "required": ["begin_time", "end_time"]}, "issue_time": {"type": "string", "maxLength": 36, "description": "The date the credit memo was issued"}, "net": {"type": "string", "description": "Total credit memo amount without taxes in local currency"}, "net_usd": {"type": "string", "description": "Total credit memo amount without taxes in USD"}, "send_time": {"type": "string", "maxLength": 36, "description": "The date when this credit memo was sent"}, "state": {"type": "string", "description": "State of the credit memo", "enum": ["draft", "ready", "sent"]}, "total": {"type": "string", "description": "Total credit memo amount in local currency"}}, "required": ["create_time", "credit_memo_id", "currency", "invoice_number", "invoice_period", "net", "net_usd", "state", "total"]}, "OrganizationBillingCreditMemosListResponse": {"type": "object", "description": "OrganizationBillingCreditMemosListResponse", "properties": {"credit_memos": {"type": "array", "description": "A list of billing credit memos belonging to the organization", "items": {"type": "object", "properties": {"create_time": {"type": "string", "maxLength": 36, "description": "The date when this credit memo was created"}, "credit_memo_id": {"type": "string", "description": "Credit memo ID"}, "currency": {"type": "string", "description": "Acceptable currencies for a billing group.", "title": "Credit memo currency", "enum": ["AUD", "CAD", "CHF", "DKK", "EUR", "GBP", "JPY", "NOK", "NZD", "SEK", "SGD", "USD"]}, "invoice_number": {"type": "string", "description": "Invoice ID"}, "invoice_period": {"type": "object", "description": "The period this credit memo refers to", "properties": {"begin_time": {"type": "string", "maxLength": 36, "description": "The start date of the period this invoice refers to"}, "end_time": {"type": "string", "maxLength": 36, "description": "The end date of the period this invoice refers to"}}, "required": ["begin_time", "end_time"]}, "issue_time": {"type": "string", "maxLength": 36, "description": "The date the credit memo was issued"}, "net": {"type": "string", "description": "Total credit memo amount without taxes in local currency"}, "net_usd": {"type": "string", "description": "Total credit memo amount without taxes in USD"}, "send_time": {"type": "string", "maxLength": 36, "description": "The date when this credit memo was sent"}, "state": {"type": "string", "description": "State of the credit memo", "enum": ["draft", "ready", "sent"]}, "total": {"type": "string", "description": "Total credit memo amount in local currency"}}, "required": ["create_time", "credit_memo_id", "currency", "invoice_number", "invoice_period", "net", "net_usd", "state", "total"]}}}, "required": ["credit_memos"]}, "OrganizationBillingGroupCreateRequestBody": {"type": "object", "description": "OrganizationBillingGroupCreateRequestBody", "properties": {"billing_address_id": {"type": "string", "maxLength": 36, "description": "Billing address ID"}, "billing_contact_emails": {"type": "array", "description": "List of billing contact emails", "items": {"type": "object", "properties": {"email": {"type": "string", "maxLength": 254, "description": "Email"}}, "required": ["email"]}}, "billing_emails": {"type": "array", "description": "List of billing contact emails", "items": {"type": "object", "properties": {"email": {"type": "string", "maxLength": 254, "description": "Email"}}, "required": ["email"]}}, "billing_group_name": {"type": "string", "minLength": 1, "maxLength": 128, "description": "Billing Group Name"}, "custom_invoice_text": {"type": "string", "maxLength": 256, "description": "Extra billing text"}, "payment_method": {"type": "object", "description": "Payment method", "properties": {"payment_method_id": {"type": "string", "maxLength": 36, "description": "Payment method ID"}, "payment_method_type": {"type": "string", "description": "An enumeration.", "title": "Payment method type", "enum": ["aws_subscription", "azure_subscription", "bank_transfer", "credit_card", "gcp_subscription", "custom"]}}, "required": ["payment_method_id", "payment_method_type"]}, "shipping_address_id": {"type": "string", "maxLength": 36, "description": "Shipping address ID"}, "vat_id": {"type": "string", "description": "VAT ID"}}, "required": ["billing_address_id", "billing_contact_emails", "billing_emails", "billing_group_name", "payment_method", "shipping_address_id"]}, "OrganizationBillingGroupCreateResponse": {"type": "object", "description": "OrganizationBillingGroupCreateResponse", "properties": {"billing_address_id": {"type": "string", "maxLength": 36, "description": "Billing address ID"}, "billing_contact_emails": {"type": "array", "description": "List of billing contact emails", "items": {"type": "object", "properties": {"email": {"type": "string", "maxLength": 254, "description": "Email"}}, "required": ["email"]}}, "billing_emails": {"type": "array", "description": "List of billing contact emails", "items": {"type": "object", "properties": {"email": {"type": "string", "maxLength": 254, "description": "Email"}}, "required": ["email"]}}, "billing_group_id": {"type": "string", "description": "Billing group ID"}, "billing_group_name": {"type": "string", "minLength": 1, "maxLength": 128, "description": "Billing Group Name"}, "custom_invoice_text": {"type": "string", "maxLength": 256, "description": "Extra billing text"}, "organization_id": {"type": "string", "maxLength": 36, "description": "Organization ID"}, "payment_method": {"type": "object", "description": "Payment method", "properties": {"payment_method_id": {"type": "string", "maxLength": 36, "description": "Payment method ID"}, "payment_method_type": {"type": "string", "description": "An enumeration.", "title": "Payment method type", "enum": ["aws_subscription", "azure_subscription", "bank_transfer", "credit_card", "gcp_subscription", "custom"]}}, "required": ["payment_method_id", "payment_method_type"]}, "shipping_address_id": {"type": "string", "maxLength": 36, "description": "Shipping address ID"}, "vat_id": {"type": "string", "description": "VAT ID"}}, "required": ["billing_address_id", "billing_contact_emails", "billing_emails", "billing_group_id", "billing_group_name", "organization_id", "shipping_address_id"]}, "OrganizationBillingGroupGetResponse": {"type": "object", "description": "OrganizationBillingGroupGetResponse", "properties": {"billing_address_id": {"type": "string", "maxLength": 36, "description": "Billing address ID"}, "billing_contact_emails": {"type": "array", "description": "List of billing contact emails", "items": {"type": "object", "properties": {"email": {"type": "string", "maxLength": 254, "description": "Email"}}, "required": ["email"]}}, "billing_emails": {"type": "array", "description": "List of billing contact emails", "items": {"type": "object", "properties": {"email": {"type": "string", "maxLength": 254, "description": "Email"}}, "required": ["email"]}}, "billing_group_id": {"type": "string", "description": "Billing group ID"}, "billing_group_name": {"type": "string", "minLength": 1, "maxLength": 128, "description": "Billing Group Name"}, "custom_invoice_text": {"type": "string", "maxLength": 256, "description": "Extra billing text"}, "organization_id": {"type": "string", "maxLength": 36, "description": "Organization ID"}, "payment_method": {"type": "object", "description": "Payment method", "properties": {"payment_method_id": {"type": "string", "maxLength": 36, "description": "Payment method ID"}, "payment_method_type": {"type": "string", "description": "An enumeration.", "title": "Payment method type", "enum": ["aws_subscription", "azure_subscription", "bank_transfer", "credit_card", "gcp_subscription", "custom"]}}, "required": ["payment_method_id", "payment_method_type"]}, "shipping_address_id": {"type": "string", "maxLength": 36, "description": "Shipping address ID"}, "vat_id": {"type": "string", "description": "VAT ID"}}, "required": ["billing_address_id", "billing_contact_emails", "billing_emails", "billing_group_id", "billing_group_name", "organization_id", "shipping_address_id"]}, "OrganizationBillingGroupListResponse": {"type": "object", "description": "OrganizationBillingGroupListResponse", "properties": {"billing_groups": {"type": "array", "description": "A list of all billing groups belonging to the organization", "items": {"type": "object", "properties": {"billing_address_id": {"type": "string", "maxLength": 36, "description": "Billing address ID"}, "billing_contact_emails": {"type": "array", "description": "List of billing contact emails", "items": {"type": "object", "properties": {"email": {"type": "string", "maxLength": 254, "description": "Email"}}, "required": ["email"]}}, "billing_emails": {"type": "array", "description": "List of billing contact emails", "items": {"type": "object", "properties": {"email": {"type": "string", "maxLength": 254, "description": "Email"}}, "required": ["email"]}}, "billing_group_id": {"type": "string", "description": "Billing group ID"}, "billing_group_name": {"type": "string", "minLength": 1, "maxLength": 128, "description": "Billing Group Name"}, "custom_invoice_text": {"type": "string", "maxLength": 256, "description": "Extra billing text"}, "organization_id": {"type": "string", "maxLength": 36, "description": "Organization ID"}, "payment_method": {"type": "object", "description": "Payment method", "properties": {"payment_method_id": {"type": "string", "maxLength": 36, "description": "Payment method ID"}, "payment_method_type": {"type": "string", "description": "An enumeration.", "title": "Payment method type", "enum": ["aws_subscription", "azure_subscription", "bank_transfer", "credit_card", "gcp_subscription", "custom"]}}, "required": ["payment_method_id", "payment_method_type"]}, "shipping_address_id": {"type": "string", "maxLength": 36, "description": "Shipping address ID"}, "vat_id": {"type": "string", "description": "VAT ID"}}, "required": ["billing_address_id", "billing_contact_emails", "billing_emails", "billing_group_id", "billing_group_name", "organization_id", "shipping_address_id"]}}}, "required": ["billing_groups"]}, "OrganizationBillingGroupUpdateRequestBody": {"type": "object", "description": "OrganizationBillingGroupUpdateRequestBody", "properties": {"billing_address_id": {"type": "string", "maxLength": 36, "description": "Billing address ID"}, "billing_contact_emails": {"type": "array", "description": "List of billing contact emails", "items": {"type": "object", "properties": {"email": {"type": "string", "maxLength": 254, "description": "Email"}}, "required": ["email"]}}, "billing_emails": {"type": "array", "description": "List of billing contact emails", "items": {"type": "object", "properties": {"email": {"type": "string", "maxLength": 254, "description": "Email"}}, "required": ["email"]}}, "billing_group_name": {"type": "string", "minLength": 1, "maxLength": 128, "description": "Billing group name"}, "custom_invoice_text": {"type": "string", "maxLength": 254, "description": "Extra billing text"}, "payment_method": {"type": "object", "description": "Payment method", "properties": {"payment_method_id": {"type": "string", "maxLength": 36, "description": "Payment method ID"}, "payment_method_type": {"type": "string", "description": "An enumeration.", "title": "Payment method type", "enum": ["aws_subscription", "azure_subscription", "bank_transfer", "credit_card", "gcp_subscription", "custom"]}}, "required": ["payment_method_id", "payment_method_type"]}, "shipping_address_id": {"type": "string", "maxLength": 36, "description": "Shipping address ID"}, "vat_id": {"type": "string", "description": "VAT ID"}}}, "OrganizationBillingGroupUpdateResponse": {"type": "object", "description": "OrganizationBillingGroupUpdateResponse", "properties": {"billing_address_id": {"type": "string", "maxLength": 36, "description": "Billing address ID"}, "billing_contact_emails": {"type": "array", "description": "List of billing contact emails", "items": {"type": "object", "properties": {"email": {"type": "string", "maxLength": 254, "description": "Email"}}, "required": ["email"]}}, "billing_emails": {"type": "array", "description": "List of billing contact emails", "items": {"type": "object", "properties": {"email": {"type": "string", "maxLength": 254, "description": "Email"}}, "required": ["email"]}}, "billing_group_id": {"type": "string", "description": "Billing group ID"}, "billing_group_name": {"type": "string", "minLength": 1, "maxLength": 128, "description": "Billing Group Name"}, "custom_invoice_text": {"type": "string", "maxLength": 256, "description": "Extra billing text"}, "organization_id": {"type": "string", "maxLength": 36, "description": "Organization ID"}, "payment_method": {"type": "object", "description": "Payment method", "properties": {"payment_method_id": {"type": "string", "maxLength": 36, "description": "Payment method ID"}, "payment_method_type": {"type": "string", "description": "An enumeration.", "title": "Payment method type", "enum": ["aws_subscription", "azure_subscription", "bank_transfer", "credit_card", "gcp_subscription", "custom"]}}, "required": ["payment_method_id", "payment_method_type"]}, "shipping_address_id": {"type": "string", "maxLength": 36, "description": "Shipping address ID"}, "vat_id": {"type": "string", "description": "VAT ID"}}, "required": ["billing_address_id", "billing_contact_emails", "billing_emails", "billing_group_id", "billing_group_name", "organization_id", "shipping_address_id"]}, "OrganizationBillingInvoiceGetResponse": {"type": "object", "description": "OrganizationBillingInvoiceGetResponse", "properties": {"billing_group_id": {"type": "string", "description": "Billing group ID"}, "create_time": {"type": "string", "maxLength": 36, "description": "The date when this invoice was created"}, "currency": {"type": "string", "description": "Acceptable currencies for a billing group.", "title": "Invoice currency", "enum": ["AUD", "CAD", "CHF", "DKK", "EUR", "GBP", "JPY", "NOK", "NZD", "SEK", "SGD", "USD"]}, "due_date": {"type": "string", "maxLength": 10, "description": "The date when this invoice is due"}, "invoice_number": {"type": "string", "description": "Invoice ID"}, "invoice_period": {"type": "object", "description": "InvoicePeriod", "properties": {"begin_time": {"type": "string", "maxLength": 36, "description": "The start date of the period this invoice refers to"}, "end_time": {"type": "string", "maxLength": 36, "description": "The end date of the period this invoice refers to"}}, "required": ["begin_time", "end_time"]}, "issue_date": {"type": "string", "maxLength": 10, "description": "The date the invoice was issued"}, "net": {"type": "string", "description": "Total invoice amount without taxes in local currency"}, "net_usd": {"type": "string", "description": "Total invoice amount without taxes in USD"}, "organization_id": {"type": "string", "maxLength": 36, "description": "Organization ID"}, "state": {"type": "string", "description": "State of the invoice", "enum": ["accrual", "consolidated", "due", "estimate", "failed_credit_card_charge", "failed_no_credit_card", "mailed", "no_payment_expected", "paid", "partner_metering", "uncollectible", "waived", "due_only_project_charges_calculated", "estimate_only_project_charges_calculated"]}, "total": {"type": "string", "description": "Total invoice amount including taxes in local currency"}, "total_usd": {"type": "string", "description": "Total invoice amount including taxes in USD"}}, "required": ["billing_group_id", "create_time", "currency", "invoice_number", "invoice_period", "issue_date", "net", "net_usd", "organization_id", "state", "total", "total_usd"]}, "OrganizationBillingInvoiceLinesListResponse": {"type": "object", "description": "OrganizationBillingInvoiceLinesListResponse", "properties": {"lines": {"type": "array", "description": "Lines", "items": {"type": "object", "properties": {"begin_time": {"type": "string", "description": "Start timestamp of the line item"}, "cloud": {"type": "string", "description": "Name of the cloud provider"}, "currency": {"type": "string", "description": "Acceptable currencies for a billing group.", "title": "Local currency code", "enum": ["AUD", "CAD", "CHF", "DKK", "EUR", "GBP", "JPY", "NOK", "NZD", "SEK", "SGD", "USD"]}, "description": {"type": "string", "description": "Description of the line item"}, "end_time": {"type": "string", "description": "End timestamp of the line item"}, "line_type": {"type": "string", "description": "An enumeration.", "title": "Type of line item", "enum": ["commitment_fee", "credit_consumption", "extra_charge", "multiplier", "other_event", "pro_platform_charge", "rounding", "service_charge", "support_charge"]}, "plan": {"type": "string", "description": "Plan of the service"}, "project_id": {"type": "string", "description": "Name of the project"}, "service_id": {"type": "string", "description": "ID of the service"}, "service_type": {"type": "string", "description": "Type of service"}, "tags": {"type": "object", "description": "Associated tags (key-value pairs)", "properties": {}}, "total": {"type": "string", "description": "Total amount in local currency"}, "total_usd": {"type": "string", "description": "Total amount in USD"}}, "required": ["line_type", "total", "total_usd"]}}}, "required": ["lines"]}, "OrganizationBillingInvoiceListResponse": {"type": "object", "description": "OrganizationBillingInvoiceListResponse", "properties": {"invoices": {"type": "array", "description": "A list of billing invoices belonging to the organization", "items": {"type": "object", "properties": {"billing_group_id": {"type": "string", "description": "Billing group ID"}, "create_time": {"type": "string", "maxLength": 36, "description": "The date when this invoice was created"}, "currency": {"type": "string", "description": "Acceptable currencies for a billing group.", "title": "Invoice currency", "enum": ["AUD", "CAD", "CHF", "DKK", "EUR", "GBP", "JPY", "NOK", "NZD", "SEK", "SGD", "USD"]}, "due_date": {"type": "string", "maxLength": 10, "description": "The date when this invoice is due"}, "invoice_number": {"type": "string", "description": "Invoice ID"}, "invoice_period": {"type": "object", "description": "InvoicePeriod", "properties": {"begin_time": {"type": "string", "maxLength": 36, "description": "The start date of the period this invoice refers to"}, "end_time": {"type": "string", "maxLength": 36, "description": "The end date of the period this invoice refers to"}}, "required": ["begin_time", "end_time"]}, "issue_date": {"type": "string", "maxLength": 10, "description": "The date the invoice was issued"}, "net": {"type": "string", "description": "Total invoice amount without taxes in local currency"}, "net_usd": {"type": "string", "description": "Total invoice amount without taxes in USD"}, "organization_id": {"type": "string", "maxLength": 36, "description": "Organization ID"}, "state": {"type": "string", "description": "State of the invoice", "enum": ["accrual", "consolidated", "due", "estimate", "failed_credit_card_charge", "failed_no_credit_card", "mailed", "no_payment_expected", "paid", "partner_metering", "uncollectible", "waived", "due_only_project_charges_calculated", "estimate_only_project_charges_calculated"]}, "total": {"type": "string", "description": "Total invoice amount including taxes in local currency"}, "total_usd": {"type": "string", "description": "Total invoice amount including taxes in USD"}}, "required": ["billing_group_id", "create_time", "currency", "invoice_number", "invoice_period", "issue_date", "net", "net_usd", "organization_id", "state", "total", "total_usd"]}}}, "required": ["invoices"]}, "BankTransferGetResponse": {"type": "object", "description": "BankTransferGetResponse", "properties": {"create_time": {"type": "string", "maxLength": 36, "description": "Create Time"}, "currency": {"type": "string", "description": "Acceptable currencies for a billing group.", "title": "AcceptedCurrency", "enum": ["AUD", "CAD", "CHF", "DKK", "EUR", "GBP", "JPY", "NOK", "NZD", "SEK", "SGD", "USD"]}, "organization_id": {"type": "string", "maxLength": 36, "description": "Organization's ID"}, "payment_method_id": {"type": "string", "maxLength": 36, "description": "Payment method ID"}, "payment_terms_days": {"type": "integer", "description": "Payment Terms Days"}, "state": {"type": "string", "description": "Payment method state"}, "update_time": {"type": "string", "maxLength": 36, "description": "Update Time"}}, "required": ["create_time", "currency", "organization_id", "payment_method_id", "payment_terms_days", "state", "update_time"]}, "BankTransferListResponse": {"type": "object", "description": "BankTransferListResponse", "properties": {"bank_transfers": {"type": "array", "description": "Bank Transfers", "items": {"type": "object", "properties": {"create_time": {"type": "string", "maxLength": 36, "description": "Create Time"}, "currency": {"type": "string", "description": "Acceptable currencies for a billing group.", "title": "AcceptedCurrency", "enum": ["AUD", "CAD", "CHF", "DKK", "EUR", "GBP", "JPY", "NOK", "NZD", "SEK", "SGD", "USD"]}, "organization_id": {"type": "string", "maxLength": 36, "description": "Organization's ID"}, "payment_method_id": {"type": "string", "maxLength": 36, "description": "Payment method ID"}, "payment_terms_days": {"type": "integer", "description": "Payment Terms Days"}, "state": {"type": "string", "description": "Payment method state"}, "update_time": {"type": "string", "maxLength": 36, "description": "Update Time"}}, "required": ["create_time", "currency", "organization_id", "payment_method_id", "payment_terms_days", "state", "update_time"]}}}, "required": ["bank_transfers"]}, "CreditCardCreateRequestBody": {"type": "object", "description": "CreditCardCreateRequestBody", "properties": {"stripe_payment_method_id": {"type": "string", "description": "Stripe payment method ID"}}, "required": ["stripe_payment_method_id"]}, "CreditCardCreateResponse": {"type": "object", "description": "CreditCardCreateResponse", "properties": {"brand": {"type": "string", "description": "Brand"}, "create_time": {"type": "string", "maxLength": 36, "description": "Create Time"}, "exp_month": {"type": "integer", "description": "Exp Month"}, "exp_year": {"type": "integer", "description": "Exp Year"}, "last4": {"type": "string", "description": "Last4"}, "name": {"type": "string", "description": "Name"}, "organization_id": {"type": "string", "maxLength": 36, "description": "Organization's ID"}, "payment_method_id": {"type": "string", "maxLength": 36, "description": "Payment method ID"}, "state": {"type": "string", "description": "Payment method state"}, "update_time": {"type": "string", "maxLength": 36, "description": "Update Time"}}, "required": ["brand", "create_time", "exp_month", "exp_year", "last4", "name", "organization_id", "payment_method_id", "state", "update_time"]}, "CreditCardDeleteResponse": {"type": "object", "description": "CreditCardDeleteResponse", "properties": {"brand": {"type": "string", "description": "Brand"}, "create_time": {"type": "string", "maxLength": 36, "description": "Create Time"}, "exp_month": {"type": "integer", "description": "Exp Month"}, "exp_year": {"type": "integer", "description": "Exp Year"}, "last4": {"type": "string", "description": "Last4"}, "name": {"type": "string", "description": "Name"}, "organization_id": {"type": "string", "maxLength": 36, "description": "Organization's ID"}, "payment_method_id": {"type": "string", "maxLength": 36, "description": "Payment method ID"}, "state": {"type": "string", "description": "Payment method state"}, "update_time": {"type": "string", "maxLength": 36, "description": "Update Time"}}, "required": ["brand", "create_time", "exp_month", "exp_year", "last4", "name", "organization_id", "payment_method_id", "state", "update_time"]}, "CreditCardGetResponse": {"type": "object", "description": "CreditCardGetResponse", "properties": {"brand": {"type": "string", "description": "Brand"}, "create_time": {"type": "string", "maxLength": 36, "description": "Create Time"}, "exp_month": {"type": "integer", "description": "Exp Month"}, "exp_year": {"type": "integer", "description": "Exp Year"}, "last4": {"type": "string", "description": "Last4"}, "name": {"type": "string", "description": "Name"}, "organization_id": {"type": "string", "maxLength": 36, "description": "Organization's ID"}, "payment_method_id": {"type": "string", "maxLength": 36, "description": "Payment method ID"}, "state": {"type": "string", "description": "Payment method state"}, "update_time": {"type": "string", "maxLength": 36, "description": "Update Time"}}, "required": ["brand", "create_time", "exp_month", "exp_year", "last4", "name", "organization_id", "payment_method_id", "state", "update_time"]}, "CreditCardListResponse": {"type": "object", "description": "CreditCardListResponse", "properties": {"credit_cards": {"type": "array", "description": "Credit Cards", "items": {"type": "object", "properties": {"brand": {"type": "string", "description": "Brand"}, "create_time": {"type": "string", "maxLength": 36, "description": "Create Time"}, "exp_month": {"type": "integer", "description": "Exp Month"}, "exp_year": {"type": "integer", "description": "Exp Year"}, "last4": {"type": "string", "description": "Last4"}, "name": {"type": "string", "description": "Name"}, "organization_id": {"type": "string", "maxLength": 36, "description": "Organization's ID"}, "payment_method_id": {"type": "string", "maxLength": 36, "description": "Payment method ID"}, "state": {"type": "string", "description": "Payment method state"}, "update_time": {"type": "string", "maxLength": 36, "description": "Update Time"}}, "required": ["brand", "create_time", "exp_month", "exp_year", "last4", "name", "organization_id", "payment_method_id", "state", "update_time"]}}}, "required": ["credit_cards"]}, "PaymentMethodCustomGetResponse": {"type": "object", "description": "PaymentMethodCustomGetResponse", "properties": {"create_time": {"type": "string", "maxLength": 36, "description": "Create Time"}, "organization_id": {"type": "string", "maxLength": 36, "description": "Organization's ID"}, "payment_method_id": {"type": "string", "maxLength": 36, "description": "Payment method ID"}, "state": {"type": "string", "description": "Payment method state"}, "type": {"type": "string", "description": "An enumeration.", "title": "PaymentMethodCustomType", "enum": ["disabled", "no_payment_expected", "partner"]}, "update_time": {"type": "string", "maxLength": 36, "description": "Update Time"}}, "required": ["create_time", "organization_id", "payment_method_id", "state", "type", "update_time"]}, "PaymentMethodCustomListResponse": {"type": "object", "description": "PaymentMethodCustomListResponse", "properties": {"custom_methods": {"type": "array", "description": "Custom Methods", "items": {"type": "object", "properties": {"create_time": {"type": "string", "maxLength": 36, "description": "Create Time"}, "organization_id": {"type": "string", "maxLength": 36, "description": "Organization's ID"}, "payment_method_id": {"type": "string", "maxLength": 36, "description": "Payment method ID"}, "state": {"type": "string", "description": "Payment method state"}, "type": {"type": "string", "description": "An enumeration.", "title": "PaymentMethodCustomType", "enum": ["disabled", "no_payment_expected", "partner"]}, "update_time": {"type": "string", "maxLength": 36, "description": "Update Time"}}, "required": ["create_time", "organization_id", "payment_method_id", "state", "type", "update_time"]}}}, "required": ["custom_methods"]}, "PaymentMethodsListResponse": {"type": "object", "description": "PaymentMethodsListResponse", "properties": {"payment_methods": {"type": "array", "description": "Payment Methods", "items": {"type": "object", "properties": {"payment_method_id": {"type": "string", "maxLength": 36, "description": "Payment method ID"}, "payment_method_type": {"type": "string", "description": "An enumeration.", "title": "Payment method type", "enum": ["aws_subscription", "azure_subscription", "bank_transfer", "credit_card", "gcp_subscription", "custom"]}}, "required": ["payment_method_id", "payment_method_type"]}}}, "required": ["payment_methods"]}, "OrganizationVpcCloudsListResponse": {"type": "object", "description": "OrganizationVpcCloudsListResponse", "properties": {"clouds": {"type": "array", "description": "List of available clouds", "items": {"type": "object", "properties": {"cloud_description": {"type": "string", "description": "Cloud provider and location"}, "cloud_name": {"type": "string", "maxLength": 256, "description": "Target cloud"}, "geo_latitude": {"type": "number", "description": "Approximate geographic latitude of the datacenters"}, "geo_longitude": {"type": "number", "description": "Approximate geographic longitude of the datacenters"}, "geo_region": {"type": "string", "description": "Geographical region"}, "provider": {"type": "string", "description": "Cloud provider name"}, "provider_description": {"type": "string", "description": "Cloud provider description"}}, "required": ["cloud_name", "geo_region"]}}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}, "required": ["clouds"]}, "OrganizationVpcCreateRequestBody": {"type": "object", "description": "OrganizationVpcCreateRequestBody", "properties": {"clouds": {"type": "array", "minItems": 1, "maxItems": 1, "description": "Clouds to create this VPC in", "items": {"type": "object", "properties": {"cloud_name": {"type": "string", "maxLength": 256, "description": "Target cloud"}, "network_cidr": {"type": "string", "maxLength": 18, "description": "IPv4 network range CIDR"}}, "required": ["cloud_name", "network_cidr"]}}, "display_name": {"type": "string", "maxLength": 64, "description": "User defined display name for this VPC"}, "peering_connections": {"type": "array", "maxItems": 128, "description": "List of peering connection requests for the VPC", "items": {"type": "object", "properties": {"peer_azure_app_id": {"type": "string", "maxLength": 1024, "description": "Azure app registration id in UUID4 form that is allowed to create a peering to the peer vnet"}, "peer_azure_tenant_id": {"type": "string", "maxLength": 1024, "description": "Azure tenant id in UUID4 form"}, "peer_cloud_account": {"type": "string", "maxLength": 1024, "description": "AWS account ID, GCP project ID, Azure subscription ID of the peered VPC, or string &quot;upcloud&quot; for UpCloud peering connections"}, "peer_region": {"type": "string", "maxLength": 1024, "description": "The peer VPC's region on AWS. May be omitted or set to null if the peer is in the same region as the Aiven project VPC. Omit or set to null on GCP, Azure, or UpCloud."}, "peer_resource_group": {"type": "string", "maxLength": 1024, "description": "Azure resource group name of the peered VPC"}, "peer_vpc": {"type": "string", "maxLength": 1024, "description": "AWS VPC ID, GCP VPC network name, Azure Virtual network name of the peered VPC, or UpCloud VPC ID"}, "user_peer_network_cidrs": {"type": "array", "maxItems": 128, "description": "List of private IPv4 ranges to route through the peering connection", "items": {"type": "string"}}}, "required": ["peer_cloud_account", "peer_vpc"]}}}, "required": ["clouds", "peering_connections"]}, "OrganizationVpcCreateResponse": {"type": "object", "description": "OrganizationVpcCreateResponse", "properties": {"clouds": {"type": "array", "description": "Clouds or clouds to create this VPC in", "items": {"type": "object", "properties": {"cloud_name": {"type": "string", "maxLength": 256, "description": "Target cloud"}, "network_cidr": {"type": "string", "maxLength": 18, "description": "IPv4 network range CIDR"}}, "required": ["cloud_name", "network_cidr"]}}, "create_time": {"type": "string", "maxLength": 36, "description": "VPC creation timestamp"}, "display_name": {"type": "string", "maxLength": 64, "description": "User defined display name for this VPC"}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "organization_id": {"type": "string", "maxLength": 36, "description": "Organization ID"}, "organization_vpc_id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "Project VPC ID"}, "peering_connections": {"type": "array", "description": "List of peering connections", "items": {"type": "object", "properties": {"create_time": {"type": "string", "maxLength": 36, "description": "VPC peering connection creation timestamp"}, "peer_azure_app_id": {"type": "string", "maxLength": 1024, "description": "Azure app registration id in UUID4 form that is allowed to create a peering to the peer vnet"}, "peer_azure_tenant_id": {"type": "string", "maxLength": 1024, "description": "Azure tenant id in UUID4 form"}, "peer_cloud_account": {"type": "string", "maxLength": 1024, "description": "AWS account ID, GCP project ID, Azure subscription ID of the peered VPC, or string &quot;upcloud&quot; for UpCloud peering connections"}, "peer_region": {"type": "string", "maxLength": 1024, "description": "The peer VPC's region in AWS clouds. Always null in GCP, Azure, or UpCloud clouds"}, "peer_resource_group": {"type": "string", "maxLength": 1024, "description": "Azure resource group name of the peered VPC"}, "peer_vpc": {"type": "string", "maxLength": 1024, "description": "AWS VPC ID, GCP VPC network name, Azure Virtual network name of the peered VPC, or UpCloud VPC ID"}, "peering_connection_id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "VPC peering connection ID"}, "state": {"type": "string", "description": "Project VPC peering connection state", "enum": ["ACTIVE", "APPROVED", "APPROVED_PEER_REQUESTED", "DELETED", "DELETED_BY_PEER", "DELETING", "ERROR", "INVALID_SPECIFICATION", "PENDING_PEER", "REJECTED_BY_PEER"]}, "state_info": {"type": "object", "description": "State-specific help or error information", "properties": {"message": {"type": "string", "description": "Human-readable information message"}, "type": {"type": "string", "description": "Type of state information"}, "warnings": {"type": "array", "description": "List of warnings if any", "items": {"type": "object", "properties": {"conflicting_aws_account_id": {"type": "string", "description": "AWS account id of conflicting VPC"}, "conflicting_aws_vpc_id": {"type": "string", "description": "VPC id which is conflicting with the current one"}, "conflicting_aws_vpc_peering_connection_id": {"type": "string", "description": "AWS VPC connection id which is conflicting with current VPC"}, "message": {"type": "string", "description": "Warning message to be shown to the user"}, "type": {"type": "string", "description": "Type of warning", "enum": ["overlapping-peer-vpc-ip-ranges", "upcloud-peering-in-error"]}}, "required": ["message", "type"]}}}, "required": ["message", "type"]}, "update_time": {"type": "string", "maxLength": 36, "description": "Timestamp of last change to the VPC peering connection"}, "user_peer_network_cidrs": {"type": "array", "maxItems": 128, "description": "List of private IPv4 ranges to route through the peering connection", "items": {"type": "string"}}, "vpc_peering_connection_type": {"type": "string", "description": "Type of network connection from the VPC", "enum": ["aws-tgw-vpc-attachment", "aws-vpc-peering-connection", "azure-vnet-peering", "do-vpc-peering", "google-vpc-peering", "upcloud-vpc-peering"]}}, "required": ["create_time", "peer_azure_app_id", "peer_azure_tenant_id", "peer_cloud_account", "peer_resource_group", "peer_vpc", "state", "state_info", "update_time", "user_peer_network_cidrs", "vpc_peering_connection_type"]}}, "pending_build_only_peering_connections": {"type": "string", "maxLength": 36, "description": "VPC rebuild is scheduled"}, "state": {"type": "string", "description": "Project VPC state", "enum": ["ACTIVE", "APPROVED", "DELETED", "DELETING"]}, "update_time": {"type": "string", "maxLength": 36, "description": "Timestamp of last change to VPC"}}, "required": ["clouds", "create_time", "display_name", "organization_id", "organization_vpc_id", "peering_connections", "state", "update_time"]}, "OrganizationVpcDeleteResponse": {"type": "object", "description": "OrganizationVpcDeleteResponse", "properties": {"clouds": {"type": "array", "description": "Clouds or clouds to create this VPC in", "items": {"type": "object", "properties": {"cloud_name": {"type": "string", "maxLength": 256, "description": "Target cloud"}, "network_cidr": {"type": "string", "maxLength": 18, "description": "IPv4 network range CIDR"}}, "required": ["cloud_name", "network_cidr"]}}, "create_time": {"type": "string", "maxLength": 36, "description": "VPC creation timestamp"}, "display_name": {"type": "string", "maxLength": 64, "description": "User defined display name for this VPC"}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "organization_id": {"type": "string", "maxLength": 36, "description": "Organization ID"}, "organization_vpc_id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "Project VPC ID"}, "peering_connections": {"type": "array", "description": "List of peering connections", "items": {"type": "object", "properties": {"create_time": {"type": "string", "maxLength": 36, "description": "VPC peering connection creation timestamp"}, "peer_azure_app_id": {"type": "string", "maxLength": 1024, "description": "Azure app registration id in UUID4 form that is allowed to create a peering to the peer vnet"}, "peer_azure_tenant_id": {"type": "string", "maxLength": 1024, "description": "Azure tenant id in UUID4 form"}, "peer_cloud_account": {"type": "string", "maxLength": 1024, "description": "AWS account ID, GCP project ID, Azure subscription ID of the peered VPC, or string &quot;upcloud&quot; for UpCloud peering connections"}, "peer_region": {"type": "string", "maxLength": 1024, "description": "The peer VPC's region in AWS clouds. Always null in GCP, Azure, or UpCloud clouds"}, "peer_resource_group": {"type": "string", "maxLength": 1024, "description": "Azure resource group name of the peered VPC"}, "peer_vpc": {"type": "string", "maxLength": 1024, "description": "AWS VPC ID, GCP VPC network name, Azure Virtual network name of the peered VPC, or UpCloud VPC ID"}, "peering_connection_id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "VPC peering connection ID"}, "state": {"type": "string", "description": "Project VPC peering connection state", "enum": ["ACTIVE", "APPROVED", "APPROVED_PEER_REQUESTED", "DELETED", "DELETED_BY_PEER", "DELETING", "ERROR", "INVALID_SPECIFICATION", "PENDING_PEER", "REJECTED_BY_PEER"]}, "state_info": {"type": "object", "description": "State-specific help or error information", "properties": {"message": {"type": "string", "description": "Human-readable information message"}, "type": {"type": "string", "description": "Type of state information"}, "warnings": {"type": "array", "description": "List of warnings if any", "items": {"type": "object", "properties": {"conflicting_aws_account_id": {"type": "string", "description": "AWS account id of conflicting VPC"}, "conflicting_aws_vpc_id": {"type": "string", "description": "VPC id which is conflicting with the current one"}, "conflicting_aws_vpc_peering_connection_id": {"type": "string", "description": "AWS VPC connection id which is conflicting with current VPC"}, "message": {"type": "string", "description": "Warning message to be shown to the user"}, "type": {"type": "string", "description": "Type of warning", "enum": ["overlapping-peer-vpc-ip-ranges", "upcloud-peering-in-error"]}}, "required": ["message", "type"]}}}, "required": ["message", "type"]}, "update_time": {"type": "string", "maxLength": 36, "description": "Timestamp of last change to the VPC peering connection"}, "user_peer_network_cidrs": {"type": "array", "maxItems": 128, "description": "List of private IPv4 ranges to route through the peering connection", "items": {"type": "string"}}, "vpc_peering_connection_type": {"type": "string", "description": "Type of network connection from the VPC", "enum": ["aws-tgw-vpc-attachment", "aws-vpc-peering-connection", "azure-vnet-peering", "do-vpc-peering", "google-vpc-peering", "upcloud-vpc-peering"]}}, "required": ["create_time", "peer_azure_app_id", "peer_azure_tenant_id", "peer_cloud_account", "peer_resource_group", "peer_vpc", "state", "state_info", "update_time", "user_peer_network_cidrs", "vpc_peering_connection_type"]}}, "pending_build_only_peering_connections": {"type": "string", "maxLength": 36, "description": "VPC rebuild is scheduled"}, "state": {"type": "string", "description": "Project VPC state", "enum": ["ACTIVE", "APPROVED", "DELETED", "DELETING"]}, "update_time": {"type": "string", "maxLength": 36, "description": "Timestamp of last change to VPC"}}, "required": ["clouds", "create_time", "display_name", "organization_id", "organization_vpc_id", "peering_connections", "state", "update_time"]}, "OrganizationVpcGetResponse": {"type": "object", "description": "OrganizationVpcGetResponse", "properties": {"clouds": {"type": "array", "description": "Clouds or clouds to create this VPC in", "items": {"type": "object", "properties": {"cloud_name": {"type": "string", "maxLength": 256, "description": "Target cloud"}, "network_cidr": {"type": "string", "maxLength": 18, "description": "IPv4 network range CIDR"}}, "required": ["cloud_name", "network_cidr"]}}, "create_time": {"type": "string", "maxLength": 36, "description": "VPC creation timestamp"}, "display_name": {"type": "string", "maxLength": 64, "description": "User defined display name for this VPC"}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "organization_id": {"type": "string", "maxLength": 36, "description": "Organization ID"}, "organization_vpc_id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "Project VPC ID"}, "peering_connections": {"type": "array", "description": "List of peering connections", "items": {"type": "object", "properties": {"create_time": {"type": "string", "maxLength": 36, "description": "VPC peering connection creation timestamp"}, "peer_azure_app_id": {"type": "string", "maxLength": 1024, "description": "Azure app registration id in UUID4 form that is allowed to create a peering to the peer vnet"}, "peer_azure_tenant_id": {"type": "string", "maxLength": 1024, "description": "Azure tenant id in UUID4 form"}, "peer_cloud_account": {"type": "string", "maxLength": 1024, "description": "AWS account ID, GCP project ID, Azure subscription ID of the peered VPC, or string &quot;upcloud&quot; for UpCloud peering connections"}, "peer_region": {"type": "string", "maxLength": 1024, "description": "The peer VPC's region in AWS clouds. Always null in GCP, Azure, or UpCloud clouds"}, "peer_resource_group": {"type": "string", "maxLength": 1024, "description": "Azure resource group name of the peered VPC"}, "peer_vpc": {"type": "string", "maxLength": 1024, "description": "AWS VPC ID, GCP VPC network name, Azure Virtual network name of the peered VPC, or UpCloud VPC ID"}, "peering_connection_id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "VPC peering connection ID"}, "state": {"type": "string", "description": "Project VPC peering connection state", "enum": ["ACTIVE", "APPROVED", "APPROVED_PEER_REQUESTED", "DELETED", "DELETED_BY_PEER", "DELETING", "ERROR", "INVALID_SPECIFICATION", "PENDING_PEER", "REJECTED_BY_PEER"]}, "state_info": {"type": "object", "description": "State-specific help or error information", "properties": {"message": {"type": "string", "description": "Human-readable information message"}, "type": {"type": "string", "description": "Type of state information"}, "warnings": {"type": "array", "description": "List of warnings if any", "items": {"type": "object", "properties": {"conflicting_aws_account_id": {"type": "string", "description": "AWS account id of conflicting VPC"}, "conflicting_aws_vpc_id": {"type": "string", "description": "VPC id which is conflicting with the current one"}, "conflicting_aws_vpc_peering_connection_id": {"type": "string", "description": "AWS VPC connection id which is conflicting with current VPC"}, "message": {"type": "string", "description": "Warning message to be shown to the user"}, "type": {"type": "string", "description": "Type of warning", "enum": ["overlapping-peer-vpc-ip-ranges", "upcloud-peering-in-error"]}}, "required": ["message", "type"]}}}, "required": ["message", "type"]}, "update_time": {"type": "string", "maxLength": 36, "description": "Timestamp of last change to the VPC peering connection"}, "user_peer_network_cidrs": {"type": "array", "maxItems": 128, "description": "List of private IPv4 ranges to route through the peering connection", "items": {"type": "string"}}, "vpc_peering_connection_type": {"type": "string", "description": "Type of network connection from the VPC", "enum": ["aws-tgw-vpc-attachment", "aws-vpc-peering-connection", "azure-vnet-peering", "do-vpc-peering", "google-vpc-peering", "upcloud-vpc-peering"]}}, "required": ["create_time", "peer_azure_app_id", "peer_azure_tenant_id", "peer_cloud_account", "peer_resource_group", "peer_vpc", "state", "state_info", "update_time", "user_peer_network_cidrs", "vpc_peering_connection_type"]}}, "pending_build_only_peering_connections": {"type": "string", "maxLength": 36, "description": "VPC rebuild is scheduled"}, "state": {"type": "string", "description": "Project VPC state", "enum": ["ACTIVE", "APPROVED", "DELETED", "DELETING"]}, "update_time": {"type": "string", "maxLength": 36, "description": "Timestamp of last change to VPC"}}, "required": ["clouds", "create_time", "display_name", "organization_id", "organization_vpc_id", "peering_connections", "state", "update_time"]}, "OrganizationVpcListResponse": {"type": "object", "description": "OrganizationVpcListResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "vpcs": {"type": "array", "description": "List of VPCs", "items": {"type": "object", "properties": {"clouds": {"type": "array", "description": "Clouds or clouds to create this VPC in", "items": {"type": "object", "properties": {"cloud_name": {"type": "string", "maxLength": 256, "description": "Target cloud"}, "network_cidr": {"type": "string", "maxLength": 18, "description": "IPv4 network range CIDR"}}, "required": ["cloud_name", "network_cidr"]}}, "create_time": {"type": "string", "maxLength": 36, "description": "VPC creation timestamp"}, "display_name": {"type": "string", "maxLength": 64, "description": "User defined display name for this VPC"}, "organization_id": {"type": "string", "maxLength": 36, "description": "Organization ID"}, "organization_vpc_id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "Project VPC ID"}, "state": {"type": "string", "description": "Project VPC state", "enum": ["ACTIVE", "APPROVED", "DELETED", "DELETING"]}, "update_time": {"type": "string", "maxLength": 36, "description": "Timestamp of last change to VPC"}}, "required": ["clouds", "create_time", "display_name", "organization_id", "organization_vpc_id", "state", "update_time"]}}}, "required": ["vpcs"]}, "OrganizationVpcPeeringConnectionCreateRequestBody": {"type": "object", "description": "OrganizationVpcPeeringConnectionCreateRequestBody", "properties": {"peer_azure_app_id": {"type": "string", "maxLength": 1024, "description": "Azure app registration id in UUID4 form that is allowed to create a peering to the peer vnet"}, "peer_azure_tenant_id": {"type": "string", "maxLength": 1024, "description": "Azure tenant id in UUID4 form"}, "peer_cloud_account": {"type": "string", "maxLength": 1024, "description": "AWS account ID, GCP project ID, Azure subscription ID of the peered VPC, or string &quot;upcloud&quot; for UpCloud peering connections"}, "peer_region": {"type": "string", "maxLength": 1024, "description": "The peer VPC's region on AWS. May be omitted or set to null if the peer is in the same region as the Aiven project VPC. Omit or set to null on GCP, Azure, or UpCloud."}, "peer_resource_group": {"type": "string", "maxLength": 1024, "description": "Azure resource group name of the peered VPC"}, "peer_vpc": {"type": "string", "maxLength": 1024, "description": "AWS VPC ID, GCP VPC network name, Azure Virtual network name of the peered VPC, or UpCloud VPC ID"}, "user_peer_network_cidrs": {"type": "array", "maxItems": 128, "description": "List of private IPv4 ranges to route through the peering connection", "items": {"type": "string"}}}, "required": ["peer_cloud_account", "peer_vpc"]}, "OrganizationVpcPeeringConnectionCreateResponse": {"type": "object", "description": "OrganizationVpcPeeringConnectionCreateResponse", "properties": {"create_time": {"type": "string", "maxLength": 36, "description": "VPC peering connection creation timestamp"}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "peer_azure_app_id": {"type": "string", "maxLength": 1024, "description": "Azure app registration id in UUID4 form that is allowed to create a peering to the peer vnet"}, "peer_azure_tenant_id": {"type": "string", "maxLength": 1024, "description": "Azure tenant id in UUID4 form"}, "peer_cloud_account": {"type": "string", "maxLength": 1024, "description": "AWS account ID, GCP project ID, Azure subscription ID of the peered VPC, or string &quot;upcloud&quot; for UpCloud peering connections"}, "peer_region": {"type": "string", "maxLength": 1024, "description": "The peer VPC's region in AWS clouds. Always null in GCP, Azure, or UpCloud clouds"}, "peer_resource_group": {"type": "string", "maxLength": 1024, "description": "Azure resource group name of the peered VPC"}, "peer_vpc": {"type": "string", "maxLength": 1024, "description": "AWS VPC ID, GCP VPC network name, Azure Virtual network name of the peered VPC, or UpCloud VPC ID"}, "peering_connection_id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "VPC peering connection ID"}, "state": {"type": "string", "description": "Project VPC peering connection state", "enum": ["ACTIVE", "APPROVED", "APPROVED_PEER_REQUESTED", "DELETED", "DELETED_BY_PEER", "DELETING", "ERROR", "INVALID_SPECIFICATION", "PENDING_PEER", "REJECTED_BY_PEER"]}, "state_info": {"type": "object", "description": "State-specific help or error information", "properties": {"message": {"type": "string", "description": "Human-readable information message"}, "type": {"type": "string", "description": "Type of state information"}, "warnings": {"type": "array", "description": "List of warnings if any", "items": {"type": "object", "properties": {"conflicting_aws_account_id": {"type": "string", "description": "AWS account id of conflicting VPC"}, "conflicting_aws_vpc_id": {"type": "string", "description": "VPC id which is conflicting with the current one"}, "conflicting_aws_vpc_peering_connection_id": {"type": "string", "description": "AWS VPC connection id which is conflicting with current VPC"}, "message": {"type": "string", "description": "Warning message to be shown to the user"}, "type": {"type": "string", "description": "Type of warning", "enum": ["overlapping-peer-vpc-ip-ranges", "upcloud-peering-in-error"]}}, "required": ["message", "type"]}}}, "required": ["message", "type"]}, "update_time": {"type": "string", "maxLength": 36, "description": "Timestamp of last change to the VPC peering connection"}, "user_peer_network_cidrs": {"type": "array", "maxItems": 128, "description": "List of private IPv4 ranges to route through the peering connection", "items": {"type": "string"}}, "vpc_peering_connection_type": {"type": "string", "description": "Type of network connection from the VPC", "enum": ["aws-tgw-vpc-attachment", "aws-vpc-peering-connection", "azure-vnet-peering", "do-vpc-peering", "google-vpc-peering", "upcloud-vpc-peering"]}}, "required": ["create_time", "peer_azure_app_id", "peer_azure_tenant_id", "peer_cloud_account", "peer_resource_group", "peer_vpc", "state", "state_info", "update_time", "user_peer_network_cidrs", "vpc_peering_connection_type"]}, "OrganizationVpcPeeringConnectionDeleteByIdResponse": {"type": "object", "description": "OrganizationVpcPeeringConnectionDeleteByIdResponse", "properties": {"create_time": {"type": "string", "maxLength": 36, "description": "VPC peering connection creation timestamp"}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "peer_azure_app_id": {"type": "string", "maxLength": 1024, "description": "Azure app registration id in UUID4 form that is allowed to create a peering to the peer vnet"}, "peer_azure_tenant_id": {"type": "string", "maxLength": 1024, "description": "Azure tenant id in UUID4 form"}, "peer_cloud_account": {"type": "string", "maxLength": 1024, "description": "AWS account ID, GCP project ID, Azure subscription ID of the peered VPC, or string &quot;upcloud&quot; for UpCloud peering connections"}, "peer_region": {"type": "string", "maxLength": 1024, "description": "The peer VPC's region in AWS clouds. Always null in GCP, Azure, or UpCloud clouds"}, "peer_resource_group": {"type": "string", "maxLength": 1024, "description": "Azure resource group name of the peered VPC"}, "peer_vpc": {"type": "string", "maxLength": 1024, "description": "AWS VPC ID, GCP VPC network name, Azure Virtual network name of the peered VPC, or UpCloud VPC ID"}, "peering_connection_id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "VPC peering connection ID"}, "state": {"type": "string", "description": "Project VPC peering connection state", "enum": ["ACTIVE", "APPROVED", "APPROVED_PEER_REQUESTED", "DELETED", "DELETED_BY_PEER", "DELETING", "ERROR", "INVALID_SPECIFICATION", "PENDING_PEER", "REJECTED_BY_PEER"]}, "state_info": {"type": "object", "description": "State-specific help or error information", "properties": {"message": {"type": "string", "description": "Human-readable information message"}, "type": {"type": "string", "description": "Type of state information"}, "warnings": {"type": "array", "description": "List of warnings if any", "items": {"type": "object", "properties": {"conflicting_aws_account_id": {"type": "string", "description": "AWS account id of conflicting VPC"}, "conflicting_aws_vpc_id": {"type": "string", "description": "VPC id which is conflicting with the current one"}, "conflicting_aws_vpc_peering_connection_id": {"type": "string", "description": "AWS VPC connection id which is conflicting with current VPC"}, "message": {"type": "string", "description": "Warning message to be shown to the user"}, "type": {"type": "string", "description": "Type of warning", "enum": ["overlapping-peer-vpc-ip-ranges", "upcloud-peering-in-error"]}}, "required": ["message", "type"]}}}, "required": ["message", "type"]}, "update_time": {"type": "string", "maxLength": 36, "description": "Timestamp of last change to the VPC peering connection"}, "user_peer_network_cidrs": {"type": "array", "maxItems": 128, "description": "List of private IPv4 ranges to route through the peering connection", "items": {"type": "string"}}, "vpc_peering_connection_type": {"type": "string", "description": "Type of network connection from the VPC", "enum": ["aws-tgw-vpc-attachment", "aws-vpc-peering-connection", "azure-vnet-peering", "do-vpc-peering", "google-vpc-peering", "upcloud-vpc-peering"]}}, "required": ["create_time", "peer_azure_app_id", "peer_azure_tenant_id", "peer_cloud_account", "peer_resource_group", "peer_vpc", "state", "state_info", "update_time", "user_peer_network_cidrs", "vpc_peering_connection_type"]}, "OrganizationVpcPeeringConnectionPeerNetworkCidrsUpdateRequestBody": {"type": "object", "description": "OrganizationVpcPeeringConnectionPeerNetworkCidrsUpdateRequestBody", "properties": {"add": {"type": "array", "maxItems": 128, "description": "CIDRs to add using a specific peering connection", "items": {"type": "object", "properties": {"cidr": {"type": "string", "maxLength": 18, "description": "IPv4 network range CIDR"}, "peer_cloud_account": {"type": "string", "maxLength": 1024, "description": "AWS account ID, GCP project ID, Azure subscription ID of the peered VPC, or string &quot;upcloud&quot; for UpCloud peering connections"}, "peer_resource_group": {"type": "string", "maxLength": 1024, "description": "Azure resource group name of the peered VPC"}, "peer_vpc": {"type": "string", "maxLength": 1024, "description": "AWS VPC ID, GCP VPC network name, Azure Virtual network name of the peered VPC, or UpCloud VPC ID"}}, "required": ["cidr", "peer_cloud_account", "peer_vpc"]}}, "delete": {"type": "array", "maxItems": 128, "description": "Network CIDRs to remove from the VPC's peering connections' user_peer_network_cidrs", "items": {"type": "string"}}}}, "OrganizationVpcPeeringConnectionPeerNetworkCidrsUpdateResponse": {"type": "object", "description": "OrganizationVpcPeeringConnectionPeerNetworkCidrsUpdateResponse", "properties": {"clouds": {"type": "array", "description": "Clouds or clouds to create this VPC in", "items": {"type": "object", "properties": {"cloud_name": {"type": "string", "maxLength": 256, "description": "Target cloud"}, "network_cidr": {"type": "string", "maxLength": 18, "description": "IPv4 network range CIDR"}}, "required": ["cloud_name", "network_cidr"]}}, "create_time": {"type": "string", "maxLength": 36, "description": "VPC creation timestamp"}, "display_name": {"type": "string", "maxLength": 64, "description": "User defined display name for this VPC"}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "organization_id": {"type": "string", "maxLength": 36, "description": "Organization ID"}, "organization_vpc_id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "Project VPC ID"}, "peering_connections": {"type": "array", "description": "List of peering connections", "items": {"type": "object", "properties": {"create_time": {"type": "string", "maxLength": 36, "description": "VPC peering connection creation timestamp"}, "peer_azure_app_id": {"type": "string", "maxLength": 1024, "description": "Azure app registration id in UUID4 form that is allowed to create a peering to the peer vnet"}, "peer_azure_tenant_id": {"type": "string", "maxLength": 1024, "description": "Azure tenant id in UUID4 form"}, "peer_cloud_account": {"type": "string", "maxLength": 1024, "description": "AWS account ID, GCP project ID, Azure subscription ID of the peered VPC, or string &quot;upcloud&quot; for UpCloud peering connections"}, "peer_region": {"type": "string", "maxLength": 1024, "description": "The peer VPC's region in AWS clouds. Always null in GCP, Azure, or UpCloud clouds"}, "peer_resource_group": {"type": "string", "maxLength": 1024, "description": "Azure resource group name of the peered VPC"}, "peer_vpc": {"type": "string", "maxLength": 1024, "description": "AWS VPC ID, GCP VPC network name, Azure Virtual network name of the peered VPC, or UpCloud VPC ID"}, "peering_connection_id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "VPC peering connection ID"}, "state": {"type": "string", "description": "Project VPC peering connection state", "enum": ["ACTIVE", "APPROVED", "APPROVED_PEER_REQUESTED", "DELETED", "DELETED_BY_PEER", "DELETING", "ERROR", "INVALID_SPECIFICATION", "PENDING_PEER", "REJECTED_BY_PEER"]}, "state_info": {"type": "object", "description": "State-specific help or error information", "properties": {"message": {"type": "string", "description": "Human-readable information message"}, "type": {"type": "string", "description": "Type of state information"}, "warnings": {"type": "array", "description": "List of warnings if any", "items": {"type": "object", "properties": {"conflicting_aws_account_id": {"type": "string", "description": "AWS account id of conflicting VPC"}, "conflicting_aws_vpc_id": {"type": "string", "description": "VPC id which is conflicting with the current one"}, "conflicting_aws_vpc_peering_connection_id": {"type": "string", "description": "AWS VPC connection id which is conflicting with current VPC"}, "message": {"type": "string", "description": "Warning message to be shown to the user"}, "type": {"type": "string", "description": "Type of warning", "enum": ["overlapping-peer-vpc-ip-ranges", "upcloud-peering-in-error"]}}, "required": ["message", "type"]}}}, "required": ["message", "type"]}, "update_time": {"type": "string", "maxLength": 36, "description": "Timestamp of last change to the VPC peering connection"}, "user_peer_network_cidrs": {"type": "array", "maxItems": 128, "description": "List of private IPv4 ranges to route through the peering connection", "items": {"type": "string"}}, "vpc_peering_connection_type": {"type": "string", "description": "Type of network connection from the VPC", "enum": ["aws-tgw-vpc-attachment", "aws-vpc-peering-connection", "azure-vnet-peering", "do-vpc-peering", "google-vpc-peering", "upcloud-vpc-peering"]}}, "required": ["create_time", "peer_azure_app_id", "peer_azure_tenant_id", "peer_cloud_account", "peer_resource_group", "peer_vpc", "state", "state_info", "update_time", "user_peer_network_cidrs", "vpc_peering_connection_type"]}}, "pending_build_only_peering_connections": {"type": "string", "maxLength": 36, "description": "VPC rebuild is scheduled"}, "state": {"type": "string", "description": "Project VPC state", "enum": ["ACTIVE", "APPROVED", "DELETED", "DELETING"]}, "update_time": {"type": "string", "maxLength": 36, "description": "Timestamp of last change to VPC"}}, "required": ["clouds", "create_time", "display_name", "organization_id", "organization_vpc_id", "peering_connections", "state", "update_time"]}, "OrganizationVpcPeeringConnectionTypesListResponse": {"type": "object", "description": "OrganizationVpcPeeringConnectionTypesListResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "vpc_peering_connection_types": {"type": "array", "description": "Supported VPC peering connection types with pricing information for supported clouds", "items": {"type": "object", "properties": {"cloud_name": {"type": "string", "maxLength": 256, "description": "Target cloud"}, "price_usd": {"type": "string", "description": "Hourly peering connection price in this cloud region"}, "vpc_peering_connection_type": {"type": "string", "description": "Type of network connection from the VPC", "enum": ["aws-tgw-vpc-attachment", "aws-vpc-peering-connection", "azure-vnet-peering", "do-vpc-peering", "google-vpc-peering", "upcloud-vpc-peering"]}}, "required": ["cloud_name", "price_usd", "vpc_peering_connection_type"]}}}, "required": ["vpc_peering_connection_types"]}, "OrganizationVpcUpdateRequestBody": {"type": "object", "description": "OrganizationVpcUpdateRequestBody", "properties": {"display_name": {"type": "string", "maxLength": 64, "description": "User defined display name for this VPC"}}}, "OrganizationVpcUpdateResponse": {"type": "object", "description": "OrganizationVpcUpdateResponse", "properties": {"clouds": {"type": "array", "description": "Clouds or clouds to create this VPC in", "items": {"type": "object", "properties": {"cloud_name": {"type": "string", "maxLength": 256, "description": "Target cloud"}, "network_cidr": {"type": "string", "maxLength": 18, "description": "IPv4 network range CIDR"}}, "required": ["cloud_name", "network_cidr"]}}, "create_time": {"type": "string", "maxLength": 36, "description": "VPC creation timestamp"}, "display_name": {"type": "string", "maxLength": 64, "description": "User defined display name for this VPC"}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "organization_id": {"type": "string", "maxLength": 36, "description": "Organization ID"}, "organization_vpc_id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "Project VPC ID"}, "peering_connections": {"type": "array", "description": "List of peering connections", "items": {"type": "object", "properties": {"create_time": {"type": "string", "maxLength": 36, "description": "VPC peering connection creation timestamp"}, "peer_azure_app_id": {"type": "string", "maxLength": 1024, "description": "Azure app registration id in UUID4 form that is allowed to create a peering to the peer vnet"}, "peer_azure_tenant_id": {"type": "string", "maxLength": 1024, "description": "Azure tenant id in UUID4 form"}, "peer_cloud_account": {"type": "string", "maxLength": 1024, "description": "AWS account ID, GCP project ID, Azure subscription ID of the peered VPC, or string &quot;upcloud&quot; for UpCloud peering connections"}, "peer_region": {"type": "string", "maxLength": 1024, "description": "The peer VPC's region in AWS clouds. Always null in GCP, Azure, or UpCloud clouds"}, "peer_resource_group": {"type": "string", "maxLength": 1024, "description": "Azure resource group name of the peered VPC"}, "peer_vpc": {"type": "string", "maxLength": 1024, "description": "AWS VPC ID, GCP VPC network name, Azure Virtual network name of the peered VPC, or UpCloud VPC ID"}, "peering_connection_id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "VPC peering connection ID"}, "state": {"type": "string", "description": "Project VPC peering connection state", "enum": ["ACTIVE", "APPROVED", "APPROVED_PEER_REQUESTED", "DELETED", "DELETED_BY_PEER", "DELETING", "ERROR", "INVALID_SPECIFICATION", "PENDING_PEER", "REJECTED_BY_PEER"]}, "state_info": {"type": "object", "description": "State-specific help or error information", "properties": {"message": {"type": "string", "description": "Human-readable information message"}, "type": {"type": "string", "description": "Type of state information"}, "warnings": {"type": "array", "description": "List of warnings if any", "items": {"type": "object", "properties": {"conflicting_aws_account_id": {"type": "string", "description": "AWS account id of conflicting VPC"}, "conflicting_aws_vpc_id": {"type": "string", "description": "VPC id which is conflicting with the current one"}, "conflicting_aws_vpc_peering_connection_id": {"type": "string", "description": "AWS VPC connection id which is conflicting with current VPC"}, "message": {"type": "string", "description": "Warning message to be shown to the user"}, "type": {"type": "string", "description": "Type of warning", "enum": ["overlapping-peer-vpc-ip-ranges", "upcloud-peering-in-error"]}}, "required": ["message", "type"]}}}, "required": ["message", "type"]}, "update_time": {"type": "string", "maxLength": 36, "description": "Timestamp of last change to the VPC peering connection"}, "user_peer_network_cidrs": {"type": "array", "maxItems": 128, "description": "List of private IPv4 ranges to route through the peering connection", "items": {"type": "string"}}, "vpc_peering_connection_type": {"type": "string", "description": "Type of network connection from the VPC", "enum": ["aws-tgw-vpc-attachment", "aws-vpc-peering-connection", "azure-vnet-peering", "do-vpc-peering", "google-vpc-peering", "upcloud-vpc-peering"]}}, "required": ["create_time", "peer_azure_app_id", "peer_azure_tenant_id", "peer_cloud_account", "peer_resource_group", "peer_vpc", "state", "state_info", "update_time", "user_peer_network_cidrs", "vpc_peering_connection_type"]}}, "pending_build_only_peering_connections": {"type": "string", "maxLength": 36, "description": "VPC rebuild is scheduled"}, "state": {"type": "string", "description": "Project VPC state", "enum": ["ACTIVE", "APPROVED", "DELETED", "DELETING"]}, "update_time": {"type": "string", "maxLength": 36, "description": "Timestamp of last change to VPC"}}, "required": ["clouds", "create_time", "display_name", "organization_id", "organization_vpc_id", "peering_connections", "state", "update_time"]}, "DiscoveredOrganizationListResponse": {"type": "object", "description": "DiscoveredOrganizationListResponse", "properties": {"discovered_organizations": {"type": "array", "description": "Discovered Organizations", "items": {"type": "object", "properties": {"create_time": {"type": "string", "maxLength": 36, "description": "Time of creating the organization"}, "organization_id": {"type": "string", "maxLength": 36, "description": "Organization's ID"}, "organization_name": {"type": "string", "maxLength": 83, "description": "Organization's name"}, "users": {"type": "array", "description": "Users", "items": {"type": "object", "properties": {"create_time": {"type": "string", "maxLength": 36, "description": "Creation time"}, "is_super_admin": {"type": "boolean", "description": "Is Super Admin"}, "real_name": {"type": "string", "maxLength": 256, "description": "Real Name"}, "user_email": {"type": "string", "maxLength": 254, "description": "User Email"}, "user_id": {"type": "string", "description": "User ID"}}, "required": ["create_time", "is_super_admin", "real_name", "user_email", "user_id"]}}}, "required": ["create_time", "organization_id", "organization_name", "users"]}}}, "required": ["discovered_organizations"]}, "OrganizationAuthenticationConfigGetResponse": {"type": "object", "description": "OrganizationAuthenticationConfigGetResponse", "properties": {"oauth_enabled": {"type": "boolean", "description": "Organization users are able to use OAuth authentication."}, "password_auth_enabled": {"type": "boolean", "description": "Organization users are able to use password authentication."}, "personal_tokens_enabled": {"type": "boolean", "description": "Organization users can use their personal tokens to access the organization through the Aiven API or other applications."}, "personal_tokens_require_allowed_auth_method": {"type": "boolean", "description": "Organization users are able to use personal tokens that were generated from one of the allowed authentication methods."}, "saml_allow_external": {"type": "boolean", "description": "Organization users are able to use SAML authentication of other organizations."}, "saml_enabled": {"type": "boolean", "description": "Organization users are able to use SAML authentication."}, "two_factor_required": {"type": "boolean", "description": "2FA is required to access resources in this organization."}}}, "OrganizationAuthenticationConfigUpdateRequestBody": {"type": "object", "description": "OrganizationAuthenticationConfigUpdateRequestBody", "properties": {"oauth_enabled": {"type": "boolean", "description": "Organization users are able to use OAuth authentication."}, "password_auth_enabled": {"type": "boolean", "description": "Organization users are able to use password authentication."}, "personal_tokens_enabled": {"type": "boolean", "description": "Organization users can use their personal tokens to access the organization through the Aiven API or other applications."}, "personal_tokens_require_allowed_auth_method": {"type": "boolean", "description": "Organization users are able to use personal tokens that were generated from one of the allowed authentication methods."}, "saml_allow_external": {"type": "boolean", "description": "Organization users are able to use SAML authentication of other organizations."}, "saml_enabled": {"type": "boolean", "description": "Organization users are able to use SAML authentication."}, "two_factor_required": {"type": "boolean", "description": "2FA is required to access resources in this organization."}}}, "OrganizationAuthenticationConfigUpdateResponse": {"type": "object", "description": "OrganizationAuthenticationConfigUpdateResponse", "properties": {"oauth_enabled": {"type": "boolean", "description": "Organization users are able to use OAuth authentication."}, "password_auth_enabled": {"type": "boolean", "description": "Organization users are able to use password authentication."}, "personal_tokens_enabled": {"type": "boolean", "description": "Organization users can use their personal tokens to access the organization through the Aiven API or other applications."}, "personal_tokens_require_allowed_auth_method": {"type": "boolean", "description": "Organization users are able to use personal tokens that were generated from one of the allowed authentication methods."}, "saml_allow_external": {"type": "boolean", "description": "Organization users are able to use SAML authentication of other organizations."}, "saml_enabled": {"type": "boolean", "description": "Organization users are able to use SAML authentication."}, "two_factor_required": {"type": "boolean", "description": "2FA is required to access resources in this organization."}}}, "OrganizationGetResponse": {"type": "object", "description": "OrganizationGetResponse", "properties": {"account_id": {"type": "string", "maxLength": 36, "description": "Account ID of the organization's root unit"}, "create_time": {"type": "string", "maxLength": 36, "description": "Time of creating the organization"}, "default_governance_user_group_id": {"type": "string", "maxLength": 36, "description": "Default governance user group ID"}, "organization_id": {"type": "string", "maxLength": 36, "description": "Organization's ID"}, "organization_name": {"type": "string", "maxLength": 83, "description": "Organization's name"}, "tier": {"type": "string", "description": "An enumeration.", "title": "Tier of the organization", "enum": ["business", "personal"]}, "update_time": {"type": "string", "maxLength": 36, "description": "Time of the organization's latest update"}}, "required": ["account_id", "create_time", "organization_id", "organization_name", "tier", "update_time"]}, "OrganizationGovernanceAccessCreateRequestBody": {"type": "object", "description": "OrganizationGovernanceAccessCreateRequestBody", "properties": {"access_data": {"type": "object", "description": "access type specific data", "properties": {"acls": {"type": "array", "description": "Acls", "items": {"type": "object", "properties": {"host": {"type": "string", "maxLength": 256, "description": "Acl host"}, "operation": {"type": "string", "description": "An enumeration.", "title": "Acl operation", "enum": ["Read", "Write"]}, "permission_type": {"type": "string", "description": "An enumeration.", "title": "Acl permission type", "enum": ["ALLOW"]}, "resource_name": {"type": "string", "maxLength": 256, "description": "Acl resource name"}, "resource_type": {"type": "string", "description": "An enumeration.", "title": "Acl resource type", "enum": ["Topic"]}}, "required": ["host", "operation", "permission_type", "resource_name", "resource_type"]}}, "project_name": {"type": "string", "description": "Project name"}, "service_name": {"type": "string", "description": "Service name"}, "username": {"type": "string", "description": "The service username assigned to the access"}}, "required": ["acls", "project_name", "service_name", "username"]}, "access_name": {"type": "string", "description": "Label to describe the access"}, "access_type": {"type": "string", "description": "An enumeration.", "title": "Type of access", "enum": ["KAFKA"]}, "owner_user_group_id": {"type": "string", "maxLength": 36, "description": "The ID of the group that will own the access"}}, "required": ["access_data", "access_name", "access_type"]}, "OrganizationGovernanceAccessCreateResponse": {"type": "object", "description": "OrganizationGovernanceAccessCreateResponse", "properties": {"access": {"type": "object", "description": "OrganizationGovernanceAccess", "properties": {"access_data": {"type": "object", "description": "access type specific data", "properties": {"acls": {"type": "array", "description": "Acls", "items": {"type": "object", "properties": {"host": {"type": "string", "maxLength": 256, "description": "Acl host"}, "id": {"type": "string", "description": "Acl ID"}, "operation": {"type": "string", "description": "An enumeration.", "title": "Acl operation", "enum": ["Read", "Write"]}, "pattern_type": {"type": "string", "description": "An enumeration.", "title": "Acl pattern type", "enum": ["LITERAL"]}, "permission_type": {"type": "string", "description": "An enumeration.", "title": "Acl permission type", "enum": ["ALLOW"]}, "principal": {"type": "string", "description": "Acl principal"}, "resource_name": {"type": "string", "maxLength": 256, "description": "Acl resource name"}, "resource_type": {"type": "string", "description": "An enumeration.", "title": "Acl resource type", "enum": ["Topic"]}}, "required": ["host", "id", "operation", "pattern_type", "permission_type", "principal", "resource_name", "resource_type"]}}, "project_name": {"type": "string", "description": "Project name"}, "service_name": {"type": "string", "description": "Service name"}, "username": {"type": "string", "description": "The service username assigned to the access"}}, "required": ["acls", "project_name", "service_name", "username"]}, "access_id": {"type": "string", "description": "The ID of the access"}, "access_name": {"type": "string", "description": "Label to describe the access"}, "access_type": {"type": "string", "description": "An enumeration.", "title": "Type of access", "enum": ["KAFKA"]}, "create_time": {"type": "string", "maxLength": 36, "description": "Timestamp of when access was created"}, "created_by": {"type": "string", "description": "The user that created the access"}, "credentials_consumed": {"type": "boolean", "description": "Wether the credentials have been reviewed"}, "credentials_user_id": {"type": "string", "description": "The user that created is assigned to review the credentials"}, "owner_user_group_id": {"type": "string", "maxLength": 36, "description": "The ID of the group that will own the access"}}, "required": ["access_data", "access_id", "access_name", "access_type", "create_time", "created_by", "credentials_consumed", "credentials_user_id"]}}, "required": ["access"]}, "OrganizationGovernanceAccessCredentialsGetResponse": {"type": "object", "description": "OrganizationGovernanceAccessCredentialsGetResponse", "properties": {"credentials": {"type": "object", "description": "KafkaAccessCredentials", "properties": {"access_cert": {"type": "string", "description": "service user access cert"}, "access_key": {"type": "string", "description": "service user access key"}, "password": {"type": "string", "description": "service user password"}}, "required": ["access_cert", "access_key", "password"]}}, "required": ["credentials"]}, "OrganizationGovernanceAccessDeleteResponse": {"type": "object", "description": "OrganizationGovernanceAccessDeleteResponse", "properties": {"access_id": {"type": "string", "description": "The ID of the access"}}, "required": ["access_id"]}, "OrganizationGovernanceAccessGetResponse": {"type": "object", "description": "OrganizationGovernanceAccessGetResponse", "properties": {"access": {"type": "object", "description": "OrganizationGovernanceAccess", "properties": {"access_data": {"type": "object", "description": "access type specific data", "properties": {"acls": {"type": "array", "description": "Acls", "items": {"type": "object", "properties": {"host": {"type": "string", "maxLength": 256, "description": "Acl host"}, "id": {"type": "string", "description": "Acl ID"}, "operation": {"type": "string", "description": "An enumeration.", "title": "Acl operation", "enum": ["Read", "Write"]}, "pattern_type": {"type": "string", "description": "An enumeration.", "title": "Acl pattern type", "enum": ["LITERAL"]}, "permission_type": {"type": "string", "description": "An enumeration.", "title": "Acl permission type", "enum": ["ALLOW"]}, "principal": {"type": "string", "description": "Acl principal"}, "resource_name": {"type": "string", "maxLength": 256, "description": "Acl resource name"}, "resource_type": {"type": "string", "description": "An enumeration.", "title": "Acl resource type", "enum": ["Topic"]}}, "required": ["host", "id", "operation", "pattern_type", "permission_type", "principal", "resource_name", "resource_type"]}}, "project_name": {"type": "string", "description": "Project name"}, "service_name": {"type": "string", "description": "Service name"}, "username": {"type": "string", "description": "The service username assigned to the access"}}, "required": ["acls", "project_name", "service_name", "username"]}, "access_id": {"type": "string", "description": "The ID of the access"}, "access_name": {"type": "string", "description": "Label to describe the access"}, "access_type": {"type": "string", "description": "An enumeration.", "title": "Type of access", "enum": ["KAFKA"]}, "create_time": {"type": "string", "maxLength": 36, "description": "Timestamp of when access was created"}, "created_by": {"type": "string", "description": "The user that created the access"}, "credentials_consumed": {"type": "boolean", "description": "Wether the credentials have been reviewed"}, "credentials_user_id": {"type": "string", "description": "The user that created is assigned to review the credentials"}, "owner_user_group_id": {"type": "string", "maxLength": 36, "description": "The ID of the group that will own the access"}}, "required": ["access_data", "access_id", "access_name", "access_type", "create_time", "created_by", "credentials_consumed", "credentials_user_id"]}}, "required": ["access"]}, "OrganizationGovernanceAccessListResponse": {"type": "object", "description": "OrganizationGovernanceAccessListResponse", "properties": {"access": {"type": "array", "description": "Access", "items": {"type": "object", "properties": {"access_data": {"type": "object", "description": "access type specific data", "properties": {"acls": {"type": "array", "description": "Acls", "items": {"type": "object", "properties": {"host": {"type": "string", "maxLength": 256, "description": "Acl host"}, "id": {"type": "string", "description": "Acl ID"}, "operation": {"type": "string", "description": "An enumeration.", "title": "Acl operation", "enum": ["Read", "Write"]}, "pattern_type": {"type": "string", "description": "An enumeration.", "title": "Acl pattern type", "enum": ["LITERAL"]}, "permission_type": {"type": "string", "description": "An enumeration.", "title": "Acl permission type", "enum": ["ALLOW"]}, "principal": {"type": "string", "description": "Acl principal"}, "resource_name": {"type": "string", "maxLength": 256, "description": "Acl resource name"}, "resource_type": {"type": "string", "description": "An enumeration.", "title": "Acl resource type", "enum": ["Topic"]}}, "required": ["host", "id", "operation", "pattern_type", "permission_type", "principal", "resource_name", "resource_type"]}}, "project_name": {"type": "string", "description": "Project name"}, "service_name": {"type": "string", "description": "Service name"}, "username": {"type": "string", "description": "The service username assigned to the access"}}, "required": ["acls", "project_name", "service_name", "username"]}, "access_id": {"type": "string", "description": "The ID of the access"}, "access_name": {"type": "string", "description": "Label to describe the access"}, "access_type": {"type": "string", "description": "An enumeration.", "title": "Type of access", "enum": ["KAFKA"]}, "create_time": {"type": "string", "maxLength": 36, "description": "Timestamp of when access was created"}, "created_by": {"type": "string", "description": "The user that created the access"}, "credentials_consumed": {"type": "boolean", "description": "Wether the credentials have been reviewed"}, "credentials_user_id": {"type": "string", "description": "The user that created is assigned to review the credentials"}, "owner_user_group_id": {"type": "string", "maxLength": 36, "description": "The ID of the group that will own the access"}}, "required": ["access_data", "access_id", "access_name", "access_type", "create_time", "created_by", "credentials_consumed", "credentials_user_id"]}}, "first": {"type": "string", "description": "First page"}, "last": {"type": "string", "description": "Last page"}, "next": {"type": "string", "description": "Next page"}, "prev": {"type": "string", "description": "Previous page"}, "total_count": {"type": "integer", "description": "Total number of results"}}, "required": ["access"]}, "OrganizationProjectsCreateRequestBody": {"type": "object", "description": "OrganizationProjectsCreateRequestBody", "properties": {"base_port": {"type": "integer", "minimum": 10000, "maximum": 30000, "description": "Valid port number (10000-30000)", "title": "Base Port"}, "billing_group_id": {"type": "string", "minLength": 1, "description": "Billing group ID to assign to the project."}, "parent_id": {"type": "string", "description": "Organization or unit ID to where to move the project"}, "project_id": {"type": "string", "description": "Project ID"}, "tags": {"type": "object", "description": "Tags", "properties": {"ANY": {"type": "string", "maxLength": 64, "description": "Tag value"}}}, "tech_emails": {"type": "array", "maxItems": 10, "description": "Technical contact emails", "items": {"type": "object", "properties": {"email": {"type": "string", "maxLength": 254, "description": "Technical contact email"}}, "required": ["email"]}}}, "required": ["billing_group_id", "project_id", "tags"]}, "OrganizationProjectsCreateResponse": {"type": "object", "description": "OrganizationProjectsCreateResponse", "properties": {"account_id": {"type": "string", "description": "[DEPRECATED] Account ID to where the project belongs"}, "base_port": {"type": "integer", "minimum": 1, "maximum": 65535, "description": "Valid port number (1-65535)", "title": "Base Port"}, "billing_group_id": {"type": "string", "minLength": 1, "description": "Billing group ID"}, "end_of_life_extension": {"type": "object", "description": "End of life extension information", "properties": {"ANY": {"type": "object", "description": "ServiceEndOfLifeExtension", "properties": {"eol_date": {"type": "string", "maxLength": 36, "description": "Extended EOL date"}, "version": {"type": "string", "description": "Service version"}}, "required": ["eol_date", "version"]}}}, "features": {"type": "object", "description": "Feature flags", "properties": {"ANY": {"type": "boolean", "description": "Boolean"}}}, "organization_id": {"type": "string", "maxLength": 36, "description": "Organization ID"}, "parent_id": {"type": "string", "description": "Organization or unit ID to where the project belongs"}, "project_id": {"type": "string", "description": "Project ID"}, "tags": {"type": "object", "description": "Tags", "properties": {"ANY": {"type": "string", "maxLength": 64, "description": "Tag value"}}}, "tech_emails": {"type": "array", "description": "List of project technical email addresses", "items": {"type": "object", "properties": {"email": {"type": "string", "maxLength": 254, "description": "Technical contact email"}}, "required": ["email"]}}}, "required": ["end_of_life_extension", "organization_id", "project_id", "tags", "tech_emails"]}, "OrganizationProjectsGetResponse": {"type": "object", "description": "OrganizationProjectsGetResponse", "properties": {"account_id": {"type": "string", "description": "[DEPRECATED] Account ID to where the project belongs"}, "base_port": {"type": "integer", "minimum": 1, "maximum": 65535, "description": "Valid port number (1-65535)", "title": "Base Port"}, "billing_group_id": {"type": "string", "minLength": 1, "description": "Billing group ID"}, "end_of_life_extension": {"type": "object", "description": "End of life extension information", "properties": {"ANY": {"type": "object", "description": "ServiceEndOfLifeExtension", "properties": {"eol_date": {"type": "string", "maxLength": 36, "description": "Extended EOL date"}, "version": {"type": "string", "description": "Service version"}}, "required": ["eol_date", "version"]}}}, "features": {"type": "object", "description": "Feature flags", "properties": {"ANY": {"type": "boolean", "description": "Boolean"}}}, "organization_id": {"type": "string", "maxLength": 36, "description": "Organization ID"}, "parent_id": {"type": "string", "description": "Organization or unit ID to where the project belongs"}, "project_id": {"type": "string", "description": "Project ID"}, "tags": {"type": "object", "description": "Tags", "properties": {"ANY": {"type": "string", "maxLength": 64, "description": "Tag value"}}}, "tech_emails": {"type": "array", "description": "List of project technical email addresses", "items": {"type": "object", "properties": {"email": {"type": "string", "maxLength": 254, "description": "Technical contact email"}}, "required": ["email"]}}}, "required": ["end_of_life_extension", "organization_id", "project_id", "tags", "tech_emails"]}, "OrganizationProjectsListResponse": {"type": "object", "description": "OrganizationProjectsListResponse", "properties": {"projects": {"type": "array", "description": "List of projects", "items": {"type": "object", "properties": {"account_id": {"type": "string", "description": "[DEPRECATED] Account ID to where the project belongs"}, "base_port": {"type": "integer", "minimum": 1, "maximum": 65535, "description": "Valid port number (1-65535)", "title": "Base Port"}, "billing_group_id": {"type": "string", "minLength": 1, "description": "Billing group ID"}, "end_of_life_extension": {"type": "object", "description": "End of life extension information", "properties": {"ANY": {"type": "object", "description": "ServiceEndOfLifeExtension", "properties": {"eol_date": {"type": "string", "maxLength": 36, "description": "Extended EOL date"}, "version": {"type": "string", "description": "Service version"}}, "required": ["eol_date", "version"]}}}, "parent_id": {"type": "string", "description": "Organization or unit ID to where the project belongs"}, "project_id": {"type": "string", "description": "Project ID"}, "tags": {"type": "object", "description": "Tags", "properties": {"ANY": {"type": "string", "maxLength": 64, "description": "Tag value"}}}, "tech_emails": {"type": "array", "description": "List of project technical email addresses", "items": {"type": "object", "properties": {"email": {"type": "string", "maxLength": 254, "description": "Technical contact email"}}, "required": ["email"]}}}, "required": ["end_of_life_extension", "project_id", "tags", "tech_emails"]}}, "total_project_count": {"type": "integer", "minimum": 0, "description": "Total number of projects"}}, "required": ["projects", "total_project_count"]}, "OrganizationProjectsUpdateRequestBody": {"type": "object", "description": "OrganizationProjectsUpdateRequestBody", "properties": {"base_port": {"type": "integer", "minimum": 10000, "maximum": 30000, "description": "Valid port number (10000-30000)", "title": "Base Port"}, "billing_group_id": {"type": "string", "minLength": 1, "description": "Billing group ID to assign to the project. It's required when moving projects between organizations"}, "organization_id": {"type": "string", "description": "Organization ID"}, "parent_id": {"type": "string", "description": "Organization or unit ID to where to move the project"}, "project_name": {"type": "string", "maxLength": 63, "description": "Project name"}, "tags": {"type": "object", "description": "Tags", "properties": {"ANY": {"type": "string", "maxLength": 64, "description": "Tag value"}}}, "tech_emails": {"type": "array", "maxItems": 10, "description": "Technical contact emails", "items": {"type": "object", "properties": {"email": {"type": "string", "maxLength": 254, "description": "Technical contact email"}}, "required": ["email"]}}}}, "OrganizationProjectsUpdateResponse": {"type": "object", "description": "OrganizationProjectsUpdateResponse", "properties": {"account_id": {"type": "string", "description": "[DEPRECATED] Account ID to where the project belongs"}, "base_port": {"type": "integer", "minimum": 1, "maximum": 65535, "description": "Valid port number (1-65535)", "title": "Base Port"}, "billing_group_id": {"type": "string", "minLength": 1, "description": "Billing group ID"}, "end_of_life_extension": {"type": "object", "description": "End of life extension information", "properties": {"ANY": {"type": "object", "description": "ServiceEndOfLifeExtension", "properties": {"eol_date": {"type": "string", "maxLength": 36, "description": "Extended EOL date"}, "version": {"type": "string", "description": "Service version"}}, "required": ["eol_date", "version"]}}}, "features": {"type": "object", "description": "Feature flags", "properties": {"ANY": {"type": "boolean", "description": "Boolean"}}}, "organization_id": {"type": "string", "maxLength": 36, "description": "Organization ID"}, "parent_id": {"type": "string", "description": "Organization or unit ID to where the project belongs"}, "project_id": {"type": "string", "description": "Project ID"}, "tags": {"type": "object", "description": "Tags", "properties": {"ANY": {"type": "string", "maxLength": 64, "description": "Tag value"}}}, "tech_emails": {"type": "array", "description": "List of project technical email addresses", "items": {"type": "object", "properties": {"email": {"type": "string", "maxLength": 254, "description": "Technical contact email"}}, "required": ["email"]}}}, "required": ["end_of_life_extension", "organization_id", "project_id", "tags", "tech_emails"]}, "OrganizationUpdateRequestBody": {"type": "object", "description": "OrganizationUpdateRequestBody", "properties": {"name": {"type": "string", "maxLength": 83, "description": "New name of the organization"}, "tier": {"type": "string", "description": "An enumeration.", "title": "New tier for the organization", "enum": ["business", "personal"]}}}, "OrganizationUpdateResponse": {"type": "object", "description": "OrganizationUpdateResponse", "properties": {"account_id": {"type": "string", "maxLength": 36, "description": "Account ID of the organization's root unit"}, "create_time": {"type": "string", "maxLength": 36, "description": "Time of creating the organization"}, "default_governance_user_group_id": {"type": "string", "maxLength": 36, "description": "Default governance user group ID"}, "organization_id": {"type": "string", "maxLength": 36, "description": "Organization's ID"}, "organization_name": {"type": "string", "maxLength": 83, "description": "Organization's name"}, "tier": {"type": "string", "description": "An enumeration.", "title": "Tier of the organization", "enum": ["business", "personal"]}, "update_time": {"type": "string", "maxLength": 36, "description": "Time of the organization's latest update"}}, "required": ["account_id", "create_time", "organization_id", "organization_name", "tier", "update_time"]}, "OrganizationUserInvitationAcceptRequestBody": {"type": "object", "description": "OrganizationUserInvitationAcceptRequestBody", "properties": {"action": {"type": "string", "description": "Action to be performed on the invitation", "default": "accept", "enum": ["accept"]}}}, "OrganizationUserInvitationsListResponse": {"type": "object", "description": "OrganizationUserInvitationsListResponse", "properties": {"invitations": {"type": "array", "description": "List of user invitations for the organization", "items": {"type": "object", "properties": {"create_time": {"type": "string", "maxLength": 36, "description": "Time of creating the invitation"}, "expiry_time": {"type": "string", "maxLength": 36, "description": "By when the invitation is valid"}, "invited_by": {"type": "string", "description": "Name of the invitation creator"}, "user_email": {"type": "string", "maxLength": 254, "description": "User Email"}}, "required": ["create_time", "expiry_time", "invited_by", "user_email"]}}}, "required": ["invitations"]}, "OrganizationUserInviteRequestBody": {"type": "object", "description": "OrganizationUserInviteRequestBody", "properties": {"user_email": {"type": "string", "maxLength": 254, "description": "User Email"}}, "required": ["user_email"]}, "UserOrganizationCreateRequestBody": {"type": "object", "description": "UserOrganizationCreateRequestBody", "properties": {"organization_name": {"type": "string", "maxLength": 83, "description": "Organization's name"}, "primary_billing_group_id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "Billing group ID"}, "tier": {"type": "string", "description": "An enumeration.", "title": "Tier of the organization", "enum": ["business", "personal"]}}, "required": ["organization_name", "tier"]}, "UserOrganizationCreateResponse": {"type": "object", "description": "UserOrganizationCreateResponse", "properties": {"account_id": {"type": "string", "maxLength": 36, "description": "Account ID of the organization's root unit"}, "create_time": {"type": "string", "maxLength": 36, "description": "Time of creating the organization"}, "default_governance_user_group_id": {"type": "string", "maxLength": 36, "description": "Default governance user group ID"}, "organization_id": {"type": "string", "maxLength": 36, "description": "Organization's ID"}, "organization_name": {"type": "string", "maxLength": 83, "description": "Organization's name"}, "tier": {"type": "string", "description": "An enumeration.", "title": "Tier of the organization", "enum": ["business", "personal"]}, "update_time": {"type": "string", "maxLength": 36, "description": "Time of the organization's latest update"}}, "required": ["account_id", "create_time", "organization_id", "organization_name", "tier", "update_time"]}, "UserOrganizationsListResponse": {"type": "object", "description": "UserOrganizationsListResponse", "properties": {"organizations": {"type": "array", "description": "Organizations", "items": {"type": "object", "properties": {"account_id": {"type": "string", "maxLength": 36, "description": "Account ID of the organization's root unit"}, "create_time": {"type": "string", "maxLength": 36, "description": "Time of creating the organization"}, "default_governance_user_group_id": {"type": "string", "maxLength": 36, "description": "Default governance user group ID"}, "organization_id": {"type": "string", "maxLength": 36, "description": "Organization's ID"}, "organization_name": {"type": "string", "maxLength": 83, "description": "Organization's name"}, "tier": {"type": "string", "description": "An enumeration.", "title": "Tier of the organization", "enum": ["business", "personal"]}, "update_time": {"type": "string", "maxLength": 36, "description": "Time of the organization's latest update"}}, "required": ["account_id", "create_time", "organization_id", "organization_name", "tier", "update_time"]}}}, "required": ["organizations"]}, "UserCreditCardAddRequestBody": {"type": "object", "description": "UserCreditCardAddRequestBody", "properties": {"stripe_token": {"type": "string", "maxLength": 256, "description": "Credit card Stripe token"}}, "required": ["stripe_token"]}, "UserCreditCardAddResponse": {"type": "object", "description": "UserCreditCardAddResponse", "properties": {"card": {"type": "object", "description": "User credit card information", "properties": {"brand": {"type": "string", "description": "Brand"}, "card_id": {"type": "string", "maxLength": 64, "description": "Credit card ID"}, "country": {"type": "string", "maxLength": 128, "description": "Country"}, "country_code": {"type": "string", "maxLength": 2, "description": "Two letter ISO country code"}, "exp_month": {"type": "integer", "minimum": 1, "maximum": 12, "description": "Expiration month"}, "exp_year": {"type": "integer", "minimum": 2015, "maximum": 2100, "description": "Expiration year"}, "last4": {"type": "string", "description": "Credit card last four digits"}, "name": {"type": "string", "maxLength": 256, "description": "Name on the credit card"}, "organization_id": {"type": "string", "maxLength": 36, "description": "Organization ID"}, "projects": {"type": "array", "description": "List of projects the card is assigned to", "items": {"type": "string"}}}, "required": ["brand", "card_id", "country", "country_code", "exp_month", "exp_year", "last4", "name", "projects"]}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}, "required": ["card"]}, "UserCreditCardDeleteResponse": {"type": "object", "description": "UserCreditCardDeleteResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}}, "UserCreditCardUpdateRequestBody": {"type": "object", "description": "UserCreditCardUpdateRequestBody", "properties": {"exp_month": {"type": "integer", "minimum": 1, "maximum": 12, "description": "Expiration month"}, "exp_year": {"type": "integer", "minimum": 2015, "maximum": 2100, "description": "Expiration year"}, "name": {"type": "string", "maxLength": 256, "description": "Name on the credit card"}}}, "UserCreditCardUpdateResponse": {"type": "object", "description": "UserCreditCardUpdateResponse", "properties": {"card": {"type": "object", "description": "User credit card information", "properties": {"brand": {"type": "string", "description": "Brand"}, "card_id": {"type": "string", "maxLength": 64, "description": "Credit card ID"}, "country": {"type": "string", "maxLength": 128, "description": "Country"}, "country_code": {"type": "string", "maxLength": 2, "description": "Two letter ISO country code"}, "exp_month": {"type": "integer", "minimum": 1, "maximum": 12, "description": "Expiration month"}, "exp_year": {"type": "integer", "minimum": 2015, "maximum": 2100, "description": "Expiration year"}, "last4": {"type": "string", "description": "Credit card last four digits"}, "name": {"type": "string", "maxLength": 256, "description": "Name on the credit card"}, "organization_id": {"type": "string", "maxLength": 36, "description": "Organization ID"}, "projects": {"type": "array", "description": "List of projects the card is assigned to", "items": {"type": "string"}}}, "required": ["brand", "card_id", "country", "country_code", "exp_month", "exp_year", "last4", "name", "projects"]}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}, "required": ["card"]}, "UserCreditCardsListResponse": {"type": "object", "description": "UserCreditCardsListResponse", "properties": {"cards": {"type": "array", "description": "List of user's credit cards", "items": {"type": "object", "properties": {"brand": {"type": "string", "description": "Brand"}, "card_id": {"type": "string", "maxLength": 64, "description": "Credit card ID"}, "country": {"type": "string", "maxLength": 128, "description": "Country"}, "country_code": {"type": "string", "maxLength": 2, "description": "Two letter ISO country code"}, "exp_month": {"type": "integer", "minimum": 1, "maximum": 12, "description": "Expiration month"}, "exp_year": {"type": "integer", "minimum": 2015, "maximum": 2100, "description": "Expiration year"}, "last4": {"type": "string", "description": "Credit card last four digits"}, "name": {"type": "string", "maxLength": 256, "description": "Name on the credit card"}, "organization_id": {"type": "string", "maxLength": 36, "description": "Organization ID"}, "projects": {"type": "array", "description": "List of projects the card is assigned to", "items": {"type": "string"}}}, "required": ["brand", "card_id", "country", "country_code", "exp_month", "exp_year", "last4", "name", "projects"]}}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}, "required": ["cards"]}, "PermissionsGetResponse": {"type": "object", "description": "PermissionsGetResponse", "properties": {"permissions": {"type": "array", "description": "List of roles", "items": {"type": "object", "properties": {"create_time": {"type": "string", "maxLength": 36, "description": "Create Time"}, "permissions": {"type": "array", "description": "List of roles", "items": {"type": "string"}}, "principal_id": {"type": "string", "description": "ID of the principal"}, "principal_type": {"type": "string", "description": "An enumeration.", "title": "Type of the principal", "enum": ["user", "user_group"]}, "update_time": {"type": "string", "maxLength": 36, "description": "Update Time"}}, "required": ["create_time", "permissions", "principal_id", "principal_type", "update_time"]}}}, "required": ["permissions"]}, "PermissionsSetRequestBody": {"type": "object", "description": "PermissionsSetRequestBody", "properties": {"permissions": {"type": "array", "description": "List of roles to set", "items": {"type": "object", "properties": {"permissions": {"type": "array", "description": "List of roles", "items": {"type": "string"}}, "principal_id": {"type": "string", "description": "ID of the principal"}, "principal_type": {"type": "string", "description": "An enumeration.", "title": "Type of the principal", "enum": ["user", "user_group"]}}, "required": ["permissions", "principal_id", "principal_type"]}}}, "required": ["permissions"]}, "PermissionsUpdateRequestBody": {"type": "object", "description": "PermissionsUpdateRequestBody", "properties": {"operation": {"type": "string", "description": "An enumeration.", "title": "Operation to perform", "default": "set", "enum": ["grant", "set", "revoke"]}, "permissions": {"type": "array", "description": "List of roles to adjust", "items": {"type": "object", "properties": {"permissions": {"type": "array", "description": "List of roles", "items": {"type": "string"}}, "principal_id": {"type": "string", "description": "ID of the principal"}, "principal_type": {"type": "string", "description": "An enumeration.", "title": "Type of the principal", "enum": ["user", "user_group"]}}, "required": ["permissions", "principal_id", "principal_type"]}}}, "required": ["permissions"]}, "ListProjectVpcPeeringConnectionTypesResponse": {"type": "object", "description": "ListProjectVpcPeeringConnectionTypesResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "vpc_peering_connection_types": {"type": "array", "description": "Supported VPC peering connection types with pricing information for supported clouds", "items": {"type": "object", "properties": {"cloud_name": {"type": "string", "maxLength": 256, "description": "Target cloud"}, "price_usd": {"type": "string", "description": "Hourly peering connection price in this cloud region"}, "vpc_peering_connection_type": {"type": "string", "description": "Type of network connection from the VPC", "enum": ["aws-tgw-vpc-attachment", "aws-vpc-peering-connection", "azure-vnet-peering", "do-vpc-peering", "google-vpc-peering", "upcloud-vpc-peering"]}}, "required": ["cloud_name", "price_usd", "vpc_peering_connection_type"]}}}, "required": ["vpc_peering_connection_types"]}, "ProjectAlertsListResponse": {"type": "object", "description": "ProjectAlertsListResponse", "properties": {"alerts": {"type": "array", "description": "List of active alerts for the service", "items": {"type": "object", "properties": {"create_time": {"type": "string", "maxLength": 36, "description": "Event creation timestamp (ISO 8601)"}, "event": {"type": "string", "description": "Name of the alerting event"}, "node_name": {"type": "string", "description": "Name of the service node"}, "project_name": {"type": "string", "maxLength": 63, "description": "Project name"}, "service_name": {"type": "string", "minLength": 1, "maxLength": 64, "description": "Service name"}, "service_type": {"type": "string", "maxLength": 64, "description": "Service type code"}, "severity": {"type": "string", "description": "Severity of the event"}}, "required": ["create_time", "event", "project_name", "severity"]}}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}, "required": ["alerts"]}, "ProjectCreateRequestBody": {"type": "object", "description": "ProjectCreateRequestBody", "properties": {"account_id": {"type": "string", "maxLength": 36, "description": "Account ID"}, "add_account_owners_admin_access": {"type": "boolean", "description": "[DEPRECATED] If account_id is set, grant account owner team admin access to the new project. This flag is ignored, and assumed true."}, "address_lines": {"type": "array", "maxItems": 16, "description": "[DEPRECATED] Address lines", "items": {"type": "string"}}, "base_port": {"type": "integer", "minimum": 10000, "maximum": 29000, "description": "New services in this project will use this value as a base when deriving their service port numbers. This allows new services to allocate predictable and specific service ports. If not provided during project creation a random base port is used.", "title": "Base value that new services in this project will use to derive their port numbers."}, "billing_address": {"type": "string", "maxLength": 1000, "description": "DEPRECATED: use split address fields like company, address_lines, zip_code, city and state instead"}, "billing_currency": {"type": "string", "description": "[DEPRECATED] Billing currency", "enum": ["AUD", "CAD", "CHF", "DKK", "EUR", "GBP", "JPY", "NOK", "NZD", "SEK", "SGD", "USD"]}, "billing_emails": {"type": "array", "maxItems": 10, "description": "[DEPRECATED] Billing emails", "items": {"type": "object", "properties": {"email": {"type": "string", "maxLength": 254, "description": "User email address"}}, "required": ["email"]}}, "billing_extra_text": {"type": "string", "maxLength": 1000, "description": "[DEPRECATED] Extra text to be included in all project invoices"}, "billing_group_id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "Billing group ID"}, "card_id": {"type": "string", "maxLength": 64, "description": "[DEPRECATED] Credit card ID"}, "city": {"type": "string", "maxLength": 512, "description": "[DEPRECATED] Address city"}, "cloud": {"type": "string", "maxLength": 256, "description": "Target cloud"}, "company": {"type": "string", "maxLength": 128, "description": "Name of a company"}, "copy_from_project": {"type": "string", "maxLength": 63, "description": "Project name from which to copy settings to the new project"}, "copy_tags": {"type": "boolean", "description": "Copy tags from the source project. If request contains additional tags, the tags copied from source are updated with them.", "default": false}, "country_code": {"type": "string", "maxLength": 2, "description": "[DEPRECATED] Two letter country code for billing country"}, "project": {"type": "string", "maxLength": 63, "description": "Project name"}, "state": {"type": "string", "maxLength": 128, "description": "[DEPRECATED] Address state"}, "tags": {"type": "object", "description": "Set of resource tags", "properties": {}}, "tech_emails": {"type": "array", "maxItems": 10, "description": "List of project tech email addresses", "items": {"type": "object", "properties": {"email": {"type": "string", "maxLength": 254, "description": "User email address"}}, "required": ["email"]}}, "use_source_project_billing_group": {"type": "boolean", "description": "If set to true, use the same billing group that is used in source project. If set to false, create a copy of the billing group used in the source project with the same information. If new project is not being copied from existing one this option has no effect", "title": "Use the same billing group that is used in source project.", "default": false}, "vat_id": {"type": "string", "maxLength": 64, "description": "[DEPRECATED] EU VAT identification"}, "zip_code": {"type": "string", "maxLength": 32, "description": "[DEPRECATED] Address zip code"}}, "required": ["project"]}, "ProjectCreateResponse": {"type": "object", "description": "ProjectCreateResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "project": {"type": "object", "description": "Project information", "properties": {"account_id": {"type": "string", "maxLength": 36, "description": "Account ID"}, "account_name": {"type": "string", "maxLength": 83, "description": "Account name"}, "address_lines": {"type": "array", "maxItems": 16, "description": "Address lines", "items": {"type": "string"}}, "available_credits": {"type": "string", "description": "DEPRECATED: Available credits, in USD. Always 0.00, use billing group credits instead"}, "billing_address": {"type": "string", "maxLength": 1000, "description": "DEPRECATED: use split address fields like company, address_lines, zip_code, city and state instead"}, "billing_currency": {"type": "string", "description": "Billing currency", "enum": ["AUD", "CAD", "CHF", "DKK", "EUR", "GBP", "JPY", "NOK", "NZD", "SEK", "SGD", "USD"]}, "billing_emails": {"type": "array", "maxItems": 10, "description": "List of project billing email addresses", "items": {"type": "object", "properties": {"email": {"type": "string", "maxLength": 254, "description": "User email address"}}, "required": ["email"]}}, "billing_extra_text": {"type": "string", "maxLength": 1000, "description": "Extra text to be included in all project invoices, e.g. purchase order or cost center number"}, "billing_group_id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "Billing group ID"}, "billing_group_name": {"type": "string", "maxLength": 128, "description": "Billing group name"}, "card_info": {"type": "object", "description": "Credit card assigned to the project", "properties": {"brand": {"type": "string", "description": "Brand"}, "card_id": {"type": "string", "maxLength": 64, "description": "Credit card ID"}, "country": {"type": "string", "maxLength": 128, "description": "Country"}, "country_code": {"type": "string", "maxLength": 2, "description": "Two letter ISO country code"}, "exp_month": {"type": "integer", "minimum": 1, "maximum": 12, "description": "Expiration month"}, "exp_year": {"type": "integer", "minimum": 2015, "maximum": 2100, "description": "Expiration year"}, "last4": {"type": "string", "description": "Credit card last four digits"}, "name": {"type": "string", "maxLength": 256, "description": "Name on the credit card"}, "user_email": {"type": "string", "maxLength": 254, "description": "User email address"}}, "required": ["brand", "card_id", "country", "country_code", "exp_month", "exp_year", "last4", "name", "user_email"]}, "city": {"type": "string", "maxLength": 512, "description": "Address city"}, "company": {"type": "string", "maxLength": 128, "description": "Name of a company"}, "country": {"type": "string", "maxLength": 128, "description": "Billing country"}, "country_code": {"type": "string", "maxLength": 2, "description": "Two letter ISO country code"}, "default_cloud": {"type": "string", "maxLength": 256, "description": "Default cloud to use when launching services"}, "end_of_life_extension": {"type": "object", "description": "End of life extension information", "properties": {"elasticsearch": {"type": "object", "description": "Service EOL extension", "properties": {"eol_date": {"type": "string", "description": "Extended EOL date"}, "version": {"type": "string", "description": "Service version"}}, "required": ["eol_date", "version"]}}}, "estimated_balance": {"type": "string", "description": "Estimated balance, in USD"}, "estimated_balance_local": {"type": "string", "description": "Estimated balance, in billing currency"}, "features": {"type": "object", "description": "Feature flags", "properties": {}}, "organization_id": {"type": "string", "maxLength": 36, "description": "Organization ID"}, "payment_method": {"type": "string", "description": "Payment method"}, "project_name": {"type": "string", "maxLength": 63, "description": "Project name"}, "state": {"type": "string", "maxLength": 128, "description": "Address state or province"}, "tags": {"type": "object", "description": "Set of resource tags", "properties": {}}, "tech_emails": {"type": "array", "maxItems": 10, "description": "List of project tech email addresses", "items": {"type": "object", "properties": {"email": {"type": "string", "maxLength": 254, "description": "User email address"}}, "required": ["email"]}}, "tenant_id": {"type": "string", "description": "Tenant ID"}, "trial_expiration_time": {"type": "string", "maxLength": 36, "description": "Trial expiration time (ISO 8601)"}, "vat_id": {"type": "string", "maxLength": 64, "description": "EU VAT Identification Number"}, "zip_code": {"type": "string", "maxLength": 32, "description": "Address zip code"}}, "required": ["account_id", "billing_address", "billing_emails", "billing_group_id", "billing_group_name", "country", "country_code", "default_cloud", "estimated_balance", "organization_id", "payment_method", "project_name", "vat_id"]}}, "required": ["project"]}, "ProjectDeleteResponse": {"type": "object", "description": "ProjectDeleteResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}}, "ProjectGenerateSbomDownloadUrlResponse": {"type": "object", "description": "ProjectGenerateSbomDownloadUrlResponse", "properties": {"download_url": {"type": "string", "maxLength": 2048, "description": "Relative signed URL for report download"}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}, "required": ["download_url"]}, "ProjectGetResponse": {"type": "object", "description": "ProjectGetResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "project": {"type": "object", "description": "Project information", "properties": {"account_id": {"type": "string", "maxLength": 36, "description": "Account ID"}, "account_name": {"type": "string", "maxLength": 83, "description": "Account name"}, "address_lines": {"type": "array", "maxItems": 16, "description": "Address lines", "items": {"type": "string"}}, "available_credits": {"type": "string", "description": "DEPRECATED: Available credits, in USD. Always 0.00, use billing group credits instead"}, "billing_address": {"type": "string", "maxLength": 1000, "description": "DEPRECATED: use split address fields like company, address_lines, zip_code, city and state instead"}, "billing_currency": {"type": "string", "description": "Billing currency", "enum": ["AUD", "CAD", "CHF", "DKK", "EUR", "GBP", "JPY", "NOK", "NZD", "SEK", "SGD", "USD"]}, "billing_emails": {"type": "array", "maxItems": 10, "description": "List of project billing email addresses", "items": {"type": "object", "properties": {"email": {"type": "string", "maxLength": 254, "description": "User email address"}}, "required": ["email"]}}, "billing_extra_text": {"type": "string", "maxLength": 1000, "description": "Extra text to be included in all project invoices, e.g. purchase order or cost center number"}, "billing_group_id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "Billing group ID"}, "billing_group_name": {"type": "string", "maxLength": 128, "description": "Billing group name"}, "card_info": {"type": "object", "description": "Credit card assigned to the project", "properties": {"brand": {"type": "string", "description": "Brand"}, "card_id": {"type": "string", "maxLength": 64, "description": "Credit card ID"}, "country": {"type": "string", "maxLength": 128, "description": "Country"}, "country_code": {"type": "string", "maxLength": 2, "description": "Two letter ISO country code"}, "exp_month": {"type": "integer", "minimum": 1, "maximum": 12, "description": "Expiration month"}, "exp_year": {"type": "integer", "minimum": 2015, "maximum": 2100, "description": "Expiration year"}, "last4": {"type": "string", "description": "Credit card last four digits"}, "name": {"type": "string", "maxLength": 256, "description": "Name on the credit card"}, "user_email": {"type": "string", "maxLength": 254, "description": "User email address"}}, "required": ["brand", "card_id", "country", "country_code", "exp_month", "exp_year", "last4", "name", "user_email"]}, "city": {"type": "string", "maxLength": 512, "description": "Address city"}, "company": {"type": "string", "maxLength": 128, "description": "Name of a company"}, "country": {"type": "string", "maxLength": 128, "description": "Billing country"}, "country_code": {"type": "string", "maxLength": 2, "description": "Two letter ISO country code"}, "default_cloud": {"type": "string", "maxLength": 256, "description": "Default cloud to use when launching services"}, "end_of_life_extension": {"type": "object", "description": "End of life extension information", "properties": {"elasticsearch": {"type": "object", "description": "Service EOL extension", "properties": {"eol_date": {"type": "string", "description": "Extended EOL date"}, "version": {"type": "string", "description": "Service version"}}, "required": ["eol_date", "version"]}}}, "estimated_balance": {"type": "string", "description": "Estimated balance, in USD"}, "estimated_balance_local": {"type": "string", "description": "Estimated balance, in billing currency"}, "features": {"type": "object", "description": "Feature flags", "properties": {}}, "organization_id": {"type": "string", "maxLength": 36, "description": "Organization ID"}, "payment_method": {"type": "string", "description": "Payment method"}, "project_name": {"type": "string", "maxLength": 63, "description": "Project name"}, "state": {"type": "string", "maxLength": 128, "description": "Address state or province"}, "tags": {"type": "object", "description": "Set of resource tags", "properties": {}}, "tech_emails": {"type": "array", "maxItems": 10, "description": "List of project tech email addresses", "items": {"type": "object", "properties": {"email": {"type": "string", "maxLength": 254, "description": "User email address"}}, "required": ["email"]}}, "tenant_id": {"type": "string", "description": "Tenant ID"}, "trial_expiration_time": {"type": "string", "maxLength": 36, "description": "Trial expiration time (ISO 8601)"}, "vat_id": {"type": "string", "maxLength": 64, "description": "EU VAT Identification Number"}, "zip_code": {"type": "string", "maxLength": 32, "description": "Address zip code"}}, "required": ["account_id", "billing_address", "billing_emails", "billing_group_id", "billing_group_name", "country", "country_code", "default_cloud", "estimated_balance", "organization_id", "payment_method", "project_name", "vat_id"]}}, "required": ["project"]}, "ProjectGetEventLogsResponse": {"type": "object", "description": "ProjectGetEventLogsResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "events": {"type": "array", "description": "List of project event log entries", "items": {"type": "object", "properties": {"actor": {"type": "string", "description": "Initiator of the event"}, "event_desc": {"type": "string", "description": "Event description"}, "event_type": {"type": "string", "description": "Event type identifier"}, "id": {"type": "string", "maxLength": 40, "description": "Event identifier (unique across all projects)"}, "service_name": {"type": "string", "minLength": 1, "maxLength": 64, "description": "Service name"}, "time": {"type": "string", "maxLength": 36, "description": "Timestamp in ISO 8601 format, always in UTC"}}, "required": ["actor", "event_desc", "event_type", "id", "service_name", "time"]}}, "message": {"type": "string", "description": "Printable result of the request"}}, "required": ["events"]}, "ProjectInviteRequestBody": {"type": "object", "description": "ProjectInviteRequestBody", "properties": {"member_type": {"type": "string", "description": "Project member type", "default": "developer", "enum": ["admin", "developer", "operator", "organization:app_users:write", "organization:audit_logs:read", "organization:billing:read", "organization:billing:write", "organization:domains:write", "organization:groups:write", "organization:networking:read", "organization:networking:write", "organization:projects:write", "organization:users:write", "project:audit_logs:read", "project:integrations:read", "project:integrations:write", "project:networking:read", "project:networking:write", "project:permissions:read", "project:services:read", "project:services:write", "read_only", "role:organization:admin", "role:project:admin", "role:services:maintenance", "role:services:recover", "service:configuration:write", "service:data:write", "service:logs:read", "service:secrets:read", "service:users:write"]}, "user_email": {"type": "string", "maxLength": 254, "description": "User email address"}}, "required": ["user_email"]}, "ProjectInviteResponse": {"type": "object", "description": "ProjectInviteResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}}, "ProjectInviteAcceptResponse": {"type": "object", "description": "ProjectInviteAcceptResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "invite_details": {"type": "object", "description": "Details of verified invite", "properties": {"user_email": {"type": "string", "maxLength": 254, "description": "User email address"}}, "required": ["user_email"]}, "message": {"type": "string", "description": "Printable result of the request"}}, "required": ["invite_details"]}, "ProjectInviteDeleteResponse": {"type": "object", "description": "ProjectInviteDeleteResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}}, "ProjectListResponse": {"type": "object", "description": "ProjectListResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "project_membership": {"type": "object", "description": "Project membership and type of membership", "properties": {"ANY": {"type": "string", "description": "Project member type", "enum": ["admin", "developer", "operator", "organization:app_users:write", "organization:audit_logs:read", "organization:billing:read", "organization:billing:write", "organization:domains:write", "organization:groups:write", "organization:networking:read", "organization:networking:write", "organization:projects:write", "organization:users:write", "project:audit_logs:read", "project:integrations:read", "project:integrations:write", "project:networking:read", "project:networking:write", "project:permissions:read", "project:services:read", "project:services:write", "read_only", "role:organization:admin", "role:project:admin", "role:services:maintenance", "role:services:recover", "service:configuration:write", "service:data:write", "service:logs:read", "service:secrets:read", "service:users:write"]}}}, "project_memberships": {"type": "object", "description": "List of project membership and type of membership", "properties": {"ANY": {"type": "array", "description": "List of project member type", "items": {"type": "string"}}}}, "projects": {"type": "array", "description": "List of projects", "items": {"type": "object", "properties": {"account_id": {"type": "string", "maxLength": 36, "description": "Account ID"}, "account_name": {"type": "string", "maxLength": 83, "description": "Account name"}, "address_lines": {"type": "array", "maxItems": 16, "description": "Address lines", "items": {"type": "string"}}, "available_credits": {"type": "string", "description": "DEPRECATED: Available credits, in USD. Always 0.00, use billing group credits instead"}, "billing_address": {"type": "string", "maxLength": 1000, "description": "DEPRECATED: use split address fields like company, address_lines, zip_code, city and state instead"}, "billing_currency": {"type": "string", "description": "Billing currency", "enum": ["AUD", "CAD", "CHF", "DKK", "EUR", "GBP", "JPY", "NOK", "NZD", "SEK", "SGD", "USD"]}, "billing_emails": {"type": "array", "maxItems": 10, "description": "List of project billing email addresses", "items": {"type": "object", "properties": {"email": {"type": "string", "maxLength": 254, "description": "User email address"}}, "required": ["email"]}}, "billing_extra_text": {"type": "string", "maxLength": 1000, "description": "Extra text to be included in all project invoices, e.g. purchase order or cost center number"}, "billing_group_id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "Billing group ID"}, "billing_group_name": {"type": "string", "maxLength": 128, "description": "Billing group name"}, "card_info": {"type": "object", "description": "Credit card assigned to the project", "properties": {"brand": {"type": "string", "description": "Brand"}, "card_id": {"type": "string", "maxLength": 64, "description": "Credit card ID"}, "country": {"type": "string", "maxLength": 128, "description": "Country"}, "country_code": {"type": "string", "maxLength": 2, "description": "Two letter ISO country code"}, "exp_month": {"type": "integer", "minimum": 1, "maximum": 12, "description": "Expiration month"}, "exp_year": {"type": "integer", "minimum": 2015, "maximum": 2100, "description": "Expiration year"}, "last4": {"type": "string", "description": "Credit card last four digits"}, "name": {"type": "string", "maxLength": 256, "description": "Name on the credit card"}, "user_email": {"type": "string", "maxLength": 254, "description": "User email address"}}, "required": ["brand", "card_id", "country", "country_code", "exp_month", "exp_year", "last4", "name", "user_email"]}, "city": {"type": "string", "maxLength": 512, "description": "Address city"}, "company": {"type": "string", "maxLength": 128, "description": "Name of a company"}, "country": {"type": "string", "maxLength": 128, "description": "Billing country"}, "country_code": {"type": "string", "maxLength": 2, "description": "Two letter ISO country code"}, "default_cloud": {"type": "string", "maxLength": 256, "description": "Default cloud to use when launching services"}, "end_of_life_extension": {"type": "object", "description": "End of life extension information", "properties": {"elasticsearch": {"type": "object", "description": "Service EOL extension", "properties": {"eol_date": {"type": "string", "description": "Extended EOL date"}, "version": {"type": "string", "description": "Service version"}}, "required": ["eol_date", "version"]}}}, "estimated_balance": {"type": "string", "description": "Estimated balance, in USD"}, "estimated_balance_local": {"type": "string", "description": "Estimated balance, in billing currency"}, "features": {"type": "object", "description": "Feature flags", "properties": {}}, "organization_id": {"type": "string", "maxLength": 36, "description": "Organization ID"}, "payment_method": {"type": "string", "description": "Payment method"}, "project_name": {"type": "string", "maxLength": 63, "description": "Project name"}, "state": {"type": "string", "maxLength": 128, "description": "Address state or province"}, "tags": {"type": "object", "description": "Set of resource tags", "properties": {}}, "tech_emails": {"type": "array", "maxItems": 10, "description": "List of project tech email addresses", "items": {"type": "object", "properties": {"email": {"type": "string", "maxLength": 254, "description": "User email address"}}, "required": ["email"]}}, "tenant_id": {"type": "string", "description": "Tenant ID"}, "trial_expiration_time": {"type": "string", "maxLength": 36, "description": "Trial expiration time (ISO 8601)"}, "vat_id": {"type": "string", "maxLength": 64, "description": "EU VAT Identification Number"}, "zip_code": {"type": "string", "maxLength": 32, "description": "Address zip code"}}, "required": ["account_id", "billing_address", "billing_emails", "billing_group_id", "billing_group_name", "country", "country_code", "default_cloud", "estimated_balance", "organization_id", "payment_method", "project_name", "vat_id"]}}}, "required": ["project_membership", "project_memberships", "projects"]}, "ProjectPrivatelinkAvailabilityListResponse": {"type": "object", "description": "ProjectPrivatelinkAvailabilityListResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "privatelink_availability": {"type": "array", "description": "Privatelink pricing information for supported clouds", "items": {"type": "object", "properties": {"cloud_name": {"type": "string", "maxLength": 256, "description": "Target cloud"}, "price_usd": {"type": "string", "description": "Hourly privatelink price in this cloud region"}}, "required": ["cloud_name", "price_usd"]}}}, "required": ["privatelink_availability"]}, "ProjectServicePlanListResponse": {"type": "object", "description": "ProjectServicePlanListResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "service_plans": {"type": "array", "description": "List of plans available for this type of service", "items": {"type": "object", "properties": {"backup_config": {"type": "object", "description": "Backup configuration for this service plan", "properties": {"frequent_interval_minutes": {"type": "integer", "minimum": 0, "description": "Interval of taking a frequent backup in service types supporting different backup schedules"}, "frequent_oldest_age_minutes": {"type": "integer", "minimum": 0, "description": "Maximum age of the oldest frequent backup in service types supporting different backup schedules"}, "infrequent_interval_minutes": {"type": "integer", "minimum": 0, "description": "Interval of taking an infrequent backup in service types supporting different backup schedules"}, "infrequent_oldest_age_minutes": {"type": "integer", "minimum": 0, "description": "Maximum age of the oldest infrequent backup in service types supporting different backup schedules"}, "interval": {"type": "integer", "minimum": 0, "description": "The interval, in hours, at which backups are generated. For some services, like PostgreSQL, this is the interval at which full snapshots are taken and continuous incremental backup stream is maintained in addition to that."}, "max_count": {"type": "integer", "minimum": 0, "description": "Maximum number of backups to keep. Zero when no backups are created."}, "recovery_mode": {"type": "string", "description": "Mechanism how backups can be restored. 'basic' means a backup is restored as is so that the system is restored to the state it was when the backup was generated. 'pitr' means point-in-time-recovery, which allows restoring the system to any state since the first available full snapshot.", "enum": ["basic", "pitr"]}}, "required": ["interval", "max_count", "recovery_mode"]}, "max_memory_percent": {"type": "integer", "minimum": 0, "maximum": 100, "description": "Maximum amount of system memory as a percentage (0-100) the service can actually use after taking into account management overhead. This is relevant for memory bound services for which some service management operations require allocating proportional amount of memory on top the basic load."}, "node_count": {"type": "integer", "minimum": 1, "maximum": 100, "description": "Number of nodes in this service plan"}, "regions": {"type": "object", "description": "Service plan hourly price per cloud region", "properties": {}}, "service_plan": {"type": "string", "maxLength": 128, "description": "Subscription plan"}, "service_type": {"type": "string", "maxLength": 64, "description": "Service type code"}, "shard_count": {"type": "integer", "minimum": 1, "description": "Number of shards in this service plan"}}, "required": ["backup_config", "service_plan", "service_type"]}}}, "required": ["service_plans"]}, "ProjectServicePlanPriceGetResponse": {"type": "object", "description": "ProjectServicePlanPriceGetResponse", "properties": {"base_price_usd": {"type": "string", "description": "Hourly service price in this region"}, "cloud_name": {"type": "string", "maxLength": 256, "description": "Target cloud"}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "extra_disk_price_per_gb_usd": {"type": "string", "description": "Hourly additional disk space price per GiB in this region"}, "message": {"type": "string", "description": "Printable result of the request"}, "object_storage_gb_price_usd": {"type": "string", "description": "Hourly additional disk space price per GiB in this region"}, "service_plan": {"type": "string", "maxLength": 128, "description": "Subscription plan"}, "service_type": {"type": "string", "maxLength": 64, "description": "Service type code"}}, "required": ["base_price_usd", "cloud_name", "service_plan", "service_type"]}, "ProjectServicePlanSpecsGetResponse": {"type": "object", "description": "ProjectServicePlanSpecsGetResponse", "properties": {"backup_config": {"type": "object", "description": "Backup configuration for this service plan", "properties": {"frequent_interval_minutes": {"type": "integer", "minimum": 0, "description": "Interval of taking a frequent backup in service types supporting different backup schedules"}, "frequent_oldest_age_minutes": {"type": "integer", "minimum": 0, "description": "Maximum age of the oldest frequent backup in service types supporting different backup schedules"}, "infrequent_interval_minutes": {"type": "integer", "minimum": 0, "description": "Interval of taking an infrequent backup in service types supporting different backup schedules"}, "infrequent_oldest_age_minutes": {"type": "integer", "minimum": 0, "description": "Maximum age of the oldest infrequent backup in service types supporting different backup schedules"}, "interval": {"type": "integer", "minimum": 0, "description": "The interval, in hours, at which backups are generated. For some services, like PostgreSQL, this is the interval at which full snapshots are taken and continuous incremental backup stream is maintained in addition to that."}, "max_count": {"type": "integer", "minimum": 0, "description": "Maximum number of backups to keep. Zero when no backups are created."}, "recovery_mode": {"type": "string", "description": "Mechanism how backups can be restored. 'basic' means a backup is restored as is so that the system is restored to the state it was when the backup was generated. 'pitr' means point-in-time-recovery, which allows restoring the system to any state since the first available full snapshot.", "enum": ["basic", "pitr"]}}, "required": ["interval", "max_count", "recovery_mode"]}, "disk_space_cap_mb": {"type": "integer", "minimum": 0, "description": "Maximum amount of disk space possible for the plan in the given region"}, "disk_space_mb": {"type": "integer", "minimum": 0, "description": "Combined amount of service disk space of all service nodes in megabytes"}, "disk_space_step_mb": {"type": "integer", "minimum": 1024, "description": "Disk space change step size"}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "max_memory_percent": {"type": "integer", "minimum": 0, "maximum": 100, "description": "Maximum amount of system memory as a percentage (0-100) the service can actually use after taking into account management overhead. This is relevant for memory bound services for which some service management operations require allocating proportional amount of memory on top the basic load."}, "message": {"type": "string", "description": "Printable result of the request"}, "node_count": {"type": "integer", "minimum": 1, "maximum": 100, "description": "Number of nodes in this service plan"}, "service_plan": {"type": "string", "maxLength": 128, "description": "Subscription plan"}, "service_type": {"type": "string", "maxLength": 64, "description": "Service type code"}, "shard_count": {"type": "integer", "minimum": 1, "description": "Number of shards in this service plan"}}, "required": ["backup_config", "disk_space_mb", "node_count", "service_plan", "service_type"]}, "ProjectServiceTypesGetResponse": {"type": "object", "description": "ProjectServiceTypesGetResponse", "properties": {"default_version": {"type": "string", "description": "Default version of the service if no explicit version is defined"}, "description": {"type": "string", "description": "Single line description of the service"}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "latest_available_version": {"type": "string", "description": "Latest available version of the service"}, "message": {"type": "string", "description": "Printable result of the request"}, "user_config_schema": {"type": "object", "description": "JSON-Schema for the 'user_config' properties", "properties": {}}}, "required": ["description", "user_config_schema"]}, "ProjectServiceTypesListResponse": {"type": "object", "description": "ProjectServiceTypesListResponse", "properties": {"alloydbomni": {"type": "object", "description": "Service type information", "properties": {"default_version": {"type": "string", "description": "Default version of the service if no explicit version is defined"}, "description": {"type": "string", "description": "Single line description of the service"}, "latest_available_version": {"type": "string", "description": "Latest available version of the service"}, "user_config_schema": {"type": "object", "description": "JSON-Schema for the 'user_config' properties", "properties": {}}}, "required": ["description", "user_config_schema"]}, "cassandra": {"type": "object", "description": "Service type information", "properties": {"default_version": {"type": "string", "description": "Default version of the service if no explicit version is defined"}, "description": {"type": "string", "description": "Single line description of the service"}, "latest_available_version": {"type": "string", "description": "Latest available version of the service"}, "user_config_schema": {"type": "object", "description": "JSON-Schema for the 'user_config' properties", "properties": {}}}, "required": ["description", "user_config_schema"]}, "clickhouse": {"type": "object", "description": "Service type information", "properties": {"default_version": {"type": "string", "description": "Default version of the service if no explicit version is defined"}, "description": {"type": "string", "description": "Single line description of the service"}, "latest_available_version": {"type": "string", "description": "Latest available version of the service"}, "user_config_schema": {"type": "object", "description": "JSON-Schema for the 'user_config' properties", "properties": {}}}, "required": ["description", "user_config_schema"]}, "dragonfly": {"type": "object", "description": "Service type information", "properties": {"default_version": {"type": "string", "description": "Default version of the service if no explicit version is defined"}, "description": {"type": "string", "description": "Single line description of the service"}, "latest_available_version": {"type": "string", "description": "Latest available version of the service"}, "user_config_schema": {"type": "object", "description": "JSON-Schema for the 'user_config' properties", "properties": {}}}, "required": ["description", "user_config_schema"]}, "elasticsearch": {"type": "object", "description": "Service type information", "properties": {"default_version": {"type": "string", "description": "Default version of the service if no explicit version is defined"}, "description": {"type": "string", "description": "Single line description of the service"}, "latest_available_version": {"type": "string", "description": "Latest available version of the service"}, "user_config_schema": {"type": "object", "description": "JSON-Schema for the 'user_config' properties", "properties": {}}}, "required": ["description", "user_config_schema"]}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "flink": {"type": "object", "description": "Service type information", "properties": {"default_version": {"type": "string", "description": "Default version of the service if no explicit version is defined"}, "description": {"type": "string", "description": "Single line description of the service"}, "latest_available_version": {"type": "string", "description": "Latest available version of the service"}, "user_config_schema": {"type": "object", "description": "JSON-Schema for the 'user_config' properties", "properties": {}}}, "required": ["description", "user_config_schema"]}, "grafana": {"type": "object", "description": "Service type information", "properties": {"default_version": {"type": "string", "description": "Default version of the service if no explicit version is defined"}, "description": {"type": "string", "description": "Single line description of the service"}, "latest_available_version": {"type": "string", "description": "Latest available version of the service"}, "user_config_schema": {"type": "object", "description": "JSON-Schema for the 'user_config' properties", "properties": {}}}, "required": ["description", "user_config_schema"]}, "influxdb": {"type": "object", "description": "Service type information", "properties": {"default_version": {"type": "string", "description": "Default version of the service if no explicit version is defined"}, "description": {"type": "string", "description": "Single line description of the service"}, "latest_available_version": {"type": "string", "description": "Latest available version of the service"}, "user_config_schema": {"type": "object", "description": "JSON-Schema for the 'user_config' properties", "properties": {}}}, "required": ["description", "user_config_schema"]}, "kafka": {"type": "object", "description": "Service type information", "properties": {"default_version": {"type": "string", "description": "Default version of the service if no explicit version is defined"}, "description": {"type": "string", "description": "Single line description of the service"}, "latest_available_version": {"type": "string", "description": "Latest available version of the service"}, "user_config_schema": {"type": "object", "description": "JSON-Schema for the 'user_config' properties", "properties": {}}}, "required": ["description", "user_config_schema"]}, "kafka_connect": {"type": "object", "description": "Service type information", "properties": {"default_version": {"type": "string", "description": "Default version of the service if no explicit version is defined"}, "description": {"type": "string", "description": "Single line description of the service"}, "latest_available_version": {"type": "string", "description": "Latest available version of the service"}, "user_config_schema": {"type": "object", "description": "JSON-Schema for the 'user_config' properties", "properties": {}}}, "required": ["description", "user_config_schema"]}, "kafka_mirrormaker": {"type": "object", "description": "Service type information", "properties": {"default_version": {"type": "string", "description": "Default version of the service if no explicit version is defined"}, "description": {"type": "string", "description": "Single line description of the service"}, "latest_available_version": {"type": "string", "description": "Latest available version of the service"}, "user_config_schema": {"type": "object", "description": "JSON-Schema for the 'user_config' properties", "properties": {}}}, "required": ["description", "user_config_schema"]}, "m3aggregator": {"type": "object", "description": "Service type information", "properties": {"default_version": {"type": "string", "description": "Default version of the service if no explicit version is defined"}, "description": {"type": "string", "description": "Single line description of the service"}, "latest_available_version": {"type": "string", "description": "Latest available version of the service"}, "user_config_schema": {"type": "object", "description": "JSON-Schema for the 'user_config' properties", "properties": {}}}, "required": ["description", "user_config_schema"]}, "m3db": {"type": "object", "description": "Service type information", "properties": {"default_version": {"type": "string", "description": "Default version of the service if no explicit version is defined"}, "description": {"type": "string", "description": "Single line description of the service"}, "latest_available_version": {"type": "string", "description": "Latest available version of the service"}, "user_config_schema": {"type": "object", "description": "JSON-Schema for the 'user_config' properties", "properties": {}}}, "required": ["description", "user_config_schema"]}, "message": {"type": "string", "description": "Printable result of the request"}, "mysql": {"type": "object", "description": "Service type information", "properties": {"default_version": {"type": "string", "description": "Default version of the service if no explicit version is defined"}, "description": {"type": "string", "description": "Single line description of the service"}, "latest_available_version": {"type": "string", "description": "Latest available version of the service"}, "user_config_schema": {"type": "object", "description": "JSON-Schema for the 'user_config' properties", "properties": {}}}, "required": ["description", "user_config_schema"]}, "opensearch": {"type": "object", "description": "Service type information", "properties": {"default_version": {"type": "string", "description": "Default version of the service if no explicit version is defined"}, "description": {"type": "string", "description": "Single line description of the service"}, "latest_available_version": {"type": "string", "description": "Latest available version of the service"}, "user_config_schema": {"type": "object", "description": "JSON-Schema for the 'user_config' properties", "properties": {}}}, "required": ["description", "user_config_schema"]}, "pg": {"type": "object", "description": "Service type information", "properties": {"default_version": {"type": "string", "description": "Default version of the service if no explicit version is defined"}, "description": {"type": "string", "description": "Single line description of the service"}, "latest_available_version": {"type": "string", "description": "Latest available version of the service"}, "user_config_schema": {"type": "object", "description": "JSON-Schema for the 'user_config' properties", "properties": {}}}, "required": ["description", "user_config_schema"]}, "redis": {"type": "object", "description": "Service type information", "properties": {"default_version": {"type": "string", "description": "Default version of the service if no explicit version is defined"}, "description": {"type": "string", "description": "Single line description of the service"}, "latest_available_version": {"type": "string", "description": "Latest available version of the service"}, "user_config_schema": {"type": "object", "description": "JSON-Schema for the 'user_config' properties", "properties": {}}}, "required": ["description", "user_config_schema"]}, "thanos": {"type": "object", "description": "Service type information", "properties": {"default_version": {"type": "string", "description": "Default version of the service if no explicit version is defined"}, "description": {"type": "string", "description": "Single line description of the service"}, "latest_available_version": {"type": "string", "description": "Latest available version of the service"}, "user_config_schema": {"type": "object", "description": "JSON-Schema for the 'user_config' properties", "properties": {}}}, "required": ["description", "user_config_schema"]}, "valkey": {"type": "object", "description": "Service type information", "properties": {"default_version": {"type": "string", "description": "Default version of the service if no explicit version is defined"}, "description": {"type": "string", "description": "Single line description of the service"}, "latest_available_version": {"type": "string", "description": "Latest available version of the service"}, "user_config_schema": {"type": "object", "description": "JSON-Schema for the 'user_config' properties", "properties": {}}}, "required": ["description", "user_config_schema"]}}}, "ProjectTagsListResponse": {"type": "object", "description": "ProjectTagsListResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "tags": {"type": "object", "description": "Set of resource tags", "properties": {}}}}, "ProjectTagsReplaceRequestBody": {"type": "object", "description": "ProjectTagsReplaceRequestBody", "properties": {"tags": {"type": "object", "description": "Set of resource tags", "properties": {}}}, "required": ["tags"]}, "ProjectTagsReplaceResponse": {"type": "object", "description": "ProjectTagsReplaceResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}}, "ProjectTagsUpdateRequestBody": {"type": "object", "description": "ProjectTagsUpdateRequestBody", "properties": {"tags": {"type": "object", "description": "Set of resource tags", "properties": {}}}, "required": ["tags"]}, "ProjectTagsUpdateResponse": {"type": "object", "description": "ProjectTagsUpdateResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}}, "ProjectUpdateRequestBody": {"type": "object", "description": "ProjectUpdateRequestBody", "properties": {"account_id": {"type": "string", "maxLength": 36, "description": "Account ID"}, "add_account_owners_admin_access": {"type": "boolean", "description": "[DEPRECATED] If account_id is set, grant account owner team admin access to this project. This flag is ignored and assumed true."}, "address_lines": {"type": "array", "maxItems": 16, "description": "[DEPRECATED] Address lines", "items": {"type": "string"}}, "billing_address": {"type": "string", "maxLength": 1000, "description": "DEPRECATED: use split address fields like company, address_lines, zip_code, city and state instead"}, "billing_currency": {"type": "string", "description": "[DEPRECATED] Billing currency", "enum": ["AUD", "CAD", "CHF", "DKK", "EUR", "GBP", "JPY", "NOK", "NZD", "SEK", "SGD", "USD"]}, "billing_emails": {"type": "array", "maxItems": 10, "description": "[DEPRECATED] List of project billing email addresses", "items": {"type": "object", "properties": {"email": {"type": "string", "maxLength": 254, "description": "User email address"}}, "required": ["email"]}}, "billing_extra_text": {"type": "string", "maxLength": 1000, "description": "[DEPRECATED] Extra text to be included in all project invoices, e.g. purchase order or cost center number"}, "billing_group_id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "Billing group ID"}, "card_id": {"type": "string", "maxLength": 64, "description": "[DEPRECATED] Credit card ID"}, "city": {"type": "string", "maxLength": 512, "description": "[DEPRECATED] Address city"}, "cloud": {"type": "string", "maxLength": 256, "description": "Target cloud"}, "company": {"type": "string", "maxLength": 128, "description": "Name of a company"}, "country_code": {"type": "string", "maxLength": 2, "description": "[DEPRECATED] Two letter country code for billing country"}, "project_name": {"type": "string", "maxLength": 63, "description": "Project name"}, "state": {"type": "string", "maxLength": 128, "description": "[DEPRECATED] Address state"}, "tags": {"type": "object", "description": "Set of resource tags", "properties": {}}, "tech_emails": {"type": "array", "maxItems": 10, "description": "List of project tech email addresses", "items": {"type": "object", "properties": {"email": {"type": "string", "maxLength": 254, "description": "User email address"}}, "required": ["email"]}}, "vat_id": {"type": "string", "maxLength": 64, "description": "[DEPRECATED] EU VAT Identification Number"}, "zip_code": {"type": "string", "maxLength": 32, "description": "[DEPRECATED] Address zip code"}}}, "ProjectUpdateResponse": {"type": "object", "description": "ProjectUpdateResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "project": {"type": "object", "description": "Project information", "properties": {"account_id": {"type": "string", "maxLength": 36, "description": "Account ID"}, "account_name": {"type": "string", "maxLength": 83, "description": "Account name"}, "address_lines": {"type": "array", "maxItems": 16, "description": "Address lines", "items": {"type": "string"}}, "available_credits": {"type": "string", "description": "DEPRECATED: Available credits, in USD. Always 0.00, use billing group credits instead"}, "billing_address": {"type": "string", "maxLength": 1000, "description": "DEPRECATED: use split address fields like company, address_lines, zip_code, city and state instead"}, "billing_currency": {"type": "string", "description": "Billing currency", "enum": ["AUD", "CAD", "CHF", "DKK", "EUR", "GBP", "JPY", "NOK", "NZD", "SEK", "SGD", "USD"]}, "billing_emails": {"type": "array", "maxItems": 10, "description": "List of project billing email addresses", "items": {"type": "object", "properties": {"email": {"type": "string", "maxLength": 254, "description": "User email address"}}, "required": ["email"]}}, "billing_extra_text": {"type": "string", "maxLength": 1000, "description": "Extra text to be included in all project invoices, e.g. purchase order or cost center number"}, "billing_group_id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "Billing group ID"}, "billing_group_name": {"type": "string", "maxLength": 128, "description": "Billing group name"}, "card_info": {"type": "object", "description": "Credit card assigned to the project", "properties": {"brand": {"type": "string", "description": "Brand"}, "card_id": {"type": "string", "maxLength": 64, "description": "Credit card ID"}, "country": {"type": "string", "maxLength": 128, "description": "Country"}, "country_code": {"type": "string", "maxLength": 2, "description": "Two letter ISO country code"}, "exp_month": {"type": "integer", "minimum": 1, "maximum": 12, "description": "Expiration month"}, "exp_year": {"type": "integer", "minimum": 2015, "maximum": 2100, "description": "Expiration year"}, "last4": {"type": "string", "description": "Credit card last four digits"}, "name": {"type": "string", "maxLength": 256, "description": "Name on the credit card"}, "user_email": {"type": "string", "maxLength": 254, "description": "User email address"}}, "required": ["brand", "card_id", "country", "country_code", "exp_month", "exp_year", "last4", "name", "user_email"]}, "city": {"type": "string", "maxLength": 512, "description": "Address city"}, "company": {"type": "string", "maxLength": 128, "description": "Name of a company"}, "country": {"type": "string", "maxLength": 128, "description": "Billing country"}, "country_code": {"type": "string", "maxLength": 2, "description": "Two letter ISO country code"}, "default_cloud": {"type": "string", "maxLength": 256, "description": "Default cloud to use when launching services"}, "end_of_life_extension": {"type": "object", "description": "End of life extension information", "properties": {"elasticsearch": {"type": "object", "description": "Service EOL extension", "properties": {"eol_date": {"type": "string", "description": "Extended EOL date"}, "version": {"type": "string", "description": "Service version"}}, "required": ["eol_date", "version"]}}}, "estimated_balance": {"type": "string", "description": "Estimated balance, in USD"}, "estimated_balance_local": {"type": "string", "description": "Estimated balance, in billing currency"}, "features": {"type": "object", "description": "Feature flags", "properties": {}}, "organization_id": {"type": "string", "maxLength": 36, "description": "Organization ID"}, "payment_method": {"type": "string", "description": "Payment method"}, "project_name": {"type": "string", "maxLength": 63, "description": "Project name"}, "state": {"type": "string", "maxLength": 128, "description": "Address state or province"}, "tags": {"type": "object", "description": "Set of resource tags", "properties": {}}, "tech_emails": {"type": "array", "maxItems": 10, "description": "List of project tech email addresses", "items": {"type": "object", "properties": {"email": {"type": "string", "maxLength": 254, "description": "User email address"}}, "required": ["email"]}}, "tenant_id": {"type": "string", "description": "Tenant ID"}, "trial_expiration_time": {"type": "string", "maxLength": 36, "description": "Trial expiration time (ISO 8601)"}, "vat_id": {"type": "string", "maxLength": 64, "description": "EU VAT Identification Number"}, "zip_code": {"type": "string", "maxLength": 32, "description": "Address zip code"}}, "required": ["account_id", "billing_address", "billing_emails", "billing_group_id", "billing_group_name", "country", "country_code", "default_cloud", "estimated_balance", "organization_id", "payment_method", "project_name", "vat_id"]}}, "required": ["project"]}, "ProjectUserListResponse": {"type": "object", "description": "ProjectUserListResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "group_users": {"type": "array", "description": "List of users in groups that have access to the project", "items": {"type": "object", "properties": {"member_type": {"type": "string", "description": "Project member type", "enum": ["admin", "developer", "operator", "organization:app_users:write", "organization:audit_logs:read", "organization:billing:read", "organization:billing:write", "organization:domains:write", "organization:groups:write", "organization:networking:read", "organization:networking:write", "organization:projects:write", "organization:users:write", "project:audit_logs:read", "project:integrations:read", "project:integrations:write", "project:networking:read", "project:networking:write", "project:permissions:read", "project:services:read", "project:services:write", "read_only", "role:organization:admin", "role:project:admin", "role:services:maintenance", "role:services:recover", "service:configuration:write", "service:data:write", "service:logs:read", "service:secrets:read", "service:users:write"]}, "real_name": {"type": "string", "maxLength": 256, "description": "User real name"}, "user_email": {"type": "string", "maxLength": 254, "description": "User email address"}, "user_group_id": {"type": "string", "description": "User group ID"}}, "required": ["member_type", "real_name", "user_email", "user_group_id"]}}, "invitations": {"type": "array", "description": "List of pending invitations", "items": {"type": "object", "properties": {"invite_time": {"type": "string", "maxLength": 36, "description": "Timestamp in ISO 8601 format, always in UTC"}, "invited_user_email": {"type": "string", "maxLength": 254, "description": "User email address"}, "inviting_user_email": {"type": "string", "maxLength": 254, "description": "User email address"}, "member_type": {"type": "string", "description": "Project member type", "enum": ["admin", "developer", "operator", "organization:app_users:write", "organization:audit_logs:read", "organization:billing:read", "organization:billing:write", "organization:domains:write", "organization:groups:write", "organization:networking:read", "organization:networking:write", "organization:projects:write", "organization:users:write", "project:audit_logs:read", "project:integrations:read", "project:integrations:write", "project:networking:read", "project:networking:write", "project:permissions:read", "project:services:read", "project:services:write", "read_only", "role:organization:admin", "role:project:admin", "role:services:maintenance", "role:services:recover", "service:configuration:write", "service:data:write", "service:logs:read", "service:secrets:read", "service:users:write"]}}, "required": ["invite_time", "invited_user_email", "inviting_user_email", "member_type"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "users": {"type": "array", "description": "List of project's users", "items": {"type": "object", "properties": {"auth": {"type": "array", "description": "List of user's required authentication methods", "items": {"type": "string"}}, "billing_contact": {"type": "boolean", "description": "Set for project's billing contacts"}, "create_time": {"type": "string", "maxLength": 36, "description": "Timestamp in ISO 8601 format, always in UTC"}, "member_type": {"type": "string", "description": "Project member type", "enum": ["admin", "developer", "operator", "organization:app_users:write", "organization:audit_logs:read", "organization:billing:read", "organization:billing:write", "organization:domains:write", "organization:groups:write", "organization:networking:read", "organization:networking:write", "organization:projects:write", "organization:users:write", "project:audit_logs:read", "project:integrations:read", "project:integrations:write", "project:networking:read", "project:networking:write", "project:permissions:read", "project:services:read", "project:services:write", "read_only", "role:organization:admin", "role:project:admin", "role:services:maintenance", "role:services:recover", "service:configuration:write", "service:data:write", "service:logs:read", "service:secrets:read", "service:users:write"]}, "real_name": {"type": "string", "maxLength": 256, "description": "User real name"}, "team_id": {"type": "string", "maxLength": 32, "description": "Team ID"}, "team_name": {"type": "string", "maxLength": 128, "description": "Team name"}, "user_email": {"type": "string", "maxLength": 254, "description": "User email address"}, "user_id": {"type": "string", "description": "User ID"}}, "required": ["auth", "billing_contact", "create_time", "member_type", "team_id", "team_name", "user_email", "user_id"]}}}, "required": ["group_users", "invitations", "users"]}, "ProjectUserRemoveResponse": {"type": "object", "description": "ProjectUserRemoveResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}}, "ProjectUserUpdateRequestBody": {"type": "object", "description": "ProjectUserUpdateRequestBody", "properties": {"member_type": {"type": "string", "description": "Project member type", "enum": ["admin", "developer", "operator", "organization:app_users:write", "organization:audit_logs:read", "organization:billing:read", "organization:billing:write", "organization:domains:write", "organization:groups:write", "organization:networking:read", "organization:networking:write", "organization:projects:write", "organization:users:write", "project:audit_logs:read", "project:integrations:read", "project:integrations:write", "project:networking:read", "project:networking:write", "project:permissions:read", "project:services:read", "project:services:write", "read_only", "role:organization:admin", "role:project:admin", "role:services:maintenance", "role:services:recover", "service:configuration:write", "service:data:write", "service:logs:read", "service:secrets:read", "service:users:write"]}}, "required": ["member_type"]}, "ProjectUserUpdateResponse": {"type": "object", "description": "ProjectUserUpdateResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}}, "VpcCreateRequestBody": {"type": "object", "description": "VpcCreateRequestBody", "properties": {"cloud_name": {"type": "string", "maxLength": 256, "description": "Target cloud"}, "network_cidr": {"type": "string", "maxLength": 18, "description": "IPv4 network range CIDR"}, "peering_connections": {"type": "array", "maxItems": 128, "description": "List of peering connection requests for the VPC", "items": {"type": "object", "properties": {"peer_azure_app_id": {"type": "string", "maxLength": 1024, "description": "Azure app registration id in UUID4 form that is allowed to create a peering to the peer vnet"}, "peer_azure_tenant_id": {"type": "string", "maxLength": 1024, "description": "Azure tenant id in UUID4 form"}, "peer_cloud_account": {"type": "string", "maxLength": 1024, "description": "AWS account ID, GCP project ID, Azure subscription ID of the peered VPC, or string &quot;upcloud&quot; for UpCloud peering connections"}, "peer_region": {"type": "string", "maxLength": 1024, "description": "The peer VPC's region on AWS. May be omitted or set to null if the peer is in the same region as the Aiven project VPC. Omit or set to null on GCP, Azure, or UpCloud."}, "peer_resource_group": {"type": "string", "maxLength": 1024, "description": "Azure resource group name of the peered VPC"}, "peer_vpc": {"type": "string", "maxLength": 1024, "description": "AWS VPC ID, GCP VPC network name, Azure Virtual network name of the peered VPC, or UpCloud VPC ID"}, "user_peer_network_cidrs": {"type": "array", "maxItems": 128, "description": "List of private IPv4 ranges to route through the peering connection", "items": {"type": "string"}}}, "required": ["peer_cloud_account", "peer_vpc"]}}}, "required": ["cloud_name", "network_cidr", "peering_connections"]}, "VpcCreateResponse": {"type": "object", "description": "VpcCreateResponse", "properties": {"cloud_name": {"type": "string", "maxLength": 256, "description": "Target cloud"}, "create_time": {"type": "string", "maxLength": 36, "description": "VPC creation timestamp"}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "network_cidr": {"type": "string", "maxLength": 18, "description": "IPv4 network range CIDR"}, "peering_connections": {"type": "array", "description": "List of peering connections", "items": {"type": "object", "properties": {"create_time": {"type": "string", "maxLength": 36, "description": "VPC peering connection creation timestamp"}, "peer_azure_app_id": {"type": "string", "maxLength": 1024, "description": "Azure app registration id in UUID4 form that is allowed to create a peering to the peer vnet"}, "peer_azure_tenant_id": {"type": "string", "maxLength": 1024, "description": "Azure tenant id in UUID4 form"}, "peer_cloud_account": {"type": "string", "maxLength": 1024, "description": "AWS account ID, GCP project ID, Azure subscription ID of the peered VPC, or string &quot;upcloud&quot; for UpCloud peering connections"}, "peer_region": {"type": "string", "maxLength": 1024, "description": "The peer VPC's region in AWS clouds. Always null in GCP, Azure, or UpCloud clouds"}, "peer_resource_group": {"type": "string", "maxLength": 1024, "description": "Azure resource group name of the peered VPC"}, "peer_vpc": {"type": "string", "maxLength": 1024, "description": "AWS VPC ID, GCP VPC network name, Azure Virtual network name of the peered VPC, or UpCloud VPC ID"}, "peering_connection_id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "VPC peering connection ID"}, "state": {"type": "string", "description": "Project VPC peering connection state", "enum": ["ACTIVE", "APPROVED", "APPROVED_PEER_REQUESTED", "DELETED", "DELETED_BY_PEER", "DELETING", "ERROR", "INVALID_SPECIFICATION", "PENDING_PEER", "REJECTED_BY_PEER"]}, "state_info": {"type": "object", "description": "State-specific help or error information", "properties": {"message": {"type": "string", "description": "Human-readable information message"}, "type": {"type": "string", "description": "Type of state information"}, "warnings": {"type": "array", "description": "List of warnings if any", "items": {"type": "object", "properties": {"conflicting_aws_account_id": {"type": "string", "description": "AWS account id of conflicting VPC"}, "conflicting_aws_vpc_id": {"type": "string", "description": "VPC id which is conflicting with the current one"}, "conflicting_aws_vpc_peering_connection_id": {"type": "string", "description": "AWS VPC connection id which is conflicting with current VPC"}, "message": {"type": "string", "description": "Warning message to be shown to the user"}, "type": {"type": "string", "description": "Type of warning", "enum": ["overlapping-peer-vpc-ip-ranges", "upcloud-peering-in-error"]}}, "required": ["message", "type"]}}}, "required": ["message", "type"]}, "update_time": {"type": "string", "maxLength": 36, "description": "Timestamp of last change to the VPC peering connection"}, "user_peer_network_cidrs": {"type": "array", "maxItems": 128, "description": "List of private IPv4 ranges to route through the peering connection", "items": {"type": "string"}}, "vpc_peering_connection_type": {"type": "string", "description": "Type of network connection from the VPC", "enum": ["aws-tgw-vpc-attachment", "aws-vpc-peering-connection", "azure-vnet-peering", "do-vpc-peering", "google-vpc-peering", "upcloud-vpc-peering"]}}, "required": ["create_time", "peer_azure_app_id", "peer_azure_tenant_id", "peer_cloud_account", "peer_resource_group", "peer_vpc", "state", "state_info", "update_time", "user_peer_network_cidrs", "vpc_peering_connection_type"]}}, "pending_build_only_peering_connections": {"type": "string", "maxLength": 36, "description": "VPC rebuild is scheduled"}, "project_vpc_id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "Project VPC ID"}, "state": {"type": "string", "description": "Project VPC state", "enum": ["ACTIVE", "APPROVED", "DELETED", "DELETING"]}, "update_time": {"type": "string", "maxLength": 36, "description": "Timestamp of last change to VPC"}}, "required": ["cloud_name", "create_time", "network_cidr", "peering_connections", "project_vpc_id", "state", "update_time"]}, "VpcDeleteResponse": {"type": "object", "description": "VpcDeleteResponse", "properties": {"cloud_name": {"type": "string", "maxLength": 256, "description": "Target cloud"}, "create_time": {"type": "string", "maxLength": 36, "description": "VPC creation timestamp"}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "network_cidr": {"type": "string", "maxLength": 18, "description": "IPv4 network range CIDR"}, "peering_connections": {"type": "array", "description": "List of peering connections", "items": {"type": "object", "properties": {"create_time": {"type": "string", "maxLength": 36, "description": "VPC peering connection creation timestamp"}, "peer_azure_app_id": {"type": "string", "maxLength": 1024, "description": "Azure app registration id in UUID4 form that is allowed to create a peering to the peer vnet"}, "peer_azure_tenant_id": {"type": "string", "maxLength": 1024, "description": "Azure tenant id in UUID4 form"}, "peer_cloud_account": {"type": "string", "maxLength": 1024, "description": "AWS account ID, GCP project ID, Azure subscription ID of the peered VPC, or string &quot;upcloud&quot; for UpCloud peering connections"}, "peer_region": {"type": "string", "maxLength": 1024, "description": "The peer VPC's region in AWS clouds. Always null in GCP, Azure, or UpCloud clouds"}, "peer_resource_group": {"type": "string", "maxLength": 1024, "description": "Azure resource group name of the peered VPC"}, "peer_vpc": {"type": "string", "maxLength": 1024, "description": "AWS VPC ID, GCP VPC network name, Azure Virtual network name of the peered VPC, or UpCloud VPC ID"}, "peering_connection_id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "VPC peering connection ID"}, "state": {"type": "string", "description": "Project VPC peering connection state", "enum": ["ACTIVE", "APPROVED", "APPROVED_PEER_REQUESTED", "DELETED", "DELETED_BY_PEER", "DELETING", "ERROR", "INVALID_SPECIFICATION", "PENDING_PEER", "REJECTED_BY_PEER"]}, "state_info": {"type": "object", "description": "State-specific help or error information", "properties": {"message": {"type": "string", "description": "Human-readable information message"}, "type": {"type": "string", "description": "Type of state information"}, "warnings": {"type": "array", "description": "List of warnings if any", "items": {"type": "object", "properties": {"conflicting_aws_account_id": {"type": "string", "description": "AWS account id of conflicting VPC"}, "conflicting_aws_vpc_id": {"type": "string", "description": "VPC id which is conflicting with the current one"}, "conflicting_aws_vpc_peering_connection_id": {"type": "string", "description": "AWS VPC connection id which is conflicting with current VPC"}, "message": {"type": "string", "description": "Warning message to be shown to the user"}, "type": {"type": "string", "description": "Type of warning", "enum": ["overlapping-peer-vpc-ip-ranges", "upcloud-peering-in-error"]}}, "required": ["message", "type"]}}}, "required": ["message", "type"]}, "update_time": {"type": "string", "maxLength": 36, "description": "Timestamp of last change to the VPC peering connection"}, "user_peer_network_cidrs": {"type": "array", "maxItems": 128, "description": "List of private IPv4 ranges to route through the peering connection", "items": {"type": "string"}}, "vpc_peering_connection_type": {"type": "string", "description": "Type of network connection from the VPC", "enum": ["aws-tgw-vpc-attachment", "aws-vpc-peering-connection", "azure-vnet-peering", "do-vpc-peering", "google-vpc-peering", "upcloud-vpc-peering"]}}, "required": ["create_time", "peer_azure_app_id", "peer_azure_tenant_id", "peer_cloud_account", "peer_resource_group", "peer_vpc", "state", "state_info", "update_time", "user_peer_network_cidrs", "vpc_peering_connection_type"]}}, "pending_build_only_peering_connections": {"type": "string", "maxLength": 36, "description": "VPC rebuild is scheduled"}, "project_vpc_id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "Project VPC ID"}, "state": {"type": "string", "description": "Project VPC state", "enum": ["ACTIVE", "APPROVED", "DELETED", "DELETING"]}, "update_time": {"type": "string", "maxLength": 36, "description": "Timestamp of last change to VPC"}}, "required": ["cloud_name", "create_time", "network_cidr", "peering_connections", "project_vpc_id", "state", "update_time"]}, "VpcGetResponse": {"type": "object", "description": "VpcGetResponse", "properties": {"cloud_name": {"type": "string", "maxLength": 256, "description": "Target cloud"}, "create_time": {"type": "string", "maxLength": 36, "description": "VPC creation timestamp"}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "network_cidr": {"type": "string", "maxLength": 18, "description": "IPv4 network range CIDR"}, "peering_connections": {"type": "array", "description": "List of peering connections", "items": {"type": "object", "properties": {"create_time": {"type": "string", "maxLength": 36, "description": "VPC peering connection creation timestamp"}, "peer_azure_app_id": {"type": "string", "maxLength": 1024, "description": "Azure app registration id in UUID4 form that is allowed to create a peering to the peer vnet"}, "peer_azure_tenant_id": {"type": "string", "maxLength": 1024, "description": "Azure tenant id in UUID4 form"}, "peer_cloud_account": {"type": "string", "maxLength": 1024, "description": "AWS account ID, GCP project ID, Azure subscription ID of the peered VPC, or string &quot;upcloud&quot; for UpCloud peering connections"}, "peer_region": {"type": "string", "maxLength": 1024, "description": "The peer VPC's region in AWS clouds. Always null in GCP, Azure, or UpCloud clouds"}, "peer_resource_group": {"type": "string", "maxLength": 1024, "description": "Azure resource group name of the peered VPC"}, "peer_vpc": {"type": "string", "maxLength": 1024, "description": "AWS VPC ID, GCP VPC network name, Azure Virtual network name of the peered VPC, or UpCloud VPC ID"}, "peering_connection_id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "VPC peering connection ID"}, "state": {"type": "string", "description": "Project VPC peering connection state", "enum": ["ACTIVE", "APPROVED", "APPROVED_PEER_REQUESTED", "DELETED", "DELETED_BY_PEER", "DELETING", "ERROR", "INVALID_SPECIFICATION", "PENDING_PEER", "REJECTED_BY_PEER"]}, "state_info": {"type": "object", "description": "State-specific help or error information", "properties": {"message": {"type": "string", "description": "Human-readable information message"}, "type": {"type": "string", "description": "Type of state information"}, "warnings": {"type": "array", "description": "List of warnings if any", "items": {"type": "object", "properties": {"conflicting_aws_account_id": {"type": "string", "description": "AWS account id of conflicting VPC"}, "conflicting_aws_vpc_id": {"type": "string", "description": "VPC id which is conflicting with the current one"}, "conflicting_aws_vpc_peering_connection_id": {"type": "string", "description": "AWS VPC connection id which is conflicting with current VPC"}, "message": {"type": "string", "description": "Warning message to be shown to the user"}, "type": {"type": "string", "description": "Type of warning", "enum": ["overlapping-peer-vpc-ip-ranges", "upcloud-peering-in-error"]}}, "required": ["message", "type"]}}}, "required": ["message", "type"]}, "update_time": {"type": "string", "maxLength": 36, "description": "Timestamp of last change to the VPC peering connection"}, "user_peer_network_cidrs": {"type": "array", "maxItems": 128, "description": "List of private IPv4 ranges to route through the peering connection", "items": {"type": "string"}}, "vpc_peering_connection_type": {"type": "string", "description": "Type of network connection from the VPC", "enum": ["aws-tgw-vpc-attachment", "aws-vpc-peering-connection", "azure-vnet-peering", "do-vpc-peering", "google-vpc-peering", "upcloud-vpc-peering"]}}, "required": ["create_time", "peer_azure_app_id", "peer_azure_tenant_id", "peer_cloud_account", "peer_resource_group", "peer_vpc", "state", "state_info", "update_time", "user_peer_network_cidrs", "vpc_peering_connection_type"]}}, "pending_build_only_peering_connections": {"type": "string", "maxLength": 36, "description": "VPC rebuild is scheduled"}, "project_vpc_id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "Project VPC ID"}, "state": {"type": "string", "description": "Project VPC state", "enum": ["ACTIVE", "APPROVED", "DELETED", "DELETING"]}, "update_time": {"type": "string", "maxLength": 36, "description": "Timestamp of last change to VPC"}}, "required": ["cloud_name", "create_time", "network_cidr", "peering_connections", "project_vpc_id", "state", "update_time"]}, "VpcListResponse": {"type": "object", "description": "VpcListResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "vpcs": {"type": "array", "description": "List of VPCs", "items": {"type": "object", "properties": {"cloud_name": {"type": "string", "maxLength": 256, "description": "Target cloud"}, "create_time": {"type": "string", "maxLength": 36, "description": "VPC creation timestamp"}, "network_cidr": {"type": "string", "maxLength": 18, "description": "IPv4 network range CIDR"}, "project_vpc_id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "Project VPC ID"}, "state": {"type": "string", "description": "Project VPC state", "enum": ["ACTIVE", "APPROVED", "DELETED", "DELETING"]}, "update_time": {"type": "string", "maxLength": 36, "description": "Timestamp of last change to VPC"}}, "required": ["cloud_name", "create_time", "network_cidr", "project_vpc_id", "state", "update_time"]}}}, "required": ["vpcs"]}, "VpcPeeringConnectionCreateRequestBody": {"type": "object", "description": "VpcPeeringConnectionCreateRequestBody", "properties": {"peer_azure_app_id": {"type": "string", "maxLength": 1024, "description": "Azure app registration id in UUID4 form that is allowed to create a peering to the peer vnet"}, "peer_azure_tenant_id": {"type": "string", "maxLength": 1024, "description": "Azure tenant id in UUID4 form"}, "peer_cloud_account": {"type": "string", "maxLength": 1024, "description": "AWS account ID, GCP project ID, Azure subscription ID of the peered VPC, or string &quot;upcloud&quot; for UpCloud peering connections"}, "peer_region": {"type": "string", "maxLength": 1024, "description": "The peer VPC's region on AWS. May be omitted or set to null if the peer is in the same region as the Aiven project VPC. Omit or set to null on GCP, Azure, or UpCloud."}, "peer_resource_group": {"type": "string", "maxLength": 1024, "description": "Azure resource group name of the peered VPC"}, "peer_vpc": {"type": "string", "maxLength": 1024, "description": "AWS VPC ID, GCP VPC network name, Azure Virtual network name of the peered VPC, or UpCloud VPC ID"}, "user_peer_network_cidrs": {"type": "array", "maxItems": 128, "description": "List of private IPv4 ranges to route through the peering connection", "items": {"type": "string"}}}, "required": ["peer_cloud_account", "peer_vpc"]}, "VpcPeeringConnectionCreateResponse": {"type": "object", "description": "VpcPeeringConnectionCreateResponse", "properties": {"create_time": {"type": "string", "maxLength": 36, "description": "VPC peering connection creation timestamp"}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "peer_azure_app_id": {"type": "string", "maxLength": 1024, "description": "Azure app registration id in UUID4 form that is allowed to create a peering to the peer vnet"}, "peer_azure_tenant_id": {"type": "string", "maxLength": 1024, "description": "Azure tenant id in UUID4 form"}, "peer_cloud_account": {"type": "string", "maxLength": 1024, "description": "AWS account ID, GCP project ID, Azure subscription ID of the peered VPC, or string &quot;upcloud&quot; for UpCloud peering connections"}, "peer_region": {"type": "string", "maxLength": 1024, "description": "The peer VPC's region in AWS clouds. Always null in GCP, Azure, or UpCloud clouds"}, "peer_resource_group": {"type": "string", "maxLength": 1024, "description": "Azure resource group name of the peered VPC"}, "peer_vpc": {"type": "string", "maxLength": 1024, "description": "AWS VPC ID, GCP VPC network name, Azure Virtual network name of the peered VPC, or UpCloud VPC ID"}, "peering_connection_id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "VPC peering connection ID"}, "state": {"type": "string", "description": "Project VPC peering connection state", "enum": ["ACTIVE", "APPROVED", "APPROVED_PEER_REQUESTED", "DELETED", "DELETED_BY_PEER", "DELETING", "ERROR", "INVALID_SPECIFICATION", "PENDING_PEER", "REJECTED_BY_PEER"]}, "state_info": {"type": "object", "description": "State-specific help or error information", "properties": {"message": {"type": "string", "description": "Human-readable information message"}, "type": {"type": "string", "description": "Type of state information"}, "warnings": {"type": "array", "description": "List of warnings if any", "items": {"type": "object", "properties": {"conflicting_aws_account_id": {"type": "string", "description": "AWS account id of conflicting VPC"}, "conflicting_aws_vpc_id": {"type": "string", "description": "VPC id which is conflicting with the current one"}, "conflicting_aws_vpc_peering_connection_id": {"type": "string", "description": "AWS VPC connection id which is conflicting with current VPC"}, "message": {"type": "string", "description": "Warning message to be shown to the user"}, "type": {"type": "string", "description": "Type of warning", "enum": ["overlapping-peer-vpc-ip-ranges", "upcloud-peering-in-error"]}}, "required": ["message", "type"]}}}, "required": ["message", "type"]}, "update_time": {"type": "string", "maxLength": 36, "description": "Timestamp of last change to the VPC peering connection"}, "user_peer_network_cidrs": {"type": "array", "maxItems": 128, "description": "List of private IPv4 ranges to route through the peering connection", "items": {"type": "string"}}, "vpc_peering_connection_type": {"type": "string", "description": "Type of network connection from the VPC", "enum": ["aws-tgw-vpc-attachment", "aws-vpc-peering-connection", "azure-vnet-peering", "do-vpc-peering", "google-vpc-peering", "upcloud-vpc-peering"]}}, "required": ["create_time", "peer_azure_app_id", "peer_azure_tenant_id", "peer_cloud_account", "peer_resource_group", "peer_vpc", "state", "state_info", "update_time", "user_peer_network_cidrs", "vpc_peering_connection_type"]}, "VpcPeeringConnectionDeleteResponse": {"type": "object", "description": "VpcPeeringConnectionDeleteResponse", "properties": {"create_time": {"type": "string", "maxLength": 36, "description": "VPC peering connection creation timestamp"}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "peer_azure_app_id": {"type": "string", "maxLength": 1024, "description": "Azure app registration id in UUID4 form that is allowed to create a peering to the peer vnet"}, "peer_azure_tenant_id": {"type": "string", "maxLength": 1024, "description": "Azure tenant id in UUID4 form"}, "peer_cloud_account": {"type": "string", "maxLength": 1024, "description": "AWS account ID, GCP project ID, Azure subscription ID of the peered VPC, or string &quot;upcloud&quot; for UpCloud peering connections"}, "peer_region": {"type": "string", "maxLength": 1024, "description": "The peer VPC's region in AWS clouds. Always null in GCP, Azure, or UpCloud clouds"}, "peer_resource_group": {"type": "string", "maxLength": 1024, "description": "Azure resource group name of the peered VPC"}, "peer_vpc": {"type": "string", "maxLength": 1024, "description": "AWS VPC ID, GCP VPC network name, Azure Virtual network name of the peered VPC, or UpCloud VPC ID"}, "peering_connection_id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "VPC peering connection ID"}, "state": {"type": "string", "description": "Project VPC peering connection state", "enum": ["ACTIVE", "APPROVED", "APPROVED_PEER_REQUESTED", "DELETED", "DELETED_BY_PEER", "DELETING", "ERROR", "INVALID_SPECIFICATION", "PENDING_PEER", "REJECTED_BY_PEER"]}, "state_info": {"type": "object", "description": "State-specific help or error information", "properties": {"message": {"type": "string", "description": "Human-readable information message"}, "type": {"type": "string", "description": "Type of state information"}, "warnings": {"type": "array", "description": "List of warnings if any", "items": {"type": "object", "properties": {"conflicting_aws_account_id": {"type": "string", "description": "AWS account id of conflicting VPC"}, "conflicting_aws_vpc_id": {"type": "string", "description": "VPC id which is conflicting with the current one"}, "conflicting_aws_vpc_peering_connection_id": {"type": "string", "description": "AWS VPC connection id which is conflicting with current VPC"}, "message": {"type": "string", "description": "Warning message to be shown to the user"}, "type": {"type": "string", "description": "Type of warning", "enum": ["overlapping-peer-vpc-ip-ranges", "upcloud-peering-in-error"]}}, "required": ["message", "type"]}}}, "required": ["message", "type"]}, "update_time": {"type": "string", "maxLength": 36, "description": "Timestamp of last change to the VPC peering connection"}, "user_peer_network_cidrs": {"type": "array", "maxItems": 128, "description": "List of private IPv4 ranges to route through the peering connection", "items": {"type": "string"}}, "vpc_peering_connection_type": {"type": "string", "description": "Type of network connection from the VPC", "enum": ["aws-tgw-vpc-attachment", "aws-vpc-peering-connection", "azure-vnet-peering", "do-vpc-peering", "google-vpc-peering", "upcloud-vpc-peering"]}}, "required": ["create_time", "peer_azure_app_id", "peer_azure_tenant_id", "peer_cloud_account", "peer_resource_group", "peer_vpc", "state", "state_info", "update_time", "user_peer_network_cidrs", "vpc_peering_connection_type"]}, "VpcPeeringConnectionUpdateRequestBody": {"type": "object", "description": "VpcPeeringConnectionUpdateRequestBody", "properties": {"add": {"type": "array", "maxItems": 128, "description": "CIDRs to add using a specific peering connection", "items": {"type": "object", "properties": {"cidr": {"type": "string", "maxLength": 18, "description": "IPv4 network range CIDR"}, "peer_cloud_account": {"type": "string", "maxLength": 1024, "description": "AWS account ID, GCP project ID, Azure subscription ID of the peered VPC, or string &quot;upcloud&quot; for UpCloud peering connections"}, "peer_resource_group": {"type": "string", "maxLength": 1024, "description": "Azure resource group name of the peered VPC"}, "peer_vpc": {"type": "string", "maxLength": 1024, "description": "AWS VPC ID, GCP VPC network name, Azure Virtual network name of the peered VPC, or UpCloud VPC ID"}}, "required": ["cidr", "peer_cloud_account", "peer_vpc"]}}, "delete": {"type": "array", "maxItems": 128, "description": "Network CIDRs to remove from the VPC's peering connections' user_peer_network_cidrs", "items": {"type": "string"}}}}, "VpcPeeringConnectionUpdateResponse": {"type": "object", "description": "VpcPeeringConnectionUpdateResponse", "properties": {"cloud_name": {"type": "string", "maxLength": 256, "description": "Target cloud"}, "create_time": {"type": "string", "maxLength": 36, "description": "VPC creation timestamp"}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "network_cidr": {"type": "string", "maxLength": 18, "description": "IPv4 network range CIDR"}, "peering_connections": {"type": "array", "description": "List of peering connections", "items": {"type": "object", "properties": {"create_time": {"type": "string", "maxLength": 36, "description": "VPC peering connection creation timestamp"}, "peer_azure_app_id": {"type": "string", "maxLength": 1024, "description": "Azure app registration id in UUID4 form that is allowed to create a peering to the peer vnet"}, "peer_azure_tenant_id": {"type": "string", "maxLength": 1024, "description": "Azure tenant id in UUID4 form"}, "peer_cloud_account": {"type": "string", "maxLength": 1024, "description": "AWS account ID, GCP project ID, Azure subscription ID of the peered VPC, or string &quot;upcloud&quot; for UpCloud peering connections"}, "peer_region": {"type": "string", "maxLength": 1024, "description": "The peer VPC's region in AWS clouds. Always null in GCP, Azure, or UpCloud clouds"}, "peer_resource_group": {"type": "string", "maxLength": 1024, "description": "Azure resource group name of the peered VPC"}, "peer_vpc": {"type": "string", "maxLength": 1024, "description": "AWS VPC ID, GCP VPC network name, Azure Virtual network name of the peered VPC, or UpCloud VPC ID"}, "peering_connection_id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "VPC peering connection ID"}, "state": {"type": "string", "description": "Project VPC peering connection state", "enum": ["ACTIVE", "APPROVED", "APPROVED_PEER_REQUESTED", "DELETED", "DELETED_BY_PEER", "DELETING", "ERROR", "INVALID_SPECIFICATION", "PENDING_PEER", "REJECTED_BY_PEER"]}, "state_info": {"type": "object", "description": "State-specific help or error information", "properties": {"message": {"type": "string", "description": "Human-readable information message"}, "type": {"type": "string", "description": "Type of state information"}, "warnings": {"type": "array", "description": "List of warnings if any", "items": {"type": "object", "properties": {"conflicting_aws_account_id": {"type": "string", "description": "AWS account id of conflicting VPC"}, "conflicting_aws_vpc_id": {"type": "string", "description": "VPC id which is conflicting with the current one"}, "conflicting_aws_vpc_peering_connection_id": {"type": "string", "description": "AWS VPC connection id which is conflicting with current VPC"}, "message": {"type": "string", "description": "Warning message to be shown to the user"}, "type": {"type": "string", "description": "Type of warning", "enum": ["overlapping-peer-vpc-ip-ranges", "upcloud-peering-in-error"]}}, "required": ["message", "type"]}}}, "required": ["message", "type"]}, "update_time": {"type": "string", "maxLength": 36, "description": "Timestamp of last change to the VPC peering connection"}, "user_peer_network_cidrs": {"type": "array", "maxItems": 128, "description": "List of private IPv4 ranges to route through the peering connection", "items": {"type": "string"}}, "vpc_peering_connection_type": {"type": "string", "description": "Type of network connection from the VPC", "enum": ["aws-tgw-vpc-attachment", "aws-vpc-peering-connection", "azure-vnet-peering", "do-vpc-peering", "google-vpc-peering", "upcloud-vpc-peering"]}}, "required": ["create_time", "peer_azure_app_id", "peer_azure_tenant_id", "peer_cloud_account", "peer_resource_group", "peer_vpc", "state", "state_info", "update_time", "user_peer_network_cidrs", "vpc_peering_connection_type"]}}, "pending_build_only_peering_connections": {"type": "string", "maxLength": 36, "description": "VPC rebuild is scheduled"}, "project_vpc_id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "Project VPC ID"}, "state": {"type": "string", "description": "Project VPC state", "enum": ["ACTIVE", "APPROVED", "DELETED", "DELETING"]}, "update_time": {"type": "string", "maxLength": 36, "description": "Timestamp of last change to VPC"}}, "required": ["cloud_name", "create_time", "network_cidr", "peering_connections", "project_vpc_id", "state", "update_time"]}, "VpcPeeringConnectionWithRegionDeleteResponse": {"type": "object", "description": "VpcPeeringConnectionWithRegionDeleteResponse", "properties": {"create_time": {"type": "string", "maxLength": 36, "description": "VPC peering connection creation timestamp"}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "peer_azure_app_id": {"type": "string", "maxLength": 1024, "description": "Azure app registration id in UUID4 form that is allowed to create a peering to the peer vnet"}, "peer_azure_tenant_id": {"type": "string", "maxLength": 1024, "description": "Azure tenant id in UUID4 form"}, "peer_cloud_account": {"type": "string", "maxLength": 1024, "description": "AWS account ID, GCP project ID, Azure subscription ID of the peered VPC, or string &quot;upcloud&quot; for UpCloud peering connections"}, "peer_region": {"type": "string", "maxLength": 1024, "description": "The peer VPC's region in AWS clouds. Always null in GCP, Azure, or UpCloud clouds"}, "peer_resource_group": {"type": "string", "maxLength": 1024, "description": "Azure resource group name of the peered VPC"}, "peer_vpc": {"type": "string", "maxLength": 1024, "description": "AWS VPC ID, GCP VPC network name, Azure Virtual network name of the peered VPC, or UpCloud VPC ID"}, "peering_connection_id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "VPC peering connection ID"}, "state": {"type": "string", "description": "Project VPC peering connection state", "enum": ["ACTIVE", "APPROVED", "APPROVED_PEER_REQUESTED", "DELETED", "DELETED_BY_PEER", "DELETING", "ERROR", "INVALID_SPECIFICATION", "PENDING_PEER", "REJECTED_BY_PEER"]}, "state_info": {"type": "object", "description": "State-specific help or error information", "properties": {"message": {"type": "string", "description": "Human-readable information message"}, "type": {"type": "string", "description": "Type of state information"}, "warnings": {"type": "array", "description": "List of warnings if any", "items": {"type": "object", "properties": {"conflicting_aws_account_id": {"type": "string", "description": "AWS account id of conflicting VPC"}, "conflicting_aws_vpc_id": {"type": "string", "description": "VPC id which is conflicting with the current one"}, "conflicting_aws_vpc_peering_connection_id": {"type": "string", "description": "AWS VPC connection id which is conflicting with current VPC"}, "message": {"type": "string", "description": "Warning message to be shown to the user"}, "type": {"type": "string", "description": "Type of warning", "enum": ["overlapping-peer-vpc-ip-ranges", "upcloud-peering-in-error"]}}, "required": ["message", "type"]}}}, "required": ["message", "type"]}, "update_time": {"type": "string", "maxLength": 36, "description": "Timestamp of last change to the VPC peering connection"}, "user_peer_network_cidrs": {"type": "array", "maxItems": 128, "description": "List of private IPv4 ranges to route through the peering connection", "items": {"type": "string"}}, "vpc_peering_connection_type": {"type": "string", "description": "Type of network connection from the VPC", "enum": ["aws-tgw-vpc-attachment", "aws-vpc-peering-connection", "azure-vnet-peering", "do-vpc-peering", "google-vpc-peering", "upcloud-vpc-peering"]}}, "required": ["create_time", "peer_azure_app_id", "peer_azure_tenant_id", "peer_cloud_account", "peer_resource_group", "peer_vpc", "state", "state_info", "update_time", "user_peer_network_cidrs", "vpc_peering_connection_type"]}, "VpcPeeringConnectionWithResourceGroupDeleteResponse": {"type": "object", "description": "VpcPeeringConnectionWithResourceGroupDeleteResponse", "properties": {"create_time": {"type": "string", "maxLength": 36, "description": "VPC peering connection creation timestamp"}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "peer_azure_app_id": {"type": "string", "maxLength": 1024, "description": "Azure app registration id in UUID4 form that is allowed to create a peering to the peer vnet"}, "peer_azure_tenant_id": {"type": "string", "maxLength": 1024, "description": "Azure tenant id in UUID4 form"}, "peer_cloud_account": {"type": "string", "maxLength": 1024, "description": "AWS account ID, GCP project ID, Azure subscription ID of the peered VPC, or string &quot;upcloud&quot; for UpCloud peering connections"}, "peer_region": {"type": "string", "maxLength": 1024, "description": "The peer VPC's region in AWS clouds. Always null in GCP, Azure, or UpCloud clouds"}, "peer_resource_group": {"type": "string", "maxLength": 1024, "description": "Azure resource group name of the peered VPC"}, "peer_vpc": {"type": "string", "maxLength": 1024, "description": "AWS VPC ID, GCP VPC network name, Azure Virtual network name of the peered VPC, or UpCloud VPC ID"}, "peering_connection_id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "VPC peering connection ID"}, "state": {"type": "string", "description": "Project VPC peering connection state", "enum": ["ACTIVE", "APPROVED", "APPROVED_PEER_REQUESTED", "DELETED", "DELETED_BY_PEER", "DELETING", "ERROR", "INVALID_SPECIFICATION", "PENDING_PEER", "REJECTED_BY_PEER"]}, "state_info": {"type": "object", "description": "State-specific help or error information", "properties": {"message": {"type": "string", "description": "Human-readable information message"}, "type": {"type": "string", "description": "Type of state information"}, "warnings": {"type": "array", "description": "List of warnings if any", "items": {"type": "object", "properties": {"conflicting_aws_account_id": {"type": "string", "description": "AWS account id of conflicting VPC"}, "conflicting_aws_vpc_id": {"type": "string", "description": "VPC id which is conflicting with the current one"}, "conflicting_aws_vpc_peering_connection_id": {"type": "string", "description": "AWS VPC connection id which is conflicting with current VPC"}, "message": {"type": "string", "description": "Warning message to be shown to the user"}, "type": {"type": "string", "description": "Type of warning", "enum": ["overlapping-peer-vpc-ip-ranges", "upcloud-peering-in-error"]}}, "required": ["message", "type"]}}}, "required": ["message", "type"]}, "update_time": {"type": "string", "maxLength": 36, "description": "Timestamp of last change to the VPC peering connection"}, "user_peer_network_cidrs": {"type": "array", "maxItems": 128, "description": "List of private IPv4 ranges to route through the peering connection", "items": {"type": "string"}}, "vpc_peering_connection_type": {"type": "string", "description": "Type of network connection from the VPC", "enum": ["aws-tgw-vpc-attachment", "aws-vpc-peering-connection", "azure-vnet-peering", "do-vpc-peering", "google-vpc-peering", "upcloud-vpc-peering"]}}, "required": ["create_time", "peer_azure_app_id", "peer_azure_tenant_id", "peer_cloud_account", "peer_resource_group", "peer_vpc", "state", "state_info", "update_time", "user_peer_network_cidrs", "vpc_peering_connection_type"]}, "ProjectCreditsClaimRequestBody": {"type": "object", "description": "ProjectCreditsClaimRequestBody", "properties": {"code": {"type": "string", "maxLength": 1024, "description": "Credit code"}}, "required": ["code"]}, "ProjectCreditsClaimResponse": {"type": "object", "description": "ProjectCreditsClaimResponse", "properties": {"credit": {"type": "object", "description": "Assigned credit", "properties": {"code": {"type": "string", "maxLength": 1024, "description": "Credit code"}, "expire_time": {"type": "string", "maxLength": 36, "description": "Timestamp in ISO 8601 format, always in UTC"}, "remaining_value": {"type": "string", "description": "Remaining credit value"}, "start_time": {"type": "string", "maxLength": 36, "description": "Timestamp in ISO 8601 format, always in UTC"}, "type": {"type": "string", "description": "Credit type", "enum": ["discount", "employee", "evaluation", "internal", "other", "outage", "partner", "promotion", "purchase", "referral", "sponsorship", "trial", "trial_over"]}, "value": {"type": "string", "description": "Original credit value, or for expired credits, the consumed credit value"}}}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}, "required": ["credit"]}, "ProjectCreditsListResponse": {"type": "object", "description": "ProjectCreditsListResponse", "properties": {"credits": {"type": "array", "description": "List of credits assigned to a project", "items": {"type": "object", "properties": {"code": {"type": "string", "maxLength": 1024, "description": "Credit code"}, "expire_time": {"type": "string", "maxLength": 36, "description": "Timestamp in ISO 8601 format, always in UTC"}, "remaining_value": {"type": "string", "description": "Remaining credit value"}, "start_time": {"type": "string", "maxLength": 36, "description": "Timestamp in ISO 8601 format, always in UTC"}, "type": {"type": "string", "description": "Credit type", "enum": ["discount", "employee", "evaluation", "internal", "other", "outage", "partner", "promotion", "purchase", "referral", "sponsorship", "trial", "trial_over"]}, "value": {"type": "string", "description": "Original credit value, or for expired credits, the consumed credit value"}}}}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}, "required": ["credits"]}, "ProjectInvoiceListResponse": {"type": "object", "description": "ProjectInvoiceListResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "invoices": {"type": "array", "description": "List of project invoices", "items": {"type": "object", "properties": {"billing_group_id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "Billing group ID"}, "billing_group_name": {"type": "string", "maxLength": 128, "description": "Billing group name"}, "billing_group_state": {"type": "string", "description": "Billing group state", "enum": ["active", "deleted"]}, "currency": {"type": "string", "description": "Billing currency", "enum": ["AUD", "CAD", "CHF", "DKK", "EUR", "GBP", "JPY", "NOK", "NZD", "SEK", "SGD", "USD"]}, "download_cookie": {"type": "string", "description": "Authentication cookie for downloads"}, "due_date": {"type": "string", "description": "The time when the invoice is due"}, "generated_at": {"type": "string", "description": "The time when the invoice was generated"}, "invoice_number": {"type": "string", "maxLength": 128, "description": "Unique invoice reference code"}, "issue_date": {"type": "string", "description": "The time when the invoice was issued"}, "period_begin": {"type": "string", "maxLength": 36, "description": "Period begin"}, "period_end": {"type": "string", "maxLength": 36, "description": "Period end"}, "state": {"type": "string", "description": "State of this invoice", "enum": ["accrual", "consolidated", "due", "estimate", "failed_credit_card_charge", "failed_no_credit_card", "mailed", "no_payment_expected", "paid", "partner_metering", "uncollectible", "waived", "due_only_project_charges_calculated", "estimate_only_project_charges_calculated"]}, "total_inc_vat": {"type": "string", "description": "Total including taxes"}, "total_vat_zero": {"type": "string", "description": "Total excluding taxes"}}, "required": ["billing_group_id", "billing_group_name", "billing_group_state", "currency", "download_cookie", "invoice_number", "period_begin", "period_end", "state", "total_inc_vat", "total_vat_zero"]}}, "message": {"type": "string", "description": "Printable result of the request"}}, "required": ["invoices"]}, "ProjectKmsGetCAResponse": {"type": "object", "description": "ProjectKmsGetCAResponse", "properties": {"certificate": {"type": "string", "description": "PEM encoded certificate"}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}, "required": ["certificate"]}, "CMKAccessCheckTriggerResponse": {"type": "object", "description": "CMKAccessCheckTriggerResponse", "properties": {"cmk": {"type": "object", "description": "CMK", "properties": {"created_at": {"type": "string", "description": "Created At"}, "default_cmk": {"type": "boolean", "description": "Default Cmk"}, "id": {"type": "string", "description": "ID"}, "resource": {"type": "string", "description": "Resource"}, "updated_at": {"type": "string", "description": "Updated At"}}, "required": ["created_at", "default_cmk", "id", "resource", "updated_at"]}}, "required": ["cmk"]}, "CMKAccessorsListResponse": {"type": "object", "description": "CMKAccessorsListResponse", "properties": {"accessors": {"type": "object", "description": "CMKAccessors", "properties": {"aws": {"type": "object", "description": "CMKAccessorsAWS", "properties": {"principal": {"type": "string", "description": "Principal"}}, "required": ["principal"]}, "gcp": {"type": "object", "description": "CMKAccessorsGCP", "properties": {"access_group": {"type": "string", "description": "Access Group"}}, "required": ["access_group"]}, "oci": {"type": "object", "description": "CMKAccessorsOCI", "properties": {"access_group": {"type": "string", "description": "Access Group"}}, "required": ["access_group"]}}, "required": ["gcp", "oci"]}}, "required": ["accessors"]}, "CMKCreateRequestBody": {"type": "object", "description": "CMKCreateRequestBody", "properties": {"default_cmk": {"type": "boolean", "description": "Mark the created CMK as default for all newly created services.", "title": "Default CMK"}, "provider": {"type": "string", "description": "CMK provider", "enum": ["aws", "gcp", "oci"]}, "resource": {"type": "string", "minLength": 1, "maxLength": 512, "description": "Resource name"}}, "required": ["provider", "resource"]}, "CMKCreateResponse": {"type": "object", "description": "CMKCreateResponse", "properties": {"cmk": {"type": "object", "description": "CMK", "properties": {"created_at": {"type": "string", "description": "Created at"}, "default_cmk": {"type": "boolean", "description": "CMK is used as a default for all newly created services.", "title": "Default CMK"}, "id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "Customer Managed Key identifier (CMK ID)"}, "provider": {"type": "string", "description": "CMK provider", "enum": ["aws", "gcp", "oci"]}, "resource": {"type": "string", "description": "Resource name"}, "status": {"type": "string", "description": "Status", "enum": ["current", "old", "deleted"]}, "updated_at": {"type": "string", "description": "Updated at"}}, "required": ["created_at", "default_cmk", "id", "provider", "resource", "status", "updated_at"]}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}, "required": ["cmk"]}, "CMKDeleteResponse": {"type": "object", "description": "CMKDeleteResponse", "properties": {"cmk": {"type": "object", "description": "CMK", "properties": {"created_at": {"type": "string", "description": "Created At"}, "default_cmk": {"type": "boolean", "description": "Default Cmk"}, "id": {"type": "string", "description": "ID"}, "resource": {"type": "string", "description": "Resource"}, "updated_at": {"type": "string", "description": "Updated At"}}, "required": ["created_at", "default_cmk", "id", "resource", "updated_at"]}}, "required": ["cmk"]}, "CMKGetResponse": {"type": "object", "description": "CMKGetResponse", "properties": {"cmk": {"type": "object", "description": "CMK", "properties": {"created_at": {"type": "string", "description": "Created At"}, "default_cmk": {"type": "boolean", "description": "Default Cmk"}, "id": {"type": "string", "description": "ID"}, "resource": {"type": "string", "description": "Resource"}, "updated_at": {"type": "string", "description": "Updated At"}}, "required": ["created_at", "default_cmk", "id", "resource", "updated_at"]}}, "required": ["cmk"]}, "CMKListResponse": {"type": "object", "description": "CMKListResponse", "properties": {"cmks": {"type": "array", "description": "Cmks", "items": {"type": "object", "properties": {"created_at": {"type": "string", "description": "Created At"}, "default_cmk": {"type": "boolean", "description": "Default Cmk"}, "id": {"type": "string", "description": "ID"}, "resource": {"type": "string", "description": "Resource"}, "updated_at": {"type": "string", "description": "Updated At"}}, "required": ["created_at", "default_cmk", "id", "resource", "updated_at"]}}}, "required": ["cmks"]}, "CMKUpdateRequestBody": {"type": "object", "description": "CMKUpdateRequestBody", "properties": {"default_cmk": {"type": "boolean", "description": "Mark the created CMK as default for all newly created services.", "title": "Default CMK"}}}, "CMKUpdateResponse": {"type": "object", "description": "CMKUpdateResponse", "properties": {"cmk": {"type": "object", "description": "CMK", "properties": {"created_at": {"type": "string", "description": "Created At"}, "default_cmk": {"type": "boolean", "description": "Default Cmk"}, "id": {"type": "string", "description": "ID"}, "resource": {"type": "string", "description": "Resource"}, "updated_at": {"type": "string", "description": "Updated At"}}, "required": ["created_at", "default_cmk", "id", "resource", "updated_at"]}}, "required": ["cmk"]}, "AlloyDbOmniGoogleCloudPrivateKeyIdentifyResponse": {"type": "object", "description": "AlloyDbOmniGoogleCloudPrivateKeyIdentifyResponse", "properties": {"client_email": {"type": "string", "description": "Email address associated with a Google service account key registered for your Aiven for AlloyDB Omni service", "title": "Email address of Google service account key"}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "private_key_id": {"type": "string", "description": "ID of a Google service account key registered for your Aiven for AlloyDB Omni service", "title": "Google service account key ID"}}, "required": ["client_email", "private_key_id"]}, "AlloyDbOmniGoogleCloudPrivateKeyRemoveResponse": {"type": "object", "description": "AlloyDbOmniGoogleCloudPrivateKeyRemoveResponse", "properties": {"client_email": {"type": "string", "description": "Email address associated with a Google service account key registered for your Aiven for AlloyDB Omni service", "title": "Email address of Google service account key"}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "private_key_id": {"type": "string", "description": "ID of a Google service account key registered for your Aiven for AlloyDB Omni service", "title": "Google service account key ID"}}, "required": ["client_email", "private_key_id"]}, "AlloyDbOmniGoogleCloudPrivateKeySetRequestBody": {"type": "object", "description": "AlloyDbOmniGoogleCloudPrivateKeySetRequestBody", "properties": {"private_key": {"type": "string", "maxLength": 4096, "description": "This is a JSON object with the fields documented in https://cloud.google.com/iam/docs/creating-managing-service-account-keys .", "title": "Google Service Account Credentials"}}, "required": ["private_key"]}, "AlloyDbOmniGoogleCloudPrivateKeySetResponse": {"type": "object", "description": "AlloyDbOmniGoogleCloudPrivateKeySetResponse", "properties": {"client_email": {"type": "string", "description": "Email address associated with a Google service account key registered for your Aiven for AlloyDB Omni service", "title": "Email address of Google service account key"}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "private_key_id": {"type": "string", "description": "ID of a Google service account key registered for your Aiven for AlloyDB Omni service", "title": "Google service account key ID"}}, "required": ["client_email", "private_key_id"]}, "ServiceClickHouseCurrentQueriesResponse": {"type": "object", "description": "ServiceClickHouseCurrentQueriesResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "queries": {"type": "array", "description": "List of currently running queries", "items": {"type": "object", "properties": {"client_name": {"type": "string", "description": "Client name, if set"}, "database": {"type": "string", "description": "Database"}, "elapsed": {"type": "number", "description": "The time in seconds since request execution started"}, "query": {"type": "string", "description": "The query text"}, "user": {"type": "string", "description": "The user who made the query"}}}}}, "required": ["queries"]}, "ServiceClickHouseDatabaseCreateRequestBody": {"type": "object", "description": "ServiceClickHouseDatabaseCreateRequestBody", "properties": {"database": {"type": "string", "maxLength": 40, "description": "Service database name"}}, "required": ["database"]}, "ServiceClickHouseDatabaseCreateResponse": {"type": "object", "description": "ServiceClickHouseDatabaseCreateResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}}, "ServiceClickHouseDatabaseDeleteResponse": {"type": "object", "description": "ServiceClickHouseDatabaseDeleteResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}}, "ServiceClickHouseDatabaseListResponse": {"type": "object", "description": "ServiceClickHouseDatabaseListResponse", "properties": {"databases": {"type": "array", "description": "List of databases", "items": {"type": "object", "properties": {"engine": {"type": "string", "description": "Database engine"}, "name": {"type": "string", "description": "Database name"}, "required": {"type": "boolean", "description": "Required database"}, "state": {"type": "string", "description": "Database state", "enum": ["ok", "pending_creation", "pending_removal"]}}, "required": ["engine", "name", "required"]}}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}, "required": ["databases"]}, "ServiceClickHousePasswordResetRequestBody": {"type": "object", "description": "ServiceClickHousePasswordResetRequestBody", "properties": {"password": {"type": "string", "maxLength": 256, "description": "User password"}}, "required": ["password"]}, "ServiceClickHousePasswordResetResponse": {"type": "object", "description": "ServiceClickHousePasswordResetResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "password": {"type": "string", "description": "User password"}}, "required": ["password"]}, "ServiceClickHouseQueryRequestBody": {"type": "object", "description": "ServiceClickHouseQueryRequestBody", "properties": {"database": {"type": "string", "maxLength": 250, "description": "Service database name"}, "query": {"type": "string", "maxLength": 20000, "description": "Query"}}, "required": ["database", "query"]}, "ServiceClickHouseQueryResponse": {"type": "object", "description": "ServiceClickHouseQueryResponse", "properties": {"data": {"type": "array", "description": "Data", "items": {"type": "array", "properties": {}}}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "meta": {"type": "array", "description": "Meta", "items": {"type": "object", "properties": {"name": {"type": "string", "description": "Column name"}, "type": {"type": "string", "description": "Column type"}}, "required": ["name", "type"]}}, "summary": {"type": "object", "description": "Summary", "properties": {"elapsed_ns": {"type": "integer", "description": "Elapsed time in nanoseconds"}, "read_bytes": {"type": "integer", "description": "Number of bytes read"}, "read_rows": {"type": "integer", "description": "Number of rows read"}, "result_bytes": {"type": "integer", "description": "Number of bytes in the result"}, "result_rows": {"type": "integer", "description": "Number of rows in the result"}, "written_bytes": {"type": "integer", "description": "Number of bytes written"}, "written_rows": {"type": "integer", "description": "Number of rows written"}}}}, "required": ["data", "meta", "summary"]}, "ServiceClickHouseQueryStatsResponse": {"type": "object", "description": "ServiceClickHouseQueryStatsResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "queries": {"type": "array", "description": "List of query statistics", "items": {"type": "object", "properties": {"calls": {"type": "integer", "description": "Number of calls"}, "database": {"type": "string", "description": "Database"}, "max_time": {"type": "integer", "description": "Maximum query duration in milliseconds"}, "mean_time": {"type": "integer", "description": "Average query duration in milliseconds"}, "min_time": {"type": "integer", "description": "Minimum query duration in milliseconds"}, "p95_time": {"type": "integer", "description": "Query duration 95th percentile in milliseconds"}, "query": {"type": "string", "description": "Normalized query"}, "rows": {"type": "number", "description": "Average number of rows per call"}, "stddev_time": {"type": "integer", "description": "Query duration standard deviation in milliseconds"}, "total_time": {"type": "integer", "description": "Total duration of all calls in milliseconds"}}}}}, "required": ["queries"]}, "ServiceClickHouseTieredStorageSummaryResponse": {"type": "object", "description": "ServiceClickHouseTieredStorageSummaryResponse", "properties": {"current_cost": {"type": "string", "description": "The current cost in USD of tiered storage since the beginning of the billing period"}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "forecasted_cost": {"type": "string", "description": "The forecasted cost in USD of tiered storage in the billing period"}, "forecasted_rate": {"type": "string", "description": "The rate on GBs/hour used to calculate the forecasted cost"}, "message": {"type": "string", "description": "Printable result of the request"}, "storage_usage_history": {"type": "object", "description": "History of usage and cumulative costs in the billing period", "properties": {"hourly": {"type": "array", "description": "History by hour", "items": {"type": "object", "properties": {"estimated_cost": {"type": "string", "description": "The estimated cost in USD of tiered storage for this hour"}, "hour_start": {"type": "string", "maxLength": 36, "description": "Timestamp in ISO 8601 format, always in UTC"}, "peak_stored_bytes": {"type": "integer", "minimum": 0, "description": "Peak bytes stored on object storage at this hour"}}, "required": ["hour_start", "peak_stored_bytes"]}}}, "required": ["hourly"]}, "total_storage_usage": {"type": "integer", "minimum": 0, "description": "Total storage usage by tiered storage, in bytes"}}, "required": ["current_cost", "forecasted_cost", "storage_usage_history", "total_storage_usage"]}, "ServiceClickHouseUserCreateRequestBody": {"type": "object", "description": "ServiceClickHouseUserCreateRequestBody", "properties": {"name": {"type": "string", "maxLength": 64, "description": "User name"}, "password": {"type": "string", "maxLength": 256, "description": "User password"}, "roles": {"type": "array", "maxItems": 50, "description": "User roles", "items": {"type": "object", "properties": {"uuid": {"type": "string", "maxLength": 36, "description": "Role uuid"}}, "required": ["uuid"]}}}, "required": ["name"]}, "ServiceClickHouseUserCreateResponse": {"type": "object", "description": "ServiceClickHouseUserCreateResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "user": {"type": "object", "description": "User details", "properties": {"name": {"type": "string", "description": "User name"}, "password": {"type": "string", "description": "User password"}, "privileges": {"type": "array", "description": "User privileges", "items": {"type": "object", "properties": {"access_type": {"type": "string", "description": "Access type"}, "column": {"type": "string", "description": "Column name"}, "database": {"type": "string", "description": "Database name"}, "grant_option": {"type": "boolean", "description": "With grant option"}, "is_partial_revoke": {"type": "boolean", "description": "Is partial revoke"}, "table": {"type": "string", "description": "Table name"}}, "required": ["access_type", "column", "database", "grant_option", "is_partial_revoke", "table"]}}, "required": {"type": "boolean", "description": "Required user"}, "roles": {"type": "array", "description": "User roles", "items": {"type": "object", "properties": {"is_default": {"type": "boolean", "description": "Is default"}, "name": {"type": "string", "description": "Role name"}, "uuid": {"type": "string", "description": "Role uuid"}, "with_admin_option": {"type": "boolean", "description": "With admin option"}}, "required": ["is_default", "name", "uuid", "with_admin_option"]}}, "uuid": {"type": "string", "description": "User uuid"}}, "required": ["name", "privileges", "required", "roles", "uuid"]}}, "required": ["user"]}, "ServiceClickHouseUserDeleteResponse": {"type": "object", "description": "ServiceClickHouseUserDeleteResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}}, "ServiceClickHouseUserListResponse": {"type": "object", "description": "ServiceClickHouseUserListResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "users": {"type": "array", "description": "List of users", "items": {"type": "object", "properties": {"name": {"type": "string", "description": "User name"}, "password": {"type": "string", "description": "User password"}, "privileges": {"type": "array", "description": "User privileges", "items": {"type": "object", "properties": {"access_type": {"type": "string", "description": "Access type"}, "column": {"type": "string", "description": "Column name"}, "database": {"type": "string", "description": "Database name"}, "grant_option": {"type": "boolean", "description": "With grant option"}, "is_partial_revoke": {"type": "boolean", "description": "Is partial revoke"}, "table": {"type": "string", "description": "Table name"}}, "required": ["access_type", "column", "database", "grant_option", "is_partial_revoke", "table"]}}, "required": {"type": "boolean", "description": "Required user"}, "roles": {"type": "array", "description": "User roles", "items": {"type": "object", "properties": {"is_default": {"type": "boolean", "description": "Is default"}, "name": {"type": "string", "description": "Role name"}, "uuid": {"type": "string", "description": "Role uuid"}, "with_admin_option": {"type": "boolean", "description": "With admin option"}}, "required": ["is_default", "name", "uuid", "with_admin_option"]}}, "uuid": {"type": "string", "description": "User uuid"}}, "required": ["name", "privileges", "required", "roles", "uuid"]}}}, "required": ["users"]}, "ServiceFlinkCancelApplicationDeploymentResponse": {"type": "object", "description": "ServiceFlinkCancelApplicationDeploymentResponse", "properties": {"created_at": {"type": "string", "description": "The creation timestamp of this entity in ISO 8601 format, always in UTC", "title": "Created at"}, "created_by": {"type": "string", "description": "The creator of this entity", "title": "Created by"}, "error_msg": {"type": "string", "description": "Error message describing what caused deployment to fail", "title": "Deployment error"}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "Deployment ID"}, "job_id": {"type": "string", "minLength": 1, "maxLength": 128, "description": "Job ID"}, "last_savepoint": {"type": "string", "minLength": 1, "maxLength": 2048, "description": "Job savepoint"}, "message": {"type": "string", "description": "Printable result of the request"}, "parallelism": {"type": "integer", "minimum": 1, "maximum": 128, "description": "Reading of Flink parallel execution documentation is recommended before setting this value to other than 1. Please do not set this value higher than (total number of nodes x number_of_task_slots), or every new job created will fail.", "title": "Flink Job parallelism"}, "restart_enabled": {"type": "boolean", "description": "Specifies whether a Flink Job is restarted in case it fails"}, "starting_savepoint": {"type": "string", "minLength": 1, "maxLength": 2048, "description": "Job savepoint"}, "status": {"type": "string", "description": "Deployment status", "enum": ["INITIALIZING", "CREATED", "RUNNING", "FAILING", "FAILED", "SAVING", "CANCELLING_REQUESTED", "CANCELLING", "CANCELED", "SAVING_AND_STOP_REQUESTED", "SAVING_AND_STOP", "FINISHED", "RESTARTING", "SUSPENDED", "DELETE_REQUESTED", "DELETING", "RECONCILING"]}, "version_id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "ApplicationVersion ID"}}, "required": ["created_at", "created_by", "id", "parallelism", "restart_enabled", "status", "version_id"]}, "ServiceFlinkCancelJarApplicationDeploymentResponse": {"type": "object", "description": "ServiceFlinkCancelJarApplicationDeploymentResponse", "properties": {"created_at": {"type": "string", "description": "The creation timestamp of this entity in ISO 8601 format, always in UTC", "title": "Created at"}, "created_by": {"type": "string", "description": "The creator of this entity", "title": "Created by"}, "entry_class": {"type": "string", "minLength": 1, "maxLength": 128, "description": "The fully qualified name of the entry class to pass during Flink job submission through the entryClass parameter", "title": "Entry class"}, "error_msg": {"type": "string", "description": "Error message describing what caused deployment to fail", "title": "Deployment error"}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "Deployment ID"}, "job_id": {"type": "string", "minLength": 1, "maxLength": 128, "description": "Job ID"}, "last_savepoint": {"type": "string", "minLength": 1, "maxLength": 2048, "description": "Job savepoint"}, "message": {"type": "string", "description": "Printable result of the request"}, "parallelism": {"type": "integer", "minimum": 1, "maximum": 128, "description": "Reading of Flink parallel execution documentation is recommended before setting this value to other than 1. Please do not set this value higher than (total number of nodes x number_of_task_slots), or every new job created will fail.", "title": "Flink Job parallelism"}, "program_args": {"type": "array", "maxItems": 32, "description": "Arguments to pass during Flink job submission through the programArgsList parameter", "title": "Program arguments", "items": {"type": "string"}}, "starting_savepoint": {"type": "string", "minLength": 1, "maxLength": 2048, "description": "Job savepoint"}, "status": {"type": "string", "description": "Deployment status", "enum": ["INITIALIZING", "CREATED", "RUNNING", "FAILING", "FAILED", "SAVING", "CANCELLING_REQUESTED", "CANCELLING", "CANCELED", "SAVING_AND_STOP_REQUESTED", "SAVING_AND_STOP", "FINISHED", "RESTARTING", "SUSPENDED", "DELETE_REQUESTED", "DELETING", "RECONCILING"]}, "version_id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "ApplicationVersion ID"}}, "required": ["created_at", "created_by", "id", "parallelism", "status", "version_id"]}, "ServiceFlinkCreateApplicationRequestBody": {"type": "object", "description": "ServiceFlinkCreateApplicationRequestBody", "properties": {"application_version": {"type": "object", "description": "Flink ApplicationVersion", "properties": {"sinks": {"type": "array", "maxItems": 64, "description": "Sinks", "items": {"type": "object", "properties": {"create_table": {"type": "string", "maxLength": 4096, "description": "The CREATE TABLE statement"}, "integration_id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "Integration ID"}}, "required": ["create_table"]}}, "sources": {"type": "array", "maxItems": 64, "description": "Sources", "items": {"type": "object", "properties": {"create_table": {"type": "string", "maxLength": 4096, "description": "The CREATE TABLE statement"}, "integration_id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "Integration ID"}}, "required": ["create_table"]}}, "statement": {"type": "string", "maxLength": 50000, "description": "The INSERT INTO SQL statement that will be performed as a job", "title": "Job SQL statement"}}, "required": ["sinks", "sources", "statement"]}, "name": {"type": "string", "maxLength": 128, "description": "Application name"}}, "required": ["name"]}, "ServiceFlinkCreateApplicationResponse": {"type": "object", "description": "ServiceFlinkCreateApplicationResponse", "properties": {"application_versions": {"type": "array", "maxItems": 64, "description": "ApplicationVersions", "items": {"type": "object", "properties": {"created_at": {"type": "string", "description": "The creation timestamp of this entity in ISO 8601 format, always in UTC", "title": "Created at"}, "created_by": {"type": "string", "description": "The creator of this entity", "title": "Created by"}, "id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "ApplicationVersion ID"}, "sinks": {"type": "array", "maxItems": 64, "description": "Sinks", "items": {"type": "object", "properties": {"columns": {"type": "array", "maxItems": 256, "description": "Columns", "items": {"type": "object", "properties": {"data_type": {"type": "string", "minLength": 1, "maxLength": 2048, "description": "The data type of the column"}, "extras": {"type": "string", "maxLength": 256, "description": "Column extra information"}, "key": {"type": "string", "maxLength": 512, "description": "The key info of the column"}, "name": {"type": "string", "minLength": 1, "maxLength": 256, "description": "The name of the column"}, "nullable": {"type": "boolean", "description": "Whether the column is nullable, i.e. if true, the column is NOT NULL"}, "watermark": {"type": "string", "maxLength": 512, "description": "Information of the watermark if the column is used for watermark."}}, "required": ["data_type", "name", "nullable"]}}, "create_table": {"type": "string", "maxLength": 4096, "description": "The CREATE TABLE statement"}, "integration_id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "Integration ID"}, "options": {"type": "object", "description": "Option", "properties": {}}, "table_id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "Sink ID"}, "table_name": {"type": "string", "description": "Table name"}}, "required": ["columns", "create_table", "options", "table_id", "table_name"]}}, "sources": {"type": "array", "maxItems": 64, "description": "Sources", "items": {"type": "object", "properties": {"columns": {"type": "array", "maxItems": 256, "description": "Columns", "items": {"type": "object", "properties": {"data_type": {"type": "string", "minLength": 1, "maxLength": 2048, "description": "The data type of the column"}, "extras": {"type": "string", "maxLength": 256, "description": "Column extra information"}, "key": {"type": "string", "maxLength": 512, "description": "The key info of the column"}, "name": {"type": "string", "minLength": 1, "maxLength": 256, "description": "The name of the column"}, "nullable": {"type": "boolean", "description": "Whether the column is nullable, i.e. if true, the column is NOT NULL"}, "watermark": {"type": "string", "maxLength": 512, "description": "Information of the watermark if the column is used for watermark."}}, "required": ["data_type", "name", "nullable"]}}, "create_table": {"type": "string", "maxLength": 4096, "description": "The CREATE TABLE statement"}, "integration_id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "Integration ID"}, "options": {"type": "object", "description": "Option", "properties": {}}, "table_id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "Source ID"}, "table_name": {"type": "string", "description": "Table name"}}, "required": ["columns", "create_table", "options", "table_id", "table_name"]}}, "statement": {"type": "string", "maxLength": 50000, "description": "The INSERT INTO SQL statement that will be performed as a job", "title": "Job SQL statement"}, "version": {"type": "integer", "description": "Version number"}}, "required": ["created_at", "created_by", "id", "sinks", "sources", "statement", "version"]}}, "created_at": {"type": "string", "description": "The creation timestamp of this entity in ISO 8601 format, always in UTC", "title": "Created at"}, "created_by": {"type": "string", "description": "The creator of this entity", "title": "Created by"}, "current_deployment": {"type": "object", "description": "Flink ApplicationDeployment", "properties": {"created_at": {"type": "string", "description": "The creation timestamp of this entity in ISO 8601 format, always in UTC", "title": "Created at"}, "created_by": {"type": "string", "description": "The creator of this entity", "title": "Created by"}, "error_msg": {"type": "string", "description": "Error message describing what caused deployment to fail", "title": "Deployment error"}, "id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "Deployment ID"}, "job_id": {"type": "string", "minLength": 1, "maxLength": 128, "description": "Job ID"}, "last_savepoint": {"type": "string", "minLength": 1, "maxLength": 2048, "description": "Job savepoint"}, "parallelism": {"type": "integer", "minimum": 1, "maximum": 128, "description": "Reading of Flink parallel execution documentation is recommended before setting this value to other than 1. Please do not set this value higher than (total number of nodes x number_of_task_slots), or every new job created will fail.", "title": "Flink Job parallelism"}, "restart_enabled": {"type": "boolean", "description": "Specifies whether a Flink Job is restarted in case it fails"}, "starting_savepoint": {"type": "string", "minLength": 1, "maxLength": 2048, "description": "Job savepoint"}, "status": {"type": "string", "description": "Deployment status", "enum": ["INITIALIZING", "CREATED", "RUNNING", "FAILING", "FAILED", "SAVING", "CANCELLING_REQUESTED", "CANCELLING", "CANCELED", "SAVING_AND_STOP_REQUESTED", "SAVING_AND_STOP", "FINISHED", "RESTARTING", "SUSPENDED", "DELETE_REQUESTED", "DELETING", "RECONCILING"]}, "version_id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "ApplicationVersion ID"}}, "required": ["created_at", "created_by", "id", "parallelism", "restart_enabled", "status", "version_id"]}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "Application ID"}, "message": {"type": "string", "description": "Printable result of the request"}, "name": {"type": "string", "maxLength": 128, "description": "Application name"}, "updated_at": {"type": "string", "description": "The update timestamp of this entity in ISO 8601 format, always in UTC", "title": "Updated at"}, "updated_by": {"type": "string", "description": "The latest updater of this entity", "title": "Updated by"}}, "required": ["application_versions", "created_at", "created_by", "id", "name", "updated_at", "updated_by"]}, "ServiceFlinkCreateApplicationDeploymentRequestBody": {"type": "object", "description": "ServiceFlinkCreateApplicationDeploymentRequestBody", "properties": {"parallelism": {"type": "integer", "minimum": 1, "maximum": 128, "description": "Reading of Flink parallel execution documentation is recommended before setting this value to other than 1. Please do not set this value higher than (total number of nodes x number_of_task_slots), or every new job created will fail.", "title": "Flink Job parallelism", "default": 1}, "restart_enabled": {"type": "boolean", "description": "Specifies whether a Flink Job is restarted in case it fails", "default": true}, "starting_savepoint": {"type": "string", "minLength": 1, "maxLength": 2048, "description": "Job savepoint"}, "version_id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "ApplicationVersion ID"}}, "required": ["version_id"]}, "ServiceFlinkCreateApplicationDeploymentResponse": {"type": "object", "description": "ServiceFlinkCreateApplicationDeploymentResponse", "properties": {"created_at": {"type": "string", "description": "The creation timestamp of this entity in ISO 8601 format, always in UTC", "title": "Created at"}, "created_by": {"type": "string", "description": "The creator of this entity", "title": "Created by"}, "error_msg": {"type": "string", "description": "Error message describing what caused deployment to fail", "title": "Deployment error"}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "Deployment ID"}, "job_id": {"type": "string", "minLength": 1, "maxLength": 128, "description": "Job ID"}, "last_savepoint": {"type": "string", "minLength": 1, "maxLength": 2048, "description": "Job savepoint"}, "message": {"type": "string", "description": "Printable result of the request"}, "parallelism": {"type": "integer", "minimum": 1, "maximum": 128, "description": "Reading of Flink parallel execution documentation is recommended before setting this value to other than 1. Please do not set this value higher than (total number of nodes x number_of_task_slots), or every new job created will fail.", "title": "Flink Job parallelism"}, "restart_enabled": {"type": "boolean", "description": "Specifies whether a Flink Job is restarted in case it fails"}, "starting_savepoint": {"type": "string", "minLength": 1, "maxLength": 2048, "description": "Job savepoint"}, "status": {"type": "string", "description": "Deployment status", "enum": ["INITIALIZING", "CREATED", "RUNNING", "FAILING", "FAILED", "SAVING", "CANCELLING_REQUESTED", "CANCELLING", "CANCELED", "SAVING_AND_STOP_REQUESTED", "SAVING_AND_STOP", "FINISHED", "RESTARTING", "SUSPENDED", "DELETE_REQUESTED", "DELETING", "RECONCILING"]}, "version_id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "ApplicationVersion ID"}}, "required": ["created_at", "created_by", "id", "parallelism", "restart_enabled", "status", "version_id"]}, "ServiceFlinkCreateApplicationVersionRequestBody": {"type": "object", "description": "ServiceFlinkCreateApplicationVersionRequestBody", "properties": {"sinks": {"type": "array", "maxItems": 64, "description": "Sinks", "items": {"type": "object", "properties": {"create_table": {"type": "string", "maxLength": 4096, "description": "The CREATE TABLE statement"}, "integration_id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "Integration ID"}}, "required": ["create_table"]}}, "sources": {"type": "array", "maxItems": 64, "description": "Sources", "items": {"type": "object", "properties": {"create_table": {"type": "string", "maxLength": 4096, "description": "The CREATE TABLE statement"}, "integration_id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "Integration ID"}}, "required": ["create_table"]}}, "statement": {"type": "string", "maxLength": 50000, "description": "The INSERT INTO SQL statement that will be performed as a job", "title": "Job SQL statement"}}, "required": ["sinks", "sources", "statement"]}, "ServiceFlinkCreateApplicationVersionResponse": {"type": "object", "description": "ServiceFlinkCreateApplicationVersionResponse", "properties": {"created_at": {"type": "string", "description": "The creation timestamp of this entity in ISO 8601 format, always in UTC", "title": "Created at"}, "created_by": {"type": "string", "description": "The creator of this entity", "title": "Created by"}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "ApplicationVersion ID"}, "message": {"type": "string", "description": "Printable result of the request"}, "sinks": {"type": "array", "maxItems": 64, "description": "Sinks", "items": {"type": "object", "properties": {"columns": {"type": "array", "maxItems": 256, "description": "Columns", "items": {"type": "object", "properties": {"data_type": {"type": "string", "minLength": 1, "maxLength": 2048, "description": "The data type of the column"}, "extras": {"type": "string", "maxLength": 256, "description": "Column extra information"}, "key": {"type": "string", "maxLength": 512, "description": "The key info of the column"}, "name": {"type": "string", "minLength": 1, "maxLength": 256, "description": "The name of the column"}, "nullable": {"type": "boolean", "description": "Whether the column is nullable, i.e. if true, the column is NOT NULL"}, "watermark": {"type": "string", "maxLength": 512, "description": "Information of the watermark if the column is used for watermark."}}, "required": ["data_type", "name", "nullable"]}}, "create_table": {"type": "string", "maxLength": 4096, "description": "The CREATE TABLE statement"}, "integration_id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "Integration ID"}, "options": {"type": "object", "description": "Option", "properties": {}}, "table_id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "Sink ID"}, "table_name": {"type": "string", "description": "Table name"}}, "required": ["columns", "create_table", "options", "table_id", "table_name"]}}, "sources": {"type": "array", "maxItems": 64, "description": "Sources", "items": {"type": "object", "properties": {"columns": {"type": "array", "maxItems": 256, "description": "Columns", "items": {"type": "object", "properties": {"data_type": {"type": "string", "minLength": 1, "maxLength": 2048, "description": "The data type of the column"}, "extras": {"type": "string", "maxLength": 256, "description": "Column extra information"}, "key": {"type": "string", "maxLength": 512, "description": "The key info of the column"}, "name": {"type": "string", "minLength": 1, "maxLength": 256, "description": "The name of the column"}, "nullable": {"type": "boolean", "description": "Whether the column is nullable, i.e. if true, the column is NOT NULL"}, "watermark": {"type": "string", "maxLength": 512, "description": "Information of the watermark if the column is used for watermark."}}, "required": ["data_type", "name", "nullable"]}}, "create_table": {"type": "string", "maxLength": 4096, "description": "The CREATE TABLE statement"}, "integration_id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "Integration ID"}, "options": {"type": "object", "description": "Option", "properties": {}}, "table_id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "Source ID"}, "table_name": {"type": "string", "description": "Table name"}}, "required": ["columns", "create_table", "options", "table_id", "table_name"]}}, "statement": {"type": "string", "maxLength": 50000, "description": "The INSERT INTO SQL statement that will be performed as a job", "title": "Job SQL statement"}, "version": {"type": "integer", "description": "Version number"}}, "required": ["created_at", "created_by", "id", "sinks", "sources", "statement", "version"]}, "ServiceFlinkCreateJarApplicationRequestBody": {"type": "object", "description": "ServiceFlinkCreateJarApplicationRequestBody", "properties": {"name": {"type": "string", "maxLength": 128, "description": "Application name"}}, "required": ["name"]}, "ServiceFlinkCreateJarApplicationResponse": {"type": "object", "description": "ServiceFlinkCreateJarApplicationResponse", "properties": {"application_versions": {"type": "array", "maxItems": 64, "description": "JarApplicationVersions", "items": {"type": "object", "properties": {"created_at": {"type": "string", "description": "The creation timestamp of this entity in ISO 8601 format, always in UTC", "title": "Created at"}, "created_by": {"type": "string", "description": "The creator of this entity", "title": "Created by"}, "file_info": {"type": "object", "description": "Flink JarApplicationVersion FileInfo", "properties": {"file_sha256": {"type": "string", "minLength": 64, "maxLength": 64, "description": "sha256 of the file if known"}, "file_size": {"type": "integer", "description": "The size of the file in bytes"}, "file_status": {"type": "string", "description": "Indicates whether the uploaded .jar file has been verified by the system and deployment ready", "title": "File status", "enum": ["INITIAL", "READY", "FAILED"]}, "url": {"type": "string", "minLength": 1, "maxLength": 50000, "description": "The pre-signed url of the bucket where the .jar file is uploaded. Becomes null when the JarApplicationVersion is ready or failed.", "title": "AWS s3 pre-signed url"}, "verify_error_code": {"type": "integer", "description": "In the case file_status is FAILED, the error code of the failure.", "title": "Verify error code", "enum": ["1", "2", "3"]}, "verify_error_message": {"type": "string", "minLength": 16, "maxLength": 512, "description": "In the case file_status is FAILED, may contain details about the failure.", "title": "Verify error message"}}}, "id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "ApplicationVersion ID"}, "version": {"type": "integer", "description": "Version number"}}, "required": ["created_at", "created_by", "id", "version"]}}, "created_at": {"type": "string", "description": "The creation timestamp of this entity in ISO 8601 format, always in UTC", "title": "Created at"}, "created_by": {"type": "string", "description": "The creator of this entity", "title": "Created by"}, "current_deployment": {"type": "object", "description": "Flink JarApplicationDeployment", "properties": {"created_at": {"type": "string", "description": "The creation timestamp of this entity in ISO 8601 format, always in UTC", "title": "Created at"}, "created_by": {"type": "string", "description": "The creator of this entity", "title": "Created by"}, "entry_class": {"type": "string", "minLength": 1, "maxLength": 128, "description": "The fully qualified name of the entry class to pass during Flink job submission through the entryClass parameter", "title": "Entry class"}, "error_msg": {"type": "string", "description": "Error message describing what caused deployment to fail", "title": "Deployment error"}, "id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "Deployment ID"}, "job_id": {"type": "string", "minLength": 1, "maxLength": 128, "description": "Job ID"}, "last_savepoint": {"type": "string", "minLength": 1, "maxLength": 2048, "description": "Job savepoint"}, "parallelism": {"type": "integer", "minimum": 1, "maximum": 128, "description": "Reading of Flink parallel execution documentation is recommended before setting this value to other than 1. Please do not set this value higher than (total number of nodes x number_of_task_slots), or every new job created will fail.", "title": "Flink Job parallelism"}, "program_args": {"type": "array", "maxItems": 32, "description": "Arguments to pass during Flink job submission through the programArgsList parameter", "title": "Program arguments", "items": {"type": "string"}}, "starting_savepoint": {"type": "string", "minLength": 1, "maxLength": 2048, "description": "Job savepoint"}, "status": {"type": "string", "description": "Deployment status", "enum": ["INITIALIZING", "CREATED", "RUNNING", "FAILING", "FAILED", "SAVING", "CANCELLING_REQUESTED", "CANCELLING", "CANCELED", "SAVING_AND_STOP_REQUESTED", "SAVING_AND_STOP", "FINISHED", "RESTARTING", "SUSPENDED", "DELETE_REQUESTED", "DELETING", "RECONCILING"]}, "version_id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "ApplicationVersion ID"}}, "required": ["created_at", "created_by", "id", "parallelism", "status", "version_id"]}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "Application ID"}, "message": {"type": "string", "description": "Printable result of the request"}, "name": {"type": "string", "maxLength": 128, "description": "Application name"}, "updated_at": {"type": "string", "description": "The update timestamp of this entity in ISO 8601 format, always in UTC", "title": "Updated at"}, "updated_by": {"type": "string", "description": "The latest updater of this entity", "title": "Updated by"}}, "required": ["application_versions", "created_at", "created_by", "id", "name", "updated_at", "updated_by"]}, "ServiceFlinkCreateJarApplicationDeploymentRequestBody": {"type": "object", "description": "ServiceFlinkCreateJarApplicationDeploymentRequestBody", "properties": {"entry_class": {"type": "string", "minLength": 1, "maxLength": 128, "description": "The fully qualified name of the entry class to pass during Flink job submission through the entryClass parameter", "title": "Entry class"}, "parallelism": {"type": "integer", "minimum": 1, "maximum": 128, "description": "Reading of Flink parallel execution documentation is recommended before setting this value to other than 1. Please do not set this value higher than (total number of nodes x number_of_task_slots), or every new job created will fail.", "title": "Flink Job parallelism", "default": 1}, "program_args": {"type": "array", "maxItems": 32, "description": "Arguments to pass during Flink job submission through the programArgsList parameter", "title": "Program arguments", "items": {"type": "string"}}, "restart_enabled": {"type": "boolean", "description": "Specifies whether a Flink Job is restarted in case it fails", "default": true}, "starting_savepoint": {"type": "string", "minLength": 1, "maxLength": 2048, "description": "Job savepoint"}, "version_id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "ApplicationVersion ID"}}, "required": ["version_id"]}, "ServiceFlinkCreateJarApplicationDeploymentResponse": {"type": "object", "description": "ServiceFlinkCreateJarApplicationDeploymentResponse", "properties": {"created_at": {"type": "string", "description": "The creation timestamp of this entity in ISO 8601 format, always in UTC", "title": "Created at"}, "created_by": {"type": "string", "description": "The creator of this entity", "title": "Created by"}, "entry_class": {"type": "string", "minLength": 1, "maxLength": 128, "description": "The fully qualified name of the entry class to pass during Flink job submission through the entryClass parameter", "title": "Entry class"}, "error_msg": {"type": "string", "description": "Error message describing what caused deployment to fail", "title": "Deployment error"}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "Deployment ID"}, "job_id": {"type": "string", "minLength": 1, "maxLength": 128, "description": "Job ID"}, "last_savepoint": {"type": "string", "minLength": 1, "maxLength": 2048, "description": "Job savepoint"}, "message": {"type": "string", "description": "Printable result of the request"}, "parallelism": {"type": "integer", "minimum": 1, "maximum": 128, "description": "Reading of Flink parallel execution documentation is recommended before setting this value to other than 1. Please do not set this value higher than (total number of nodes x number_of_task_slots), or every new job created will fail.", "title": "Flink Job parallelism"}, "program_args": {"type": "array", "maxItems": 32, "description": "Arguments to pass during Flink job submission through the programArgsList parameter", "title": "Program arguments", "items": {"type": "string"}}, "starting_savepoint": {"type": "string", "minLength": 1, "maxLength": 2048, "description": "Job savepoint"}, "status": {"type": "string", "description": "Deployment status", "enum": ["INITIALIZING", "CREATED", "RUNNING", "FAILING", "FAILED", "SAVING", "CANCELLING_REQUESTED", "CANCELLING", "CANCELED", "SAVING_AND_STOP_REQUESTED", "SAVING_AND_STOP", "FINISHED", "RESTARTING", "SUSPENDED", "DELETE_REQUESTED", "DELETING", "RECONCILING"]}, "version_id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "ApplicationVersion ID"}}, "required": ["created_at", "created_by", "id", "parallelism", "status", "version_id"]}, "ServiceFlinkCreateJarApplicationVersionResponse": {"type": "object", "description": "ServiceFlinkCreateJarApplicationVersionResponse", "properties": {"created_at": {"type": "string", "description": "The creation timestamp of this entity in ISO 8601 format, always in UTC", "title": "Created at"}, "created_by": {"type": "string", "description": "The creator of this entity", "title": "Created by"}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "file_info": {"type": "object", "description": "Flink JarApplicationVersion FileInfo", "properties": {"file_sha256": {"type": "string", "minLength": 64, "maxLength": 64, "description": "sha256 of the file if known"}, "file_size": {"type": "integer", "description": "The size of the file in bytes"}, "file_status": {"type": "string", "description": "Indicates whether the uploaded .jar file has been verified by the system and deployment ready", "title": "File status", "enum": ["INITIAL", "READY", "FAILED"]}, "url": {"type": "string", "minLength": 1, "maxLength": 50000, "description": "The pre-signed url of the bucket where the .jar file is uploaded. Becomes null when the JarApplicationVersion is ready or failed.", "title": "AWS s3 pre-signed url"}, "verify_error_code": {"type": "integer", "description": "In the case file_status is FAILED, the error code of the failure.", "title": "Verify error code", "enum": ["1", "2", "3"]}, "verify_error_message": {"type": "string", "minLength": 16, "maxLength": 512, "description": "In the case file_status is FAILED, may contain details about the failure.", "title": "Verify error message"}}}, "id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "ApplicationVersion ID"}, "message": {"type": "string", "description": "Printable result of the request"}, "version": {"type": "integer", "description": "Version number"}}, "required": ["created_at", "created_by", "id", "version"]}, "ServiceFlinkDeleteApplicationResponse": {"type": "object", "description": "ServiceFlinkDeleteApplicationResponse", "properties": {"application_versions": {"type": "array", "maxItems": 64, "description": "ApplicationVersions", "items": {"type": "object", "properties": {"created_at": {"type": "string", "description": "The creation timestamp of this entity in ISO 8601 format, always in UTC", "title": "Created at"}, "created_by": {"type": "string", "description": "The creator of this entity", "title": "Created by"}, "id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "ApplicationVersion ID"}, "sinks": {"type": "array", "maxItems": 64, "description": "Sinks", "items": {"type": "object", "properties": {"columns": {"type": "array", "maxItems": 256, "description": "Columns", "items": {"type": "object", "properties": {"data_type": {"type": "string", "minLength": 1, "maxLength": 2048, "description": "The data type of the column"}, "extras": {"type": "string", "maxLength": 256, "description": "Column extra information"}, "key": {"type": "string", "maxLength": 512, "description": "The key info of the column"}, "name": {"type": "string", "minLength": 1, "maxLength": 256, "description": "The name of the column"}, "nullable": {"type": "boolean", "description": "Whether the column is nullable, i.e. if true, the column is NOT NULL"}, "watermark": {"type": "string", "maxLength": 512, "description": "Information of the watermark if the column is used for watermark."}}, "required": ["data_type", "name", "nullable"]}}, "create_table": {"type": "string", "maxLength": 4096, "description": "The CREATE TABLE statement"}, "integration_id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "Integration ID"}, "options": {"type": "object", "description": "Option", "properties": {}}, "table_id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "Sink ID"}, "table_name": {"type": "string", "description": "Table name"}}, "required": ["columns", "create_table", "options", "table_id", "table_name"]}}, "sources": {"type": "array", "maxItems": 64, "description": "Sources", "items": {"type": "object", "properties": {"columns": {"type": "array", "maxItems": 256, "description": "Columns", "items": {"type": "object", "properties": {"data_type": {"type": "string", "minLength": 1, "maxLength": 2048, "description": "The data type of the column"}, "extras": {"type": "string", "maxLength": 256, "description": "Column extra information"}, "key": {"type": "string", "maxLength": 512, "description": "The key info of the column"}, "name": {"type": "string", "minLength": 1, "maxLength": 256, "description": "The name of the column"}, "nullable": {"type": "boolean", "description": "Whether the column is nullable, i.e. if true, the column is NOT NULL"}, "watermark": {"type": "string", "maxLength": 512, "description": "Information of the watermark if the column is used for watermark."}}, "required": ["data_type", "name", "nullable"]}}, "create_table": {"type": "string", "maxLength": 4096, "description": "The CREATE TABLE statement"}, "integration_id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "Integration ID"}, "options": {"type": "object", "description": "Option", "properties": {}}, "table_id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "Source ID"}, "table_name": {"type": "string", "description": "Table name"}}, "required": ["columns", "create_table", "options", "table_id", "table_name"]}}, "statement": {"type": "string", "maxLength": 50000, "description": "The INSERT INTO SQL statement that will be performed as a job", "title": "Job SQL statement"}, "version": {"type": "integer", "description": "Version number"}}, "required": ["created_at", "created_by", "id", "sinks", "sources", "statement", "version"]}}, "created_at": {"type": "string", "description": "The creation timestamp of this entity in ISO 8601 format, always in UTC", "title": "Created at"}, "created_by": {"type": "string", "description": "The creator of this entity", "title": "Created by"}, "current_deployment": {"type": "object", "description": "Flink ApplicationDeployment", "properties": {"created_at": {"type": "string", "description": "The creation timestamp of this entity in ISO 8601 format, always in UTC", "title": "Created at"}, "created_by": {"type": "string", "description": "The creator of this entity", "title": "Created by"}, "error_msg": {"type": "string", "description": "Error message describing what caused deployment to fail", "title": "Deployment error"}, "id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "Deployment ID"}, "job_id": {"type": "string", "minLength": 1, "maxLength": 128, "description": "Job ID"}, "last_savepoint": {"type": "string", "minLength": 1, "maxLength": 2048, "description": "Job savepoint"}, "parallelism": {"type": "integer", "minimum": 1, "maximum": 128, "description": "Reading of Flink parallel execution documentation is recommended before setting this value to other than 1. Please do not set this value higher than (total number of nodes x number_of_task_slots), or every new job created will fail.", "title": "Flink Job parallelism"}, "restart_enabled": {"type": "boolean", "description": "Specifies whether a Flink Job is restarted in case it fails"}, "starting_savepoint": {"type": "string", "minLength": 1, "maxLength": 2048, "description": "Job savepoint"}, "status": {"type": "string", "description": "Deployment status", "enum": ["INITIALIZING", "CREATED", "RUNNING", "FAILING", "FAILED", "SAVING", "CANCELLING_REQUESTED", "CANCELLING", "CANCELED", "SAVING_AND_STOP_REQUESTED", "SAVING_AND_STOP", "FINISHED", "RESTARTING", "SUSPENDED", "DELETE_REQUESTED", "DELETING", "RECONCILING"]}, "version_id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "ApplicationVersion ID"}}, "required": ["created_at", "created_by", "id", "parallelism", "restart_enabled", "status", "version_id"]}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "Application ID"}, "message": {"type": "string", "description": "Printable result of the request"}, "name": {"type": "string", "maxLength": 128, "description": "Application name"}, "updated_at": {"type": "string", "description": "The update timestamp of this entity in ISO 8601 format, always in UTC", "title": "Updated at"}, "updated_by": {"type": "string", "description": "The latest updater of this entity", "title": "Updated by"}}, "required": ["application_versions", "created_at", "created_by", "id", "name", "updated_at", "updated_by"]}, "ServiceFlinkDeleteApplicationDeploymentResponse": {"type": "object", "description": "ServiceFlinkDeleteApplicationDeploymentResponse", "properties": {"created_at": {"type": "string", "description": "The creation timestamp of this entity in ISO 8601 format, always in UTC", "title": "Created at"}, "created_by": {"type": "string", "description": "The creator of this entity", "title": "Created by"}, "error_msg": {"type": "string", "description": "Error message describing what caused deployment to fail", "title": "Deployment error"}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "Deployment ID"}, "job_id": {"type": "string", "minLength": 1, "maxLength": 128, "description": "Job ID"}, "last_savepoint": {"type": "string", "minLength": 1, "maxLength": 2048, "description": "Job savepoint"}, "message": {"type": "string", "description": "Printable result of the request"}, "parallelism": {"type": "integer", "minimum": 1, "maximum": 128, "description": "Reading of Flink parallel execution documentation is recommended before setting this value to other than 1. Please do not set this value higher than (total number of nodes x number_of_task_slots), or every new job created will fail.", "title": "Flink Job parallelism"}, "restart_enabled": {"type": "boolean", "description": "Specifies whether a Flink Job is restarted in case it fails"}, "starting_savepoint": {"type": "string", "minLength": 1, "maxLength": 2048, "description": "Job savepoint"}, "status": {"type": "string", "description": "Deployment status", "enum": ["INITIALIZING", "CREATED", "RUNNING", "FAILING", "FAILED", "SAVING", "CANCELLING_REQUESTED", "CANCELLING", "CANCELED", "SAVING_AND_STOP_REQUESTED", "SAVING_AND_STOP", "FINISHED", "RESTARTING", "SUSPENDED", "DELETE_REQUESTED", "DELETING", "RECONCILING"]}, "version_id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "ApplicationVersion ID"}}, "required": ["created_at", "created_by", "id", "parallelism", "restart_enabled", "status", "version_id"]}, "ServiceFlinkDeleteApplicationVersionResponse": {"type": "object", "description": "ServiceFlinkDeleteApplicationVersionResponse", "properties": {"created_at": {"type": "string", "description": "The creation timestamp of this entity in ISO 8601 format, always in UTC", "title": "Created at"}, "created_by": {"type": "string", "description": "The creator of this entity", "title": "Created by"}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "ApplicationVersion ID"}, "message": {"type": "string", "description": "Printable result of the request"}, "sinks": {"type": "array", "maxItems": 64, "description": "Sinks", "items": {"type": "object", "properties": {"columns": {"type": "array", "maxItems": 256, "description": "Columns", "items": {"type": "object", "properties": {"data_type": {"type": "string", "minLength": 1, "maxLength": 2048, "description": "The data type of the column"}, "extras": {"type": "string", "maxLength": 256, "description": "Column extra information"}, "key": {"type": "string", "maxLength": 512, "description": "The key info of the column"}, "name": {"type": "string", "minLength": 1, "maxLength": 256, "description": "The name of the column"}, "nullable": {"type": "boolean", "description": "Whether the column is nullable, i.e. if true, the column is NOT NULL"}, "watermark": {"type": "string", "maxLength": 512, "description": "Information of the watermark if the column is used for watermark."}}, "required": ["data_type", "name", "nullable"]}}, "create_table": {"type": "string", "maxLength": 4096, "description": "The CREATE TABLE statement"}, "integration_id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "Integration ID"}, "options": {"type": "object", "description": "Option", "properties": {}}, "table_id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "Sink ID"}, "table_name": {"type": "string", "description": "Table name"}}, "required": ["columns", "create_table", "options", "table_id", "table_name"]}}, "sources": {"type": "array", "maxItems": 64, "description": "Sources", "items": {"type": "object", "properties": {"columns": {"type": "array", "maxItems": 256, "description": "Columns", "items": {"type": "object", "properties": {"data_type": {"type": "string", "minLength": 1, "maxLength": 2048, "description": "The data type of the column"}, "extras": {"type": "string", "maxLength": 256, "description": "Column extra information"}, "key": {"type": "string", "maxLength": 512, "description": "The key info of the column"}, "name": {"type": "string", "minLength": 1, "maxLength": 256, "description": "The name of the column"}, "nullable": {"type": "boolean", "description": "Whether the column is nullable, i.e. if true, the column is NOT NULL"}, "watermark": {"type": "string", "maxLength": 512, "description": "Information of the watermark if the column is used for watermark."}}, "required": ["data_type", "name", "nullable"]}}, "create_table": {"type": "string", "maxLength": 4096, "description": "The CREATE TABLE statement"}, "integration_id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "Integration ID"}, "options": {"type": "object", "description": "Option", "properties": {}}, "table_id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "Source ID"}, "table_name": {"type": "string", "description": "Table name"}}, "required": ["columns", "create_table", "options", "table_id", "table_name"]}}, "statement": {"type": "string", "maxLength": 50000, "description": "The INSERT INTO SQL statement that will be performed as a job", "title": "Job SQL statement"}, "version": {"type": "integer", "description": "Version number"}}, "required": ["created_at", "created_by", "id", "sinks", "sources", "statement", "version"]}, "ServiceFlinkDeleteJarApplicationResponse": {"type": "object", "description": "ServiceFlinkDeleteJarApplicationResponse", "properties": {"application_versions": {"type": "array", "maxItems": 64, "description": "JarApplicationVersions", "items": {"type": "object", "properties": {"created_at": {"type": "string", "description": "The creation timestamp of this entity in ISO 8601 format, always in UTC", "title": "Created at"}, "created_by": {"type": "string", "description": "The creator of this entity", "title": "Created by"}, "file_info": {"type": "object", "description": "Flink JarApplicationVersion FileInfo", "properties": {"file_sha256": {"type": "string", "minLength": 64, "maxLength": 64, "description": "sha256 of the file if known"}, "file_size": {"type": "integer", "description": "The size of the file in bytes"}, "file_status": {"type": "string", "description": "Indicates whether the uploaded .jar file has been verified by the system and deployment ready", "title": "File status", "enum": ["INITIAL", "READY", "FAILED"]}, "url": {"type": "string", "minLength": 1, "maxLength": 50000, "description": "The pre-signed url of the bucket where the .jar file is uploaded. Becomes null when the JarApplicationVersion is ready or failed.", "title": "AWS s3 pre-signed url"}, "verify_error_code": {"type": "integer", "description": "In the case file_status is FAILED, the error code of the failure.", "title": "Verify error code", "enum": ["1", "2", "3"]}, "verify_error_message": {"type": "string", "minLength": 16, "maxLength": 512, "description": "In the case file_status is FAILED, may contain details about the failure.", "title": "Verify error message"}}}, "id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "ApplicationVersion ID"}, "version": {"type": "integer", "description": "Version number"}}, "required": ["created_at", "created_by", "id", "version"]}}, "created_at": {"type": "string", "description": "The creation timestamp of this entity in ISO 8601 format, always in UTC", "title": "Created at"}, "created_by": {"type": "string", "description": "The creator of this entity", "title": "Created by"}, "current_deployment": {"type": "object", "description": "Flink JarApplicationDeployment", "properties": {"created_at": {"type": "string", "description": "The creation timestamp of this entity in ISO 8601 format, always in UTC", "title": "Created at"}, "created_by": {"type": "string", "description": "The creator of this entity", "title": "Created by"}, "entry_class": {"type": "string", "minLength": 1, "maxLength": 128, "description": "The fully qualified name of the entry class to pass during Flink job submission through the entryClass parameter", "title": "Entry class"}, "error_msg": {"type": "string", "description": "Error message describing what caused deployment to fail", "title": "Deployment error"}, "id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "Deployment ID"}, "job_id": {"type": "string", "minLength": 1, "maxLength": 128, "description": "Job ID"}, "last_savepoint": {"type": "string", "minLength": 1, "maxLength": 2048, "description": "Job savepoint"}, "parallelism": {"type": "integer", "minimum": 1, "maximum": 128, "description": "Reading of Flink parallel execution documentation is recommended before setting this value to other than 1. Please do not set this value higher than (total number of nodes x number_of_task_slots), or every new job created will fail.", "title": "Flink Job parallelism"}, "program_args": {"type": "array", "maxItems": 32, "description": "Arguments to pass during Flink job submission through the programArgsList parameter", "title": "Program arguments", "items": {"type": "string"}}, "starting_savepoint": {"type": "string", "minLength": 1, "maxLength": 2048, "description": "Job savepoint"}, "status": {"type": "string", "description": "Deployment status", "enum": ["INITIALIZING", "CREATED", "RUNNING", "FAILING", "FAILED", "SAVING", "CANCELLING_REQUESTED", "CANCELLING", "CANCELED", "SAVING_AND_STOP_REQUESTED", "SAVING_AND_STOP", "FINISHED", "RESTARTING", "SUSPENDED", "DELETE_REQUESTED", "DELETING", "RECONCILING"]}, "version_id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "ApplicationVersion ID"}}, "required": ["created_at", "created_by", "id", "parallelism", "status", "version_id"]}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "Application ID"}, "message": {"type": "string", "description": "Printable result of the request"}, "name": {"type": "string", "maxLength": 128, "description": "Application name"}, "updated_at": {"type": "string", "description": "The update timestamp of this entity in ISO 8601 format, always in UTC", "title": "Updated at"}, "updated_by": {"type": "string", "description": "The latest updater of this entity", "title": "Updated by"}}, "required": ["application_versions", "created_at", "created_by", "id", "name", "updated_at", "updated_by"]}, "ServiceFlinkDeleteJarApplicationDeploymentResponse": {"type": "object", "description": "ServiceFlinkDeleteJarApplicationDeploymentResponse", "properties": {"created_at": {"type": "string", "description": "The creation timestamp of this entity in ISO 8601 format, always in UTC", "title": "Created at"}, "created_by": {"type": "string", "description": "The creator of this entity", "title": "Created by"}, "entry_class": {"type": "string", "minLength": 1, "maxLength": 128, "description": "The fully qualified name of the entry class to pass during Flink job submission through the entryClass parameter", "title": "Entry class"}, "error_msg": {"type": "string", "description": "Error message describing what caused deployment to fail", "title": "Deployment error"}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "Deployment ID"}, "job_id": {"type": "string", "minLength": 1, "maxLength": 128, "description": "Job ID"}, "last_savepoint": {"type": "string", "minLength": 1, "maxLength": 2048, "description": "Job savepoint"}, "message": {"type": "string", "description": "Printable result of the request"}, "parallelism": {"type": "integer", "minimum": 1, "maximum": 128, "description": "Reading of Flink parallel execution documentation is recommended before setting this value to other than 1. Please do not set this value higher than (total number of nodes x number_of_task_slots), or every new job created will fail.", "title": "Flink Job parallelism"}, "program_args": {"type": "array", "maxItems": 32, "description": "Arguments to pass during Flink job submission through the programArgsList parameter", "title": "Program arguments", "items": {"type": "string"}}, "starting_savepoint": {"type": "string", "minLength": 1, "maxLength": 2048, "description": "Job savepoint"}, "status": {"type": "string", "description": "Deployment status", "enum": ["INITIALIZING", "CREATED", "RUNNING", "FAILING", "FAILED", "SAVING", "CANCELLING_REQUESTED", "CANCELLING", "CANCELED", "SAVING_AND_STOP_REQUESTED", "SAVING_AND_STOP", "FINISHED", "RESTARTING", "SUSPENDED", "DELETE_REQUESTED", "DELETING", "RECONCILING"]}, "version_id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "ApplicationVersion ID"}}, "required": ["created_at", "created_by", "id", "parallelism", "status", "version_id"]}, "ServiceFlinkDeleteJarApplicationVersionResponse": {"type": "object", "description": "ServiceFlinkDeleteJarApplicationVersionResponse", "properties": {"created_at": {"type": "string", "description": "The creation timestamp of this entity in ISO 8601 format, always in UTC", "title": "Created at"}, "created_by": {"type": "string", "description": "The creator of this entity", "title": "Created by"}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "file_info": {"type": "object", "description": "Flink JarApplicationVersion FileInfo", "properties": {"file_sha256": {"type": "string", "minLength": 64, "maxLength": 64, "description": "sha256 of the file if known"}, "file_size": {"type": "integer", "description": "The size of the file in bytes"}, "file_status": {"type": "string", "description": "Indicates whether the uploaded .jar file has been verified by the system and deployment ready", "title": "File status", "enum": ["INITIAL", "READY", "FAILED"]}, "url": {"type": "string", "minLength": 1, "maxLength": 50000, "description": "The pre-signed url of the bucket where the .jar file is uploaded. Becomes null when the JarApplicationVersion is ready or failed.", "title": "AWS s3 pre-signed url"}, "verify_error_code": {"type": "integer", "description": "In the case file_status is FAILED, the error code of the failure.", "title": "Verify error code", "enum": ["1", "2", "3"]}, "verify_error_message": {"type": "string", "minLength": 16, "maxLength": 512, "description": "In the case file_status is FAILED, may contain details about the failure.", "title": "Verify error message"}}}, "id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "ApplicationVersion ID"}, "message": {"type": "string", "description": "Printable result of the request"}, "version": {"type": "integer", "description": "Version number"}}, "required": ["created_at", "created_by", "id", "version"]}, "ServiceFlinkGetApplicationResponse": {"type": "object", "description": "ServiceFlinkGetApplicationResponse", "properties": {"application_versions": {"type": "array", "maxItems": 64, "description": "ApplicationVersions", "items": {"type": "object", "properties": {"created_at": {"type": "string", "description": "The creation timestamp of this entity in ISO 8601 format, always in UTC", "title": "Created at"}, "created_by": {"type": "string", "description": "The creator of this entity", "title": "Created by"}, "id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "ApplicationVersion ID"}, "sinks": {"type": "array", "maxItems": 64, "description": "Sinks", "items": {"type": "object", "properties": {"columns": {"type": "array", "maxItems": 256, "description": "Columns", "items": {"type": "object", "properties": {"data_type": {"type": "string", "minLength": 1, "maxLength": 2048, "description": "The data type of the column"}, "extras": {"type": "string", "maxLength": 256, "description": "Column extra information"}, "key": {"type": "string", "maxLength": 512, "description": "The key info of the column"}, "name": {"type": "string", "minLength": 1, "maxLength": 256, "description": "The name of the column"}, "nullable": {"type": "boolean", "description": "Whether the column is nullable, i.e. if true, the column is NOT NULL"}, "watermark": {"type": "string", "maxLength": 512, "description": "Information of the watermark if the column is used for watermark."}}, "required": ["data_type", "name", "nullable"]}}, "create_table": {"type": "string", "maxLength": 4096, "description": "The CREATE TABLE statement"}, "integration_id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "Integration ID"}, "options": {"type": "object", "description": "Option", "properties": {}}, "table_id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "Sink ID"}, "table_name": {"type": "string", "description": "Table name"}}, "required": ["columns", "create_table", "options", "table_id", "table_name"]}}, "sources": {"type": "array", "maxItems": 64, "description": "Sources", "items": {"type": "object", "properties": {"columns": {"type": "array", "maxItems": 256, "description": "Columns", "items": {"type": "object", "properties": {"data_type": {"type": "string", "minLength": 1, "maxLength": 2048, "description": "The data type of the column"}, "extras": {"type": "string", "maxLength": 256, "description": "Column extra information"}, "key": {"type": "string", "maxLength": 512, "description": "The key info of the column"}, "name": {"type": "string", "minLength": 1, "maxLength": 256, "description": "The name of the column"}, "nullable": {"type": "boolean", "description": "Whether the column is nullable, i.e. if true, the column is NOT NULL"}, "watermark": {"type": "string", "maxLength": 512, "description": "Information of the watermark if the column is used for watermark."}}, "required": ["data_type", "name", "nullable"]}}, "create_table": {"type": "string", "maxLength": 4096, "description": "The CREATE TABLE statement"}, "integration_id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "Integration ID"}, "options": {"type": "object", "description": "Option", "properties": {}}, "table_id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "Source ID"}, "table_name": {"type": "string", "description": "Table name"}}, "required": ["columns", "create_table", "options", "table_id", "table_name"]}}, "statement": {"type": "string", "maxLength": 50000, "description": "The INSERT INTO SQL statement that will be performed as a job", "title": "Job SQL statement"}, "version": {"type": "integer", "description": "Version number"}}, "required": ["created_at", "created_by", "id", "sinks", "sources", "statement", "version"]}}, "created_at": {"type": "string", "description": "The creation timestamp of this entity in ISO 8601 format, always in UTC", "title": "Created at"}, "created_by": {"type": "string", "description": "The creator of this entity", "title": "Created by"}, "current_deployment": {"type": "object", "description": "Flink ApplicationDeployment", "properties": {"created_at": {"type": "string", "description": "The creation timestamp of this entity in ISO 8601 format, always in UTC", "title": "Created at"}, "created_by": {"type": "string", "description": "The creator of this entity", "title": "Created by"}, "error_msg": {"type": "string", "description": "Error message describing what caused deployment to fail", "title": "Deployment error"}, "id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "Deployment ID"}, "job_id": {"type": "string", "minLength": 1, "maxLength": 128, "description": "Job ID"}, "last_savepoint": {"type": "string", "minLength": 1, "maxLength": 2048, "description": "Job savepoint"}, "parallelism": {"type": "integer", "minimum": 1, "maximum": 128, "description": "Reading of Flink parallel execution documentation is recommended before setting this value to other than 1. Please do not set this value higher than (total number of nodes x number_of_task_slots), or every new job created will fail.", "title": "Flink Job parallelism"}, "restart_enabled": {"type": "boolean", "description": "Specifies whether a Flink Job is restarted in case it fails"}, "starting_savepoint": {"type": "string", "minLength": 1, "maxLength": 2048, "description": "Job savepoint"}, "status": {"type": "string", "description": "Deployment status", "enum": ["INITIALIZING", "CREATED", "RUNNING", "FAILING", "FAILED", "SAVING", "CANCELLING_REQUESTED", "CANCELLING", "CANCELED", "SAVING_AND_STOP_REQUESTED", "SAVING_AND_STOP", "FINISHED", "RESTARTING", "SUSPENDED", "DELETE_REQUESTED", "DELETING", "RECONCILING"]}, "version_id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "ApplicationVersion ID"}}, "required": ["created_at", "created_by", "id", "parallelism", "restart_enabled", "status", "version_id"]}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "Application ID"}, "message": {"type": "string", "description": "Printable result of the request"}, "name": {"type": "string", "maxLength": 128, "description": "Application name"}, "updated_at": {"type": "string", "description": "The update timestamp of this entity in ISO 8601 format, always in UTC", "title": "Updated at"}, "updated_by": {"type": "string", "description": "The latest updater of this entity", "title": "Updated by"}}, "required": ["application_versions", "created_at", "created_by", "id", "name", "updated_at", "updated_by"]}, "ServiceFlinkGetApplicationDeploymentResponse": {"type": "object", "description": "ServiceFlinkGetApplicationDeploymentResponse", "properties": {"created_at": {"type": "string", "description": "The creation timestamp of this entity in ISO 8601 format, always in UTC", "title": "Created at"}, "created_by": {"type": "string", "description": "The creator of this entity", "title": "Created by"}, "error_msg": {"type": "string", "description": "Error message describing what caused deployment to fail", "title": "Deployment error"}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "Deployment ID"}, "job_id": {"type": "string", "minLength": 1, "maxLength": 128, "description": "Job ID"}, "last_savepoint": {"type": "string", "minLength": 1, "maxLength": 2048, "description": "Job savepoint"}, "message": {"type": "string", "description": "Printable result of the request"}, "parallelism": {"type": "integer", "minimum": 1, "maximum": 128, "description": "Reading of Flink parallel execution documentation is recommended before setting this value to other than 1. Please do not set this value higher than (total number of nodes x number_of_task_slots), or every new job created will fail.", "title": "Flink Job parallelism"}, "restart_enabled": {"type": "boolean", "description": "Specifies whether a Flink Job is restarted in case it fails"}, "starting_savepoint": {"type": "string", "minLength": 1, "maxLength": 2048, "description": "Job savepoint"}, "status": {"type": "string", "description": "Deployment status", "enum": ["INITIALIZING", "CREATED", "RUNNING", "FAILING", "FAILED", "SAVING", "CANCELLING_REQUESTED", "CANCELLING", "CANCELED", "SAVING_AND_STOP_REQUESTED", "SAVING_AND_STOP", "FINISHED", "RESTARTING", "SUSPENDED", "DELETE_REQUESTED", "DELETING", "RECONCILING"]}, "version_id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "ApplicationVersion ID"}}, "required": ["created_at", "created_by", "id", "parallelism", "restart_enabled", "status", "version_id"]}, "ServiceFlinkGetApplicationVersionResponse": {"type": "object", "description": "ServiceFlinkGetApplicationVersionResponse", "properties": {"created_at": {"type": "string", "description": "The creation timestamp of this entity in ISO 8601 format, always in UTC", "title": "Created at"}, "created_by": {"type": "string", "description": "The creator of this entity", "title": "Created by"}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "ApplicationVersion ID"}, "message": {"type": "string", "description": "Printable result of the request"}, "sinks": {"type": "array", "maxItems": 64, "description": "Sinks", "items": {"type": "object", "properties": {"columns": {"type": "array", "maxItems": 256, "description": "Columns", "items": {"type": "object", "properties": {"data_type": {"type": "string", "minLength": 1, "maxLength": 2048, "description": "The data type of the column"}, "extras": {"type": "string", "maxLength": 256, "description": "Column extra information"}, "key": {"type": "string", "maxLength": 512, "description": "The key info of the column"}, "name": {"type": "string", "minLength": 1, "maxLength": 256, "description": "The name of the column"}, "nullable": {"type": "boolean", "description": "Whether the column is nullable, i.e. if true, the column is NOT NULL"}, "watermark": {"type": "string", "maxLength": 512, "description": "Information of the watermark if the column is used for watermark."}}, "required": ["data_type", "name", "nullable"]}}, "create_table": {"type": "string", "maxLength": 4096, "description": "The CREATE TABLE statement"}, "integration_id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "Integration ID"}, "options": {"type": "object", "description": "Option", "properties": {}}, "table_id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "Sink ID"}, "table_name": {"type": "string", "description": "Table name"}}, "required": ["columns", "create_table", "options", "table_id", "table_name"]}}, "sources": {"type": "array", "maxItems": 64, "description": "Sources", "items": {"type": "object", "properties": {"columns": {"type": "array", "maxItems": 256, "description": "Columns", "items": {"type": "object", "properties": {"data_type": {"type": "string", "minLength": 1, "maxLength": 2048, "description": "The data type of the column"}, "extras": {"type": "string", "maxLength": 256, "description": "Column extra information"}, "key": {"type": "string", "maxLength": 512, "description": "The key info of the column"}, "name": {"type": "string", "minLength": 1, "maxLength": 256, "description": "The name of the column"}, "nullable": {"type": "boolean", "description": "Whether the column is nullable, i.e. if true, the column is NOT NULL"}, "watermark": {"type": "string", "maxLength": 512, "description": "Information of the watermark if the column is used for watermark."}}, "required": ["data_type", "name", "nullable"]}}, "create_table": {"type": "string", "maxLength": 4096, "description": "The CREATE TABLE statement"}, "integration_id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "Integration ID"}, "options": {"type": "object", "description": "Option", "properties": {}}, "table_id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "Source ID"}, "table_name": {"type": "string", "description": "Table name"}}, "required": ["columns", "create_table", "options", "table_id", "table_name"]}}, "statement": {"type": "string", "maxLength": 50000, "description": "The INSERT INTO SQL statement that will be performed as a job", "title": "Job SQL statement"}, "version": {"type": "integer", "description": "Version number"}}, "required": ["created_at", "created_by", "id", "sinks", "sources", "statement", "version"]}, "ServiceFlinkGetJarApplicationResponse": {"type": "object", "description": "ServiceFlinkGetJarApplicationResponse", "properties": {"application_versions": {"type": "array", "maxItems": 64, "description": "JarApplicationVersions", "items": {"type": "object", "properties": {"created_at": {"type": "string", "description": "The creation timestamp of this entity in ISO 8601 format, always in UTC", "title": "Created at"}, "created_by": {"type": "string", "description": "The creator of this entity", "title": "Created by"}, "file_info": {"type": "object", "description": "Flink JarApplicationVersion FileInfo", "properties": {"file_sha256": {"type": "string", "minLength": 64, "maxLength": 64, "description": "sha256 of the file if known"}, "file_size": {"type": "integer", "description": "The size of the file in bytes"}, "file_status": {"type": "string", "description": "Indicates whether the uploaded .jar file has been verified by the system and deployment ready", "title": "File status", "enum": ["INITIAL", "READY", "FAILED"]}, "url": {"type": "string", "minLength": 1, "maxLength": 50000, "description": "The pre-signed url of the bucket where the .jar file is uploaded. Becomes null when the JarApplicationVersion is ready or failed.", "title": "AWS s3 pre-signed url"}, "verify_error_code": {"type": "integer", "description": "In the case file_status is FAILED, the error code of the failure.", "title": "Verify error code", "enum": ["1", "2", "3"]}, "verify_error_message": {"type": "string", "minLength": 16, "maxLength": 512, "description": "In the case file_status is FAILED, may contain details about the failure.", "title": "Verify error message"}}}, "id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "ApplicationVersion ID"}, "version": {"type": "integer", "description": "Version number"}}, "required": ["created_at", "created_by", "id", "version"]}}, "created_at": {"type": "string", "description": "The creation timestamp of this entity in ISO 8601 format, always in UTC", "title": "Created at"}, "created_by": {"type": "string", "description": "The creator of this entity", "title": "Created by"}, "current_deployment": {"type": "object", "description": "Flink JarApplicationDeployment", "properties": {"created_at": {"type": "string", "description": "The creation timestamp of this entity in ISO 8601 format, always in UTC", "title": "Created at"}, "created_by": {"type": "string", "description": "The creator of this entity", "title": "Created by"}, "entry_class": {"type": "string", "minLength": 1, "maxLength": 128, "description": "The fully qualified name of the entry class to pass during Flink job submission through the entryClass parameter", "title": "Entry class"}, "error_msg": {"type": "string", "description": "Error message describing what caused deployment to fail", "title": "Deployment error"}, "id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "Deployment ID"}, "job_id": {"type": "string", "minLength": 1, "maxLength": 128, "description": "Job ID"}, "last_savepoint": {"type": "string", "minLength": 1, "maxLength": 2048, "description": "Job savepoint"}, "parallelism": {"type": "integer", "minimum": 1, "maximum": 128, "description": "Reading of Flink parallel execution documentation is recommended before setting this value to other than 1. Please do not set this value higher than (total number of nodes x number_of_task_slots), or every new job created will fail.", "title": "Flink Job parallelism"}, "program_args": {"type": "array", "maxItems": 32, "description": "Arguments to pass during Flink job submission through the programArgsList parameter", "title": "Program arguments", "items": {"type": "string"}}, "starting_savepoint": {"type": "string", "minLength": 1, "maxLength": 2048, "description": "Job savepoint"}, "status": {"type": "string", "description": "Deployment status", "enum": ["INITIALIZING", "CREATED", "RUNNING", "FAILING", "FAILED", "SAVING", "CANCELLING_REQUESTED", "CANCELLING", "CANCELED", "SAVING_AND_STOP_REQUESTED", "SAVING_AND_STOP", "FINISHED", "RESTARTING", "SUSPENDED", "DELETE_REQUESTED", "DELETING", "RECONCILING"]}, "version_id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "ApplicationVersion ID"}}, "required": ["created_at", "created_by", "id", "parallelism", "status", "version_id"]}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "Application ID"}, "message": {"type": "string", "description": "Printable result of the request"}, "name": {"type": "string", "maxLength": 128, "description": "Application name"}, "updated_at": {"type": "string", "description": "The update timestamp of this entity in ISO 8601 format, always in UTC", "title": "Updated at"}, "updated_by": {"type": "string", "description": "The latest updater of this entity", "title": "Updated by"}}, "required": ["application_versions", "created_at", "created_by", "id", "name", "updated_at", "updated_by"]}, "ServiceFlinkGetJarApplicationDeploymentResponse": {"type": "object", "description": "ServiceFlinkGetJarApplicationDeploymentResponse", "properties": {"created_at": {"type": "string", "description": "The creation timestamp of this entity in ISO 8601 format, always in UTC", "title": "Created at"}, "created_by": {"type": "string", "description": "The creator of this entity", "title": "Created by"}, "entry_class": {"type": "string", "minLength": 1, "maxLength": 128, "description": "The fully qualified name of the entry class to pass during Flink job submission through the entryClass parameter", "title": "Entry class"}, "error_msg": {"type": "string", "description": "Error message describing what caused deployment to fail", "title": "Deployment error"}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "Deployment ID"}, "job_id": {"type": "string", "minLength": 1, "maxLength": 128, "description": "Job ID"}, "last_savepoint": {"type": "string", "minLength": 1, "maxLength": 2048, "description": "Job savepoint"}, "message": {"type": "string", "description": "Printable result of the request"}, "parallelism": {"type": "integer", "minimum": 1, "maximum": 128, "description": "Reading of Flink parallel execution documentation is recommended before setting this value to other than 1. Please do not set this value higher than (total number of nodes x number_of_task_slots), or every new job created will fail.", "title": "Flink Job parallelism"}, "program_args": {"type": "array", "maxItems": 32, "description": "Arguments to pass during Flink job submission through the programArgsList parameter", "title": "Program arguments", "items": {"type": "string"}}, "starting_savepoint": {"type": "string", "minLength": 1, "maxLength": 2048, "description": "Job savepoint"}, "status": {"type": "string", "description": "Deployment status", "enum": ["INITIALIZING", "CREATED", "RUNNING", "FAILING", "FAILED", "SAVING", "CANCELLING_REQUESTED", "CANCELLING", "CANCELED", "SAVING_AND_STOP_REQUESTED", "SAVING_AND_STOP", "FINISHED", "RESTARTING", "SUSPENDED", "DELETE_REQUESTED", "DELETING", "RECONCILING"]}, "version_id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "ApplicationVersion ID"}}, "required": ["created_at", "created_by", "id", "parallelism", "status", "version_id"]}, "ServiceFlinkGetJarApplicationVersionResponse": {"type": "object", "description": "ServiceFlinkGetJarApplicationVersionResponse", "properties": {"created_at": {"type": "string", "description": "The creation timestamp of this entity in ISO 8601 format, always in UTC", "title": "Created at"}, "created_by": {"type": "string", "description": "The creator of this entity", "title": "Created by"}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "file_info": {"type": "object", "description": "Flink JarApplicationVersion FileInfo", "properties": {"file_sha256": {"type": "string", "minLength": 64, "maxLength": 64, "description": "sha256 of the file if known"}, "file_size": {"type": "integer", "description": "The size of the file in bytes"}, "file_status": {"type": "string", "description": "Indicates whether the uploaded .jar file has been verified by the system and deployment ready", "title": "File status", "enum": ["INITIAL", "READY", "FAILED"]}, "url": {"type": "string", "minLength": 1, "maxLength": 50000, "description": "The pre-signed url of the bucket where the .jar file is uploaded. Becomes null when the JarApplicationVersion is ready or failed.", "title": "AWS s3 pre-signed url"}, "verify_error_code": {"type": "integer", "description": "In the case file_status is FAILED, the error code of the failure.", "title": "Verify error code", "enum": ["1", "2", "3"]}, "verify_error_message": {"type": "string", "minLength": 16, "maxLength": 512, "description": "In the case file_status is FAILED, may contain details about the failure.", "title": "Verify error message"}}}, "id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "ApplicationVersion ID"}, "message": {"type": "string", "description": "Printable result of the request"}, "version": {"type": "integer", "description": "Version number"}}, "required": ["created_at", "created_by", "id", "version"]}, "ServiceFlinkJobDetailsResponse": {"type": "object", "description": "ServiceFlinkJobDetailsResponse", "properties": {"duration": {"type": "integer", "description": "Duration of the job"}, "end\\-time": {"type": "integer", "description": "End time of the job"}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "isStoppable": {"type": "boolean", "description": "Whether the job is stoppable"}, "jid": {"type": "string", "description": "Job ID"}, "maxParallelism": {"type": "integer", "description": "Max parallelism"}, "message": {"type": "string", "description": "Printable result of the request"}, "name": {"type": "string", "description": "Job name"}, "now": {"type": "integer", "description": "Epoch time"}, "plan": {"type": "object", "description": "Plan", "properties": {}}, "start\\-time": {"type": "integer", "description": "Start time epoch"}, "state": {"type": "string", "description": "Job state", "enum": ["INITIALIZING", "CREATED", "RUNNING", "FAILING", "FAILED", "CANCELLING", "CANCELED", "FINISHED", "RESTARTING", "SUSPENDED", "RECONCILING"]}, "status\\-counts": {"type": "object", "description": "Status counts", "properties": {"CANCELED": {"type": "integer", "description": "CANCELED"}, "CANCELING": {"type": "integer", "description": "CANCELING"}, "CREATED": {"type": "integer", "description": "CREATED"}, "DEPLOYING": {"type": "integer", "description": "DEPLOYING"}, "FAILED": {"type": "integer", "description": "FAILED"}, "FINISHED": {"type": "integer", "description": "FINISHED"}, "INITIALIZING": {"type": "integer", "description": "INITIALIZING"}, "RECONCILING": {"type": "integer", "description": "RECONCILING"}, "RUNNING": {"type": "integer", "description": "RUNNING"}, "SCHEDULED": {"type": "integer", "description": "SCHEDULED"}}}, "timestamps": {"type": "object", "description": "Timestamps", "properties": {}}, "vertices": {"type": "array", "description": "Vertices", "items": {"type": "object", "properties": {}}}}}, "ServiceFlinkJobsListResponse": {"type": "object", "description": "ServiceFlinkJobsListResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "jobs": {"type": "array", "description": "Jobs", "items": {"type": "object", "properties": {"id": {"type": "string", "description": "Job ID"}, "status": {"type": "string", "description": "Job status", "enum": ["INITIALIZING", "CREATED", "RUNNING", "FAILING", "FAILED", "CANCELLING", "CANCELED", "FINISHED", "RESTARTING", "SUSPENDED", "RECONCILING"]}}}}, "message": {"type": "string", "description": "Printable result of the request"}}}, "ServiceFlinkListApplicationDeploymentsResponse": {"type": "object", "description": "ServiceFlinkListApplicationDeploymentsResponse", "properties": {"deployments": {"type": "array", "maxItems": 1024, "description": "Flink ApplicationDeployments", "items": {"type": "object", "properties": {"created_at": {"type": "string", "description": "The creation timestamp of this entity in ISO 8601 format, always in UTC", "title": "Created at"}, "created_by": {"type": "string", "description": "The creator of this entity", "title": "Created by"}, "error_msg": {"type": "string", "description": "Error message describing what caused deployment to fail", "title": "Deployment error"}, "id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "Deployment ID"}, "job_id": {"type": "string", "minLength": 1, "maxLength": 128, "description": "Job ID"}, "last_savepoint": {"type": "string", "minLength": 1, "maxLength": 2048, "description": "Job savepoint"}, "parallelism": {"type": "integer", "minimum": 1, "maximum": 128, "description": "Reading of Flink parallel execution documentation is recommended before setting this value to other than 1. Please do not set this value higher than (total number of nodes x number_of_task_slots), or every new job created will fail.", "title": "Flink Job parallelism"}, "restart_enabled": {"type": "boolean", "description": "Specifies whether a Flink Job is restarted in case it fails"}, "starting_savepoint": {"type": "string", "minLength": 1, "maxLength": 2048, "description": "Job savepoint"}, "status": {"type": "string", "description": "Deployment status", "enum": ["INITIALIZING", "CREATED", "RUNNING", "FAILING", "FAILED", "SAVING", "CANCELLING_REQUESTED", "CANCELLING", "CANCELED", "SAVING_AND_STOP_REQUESTED", "SAVING_AND_STOP", "FINISHED", "RESTARTING", "SUSPENDED", "DELETE_REQUESTED", "DELETING", "RECONCILING"]}, "version_id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "ApplicationVersion ID"}}, "required": ["created_at", "created_by", "id", "parallelism", "restart_enabled", "status", "version_id"]}}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}, "required": ["deployments"]}, "ServiceFlinkListApplicationsResponse": {"type": "object", "description": "ServiceFlinkListApplicationsResponse", "properties": {"applications": {"type": "array", "maxItems": 1024, "description": "Flink Applications", "items": {"type": "object", "properties": {"created_at": {"type": "string", "description": "The creation timestamp of this entity in ISO 8601 format, always in UTC", "title": "Created at"}, "created_by": {"type": "string", "description": "The creator of this entity", "title": "Created by"}, "id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "Application ID"}, "name": {"type": "string", "maxLength": 128, "description": "Application name"}, "updated_at": {"type": "string", "description": "The update timestamp of this entity in ISO 8601 format, always in UTC", "title": "Updated at"}, "updated_by": {"type": "string", "description": "The latest updater of this entity", "title": "Updated by"}}, "required": ["id", "name"]}}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}, "required": ["applications"]}, "ServiceFlinkListJarApplicationDeploymentsResponse": {"type": "object", "description": "ServiceFlinkListJarApplicationDeploymentsResponse", "properties": {"deployments": {"type": "array", "maxItems": 1024, "description": "Flink JarApplicationDeployments", "items": {"type": "object", "properties": {"created_at": {"type": "string", "description": "The creation timestamp of this entity in ISO 8601 format, always in UTC", "title": "Created at"}, "created_by": {"type": "string", "description": "The creator of this entity", "title": "Created by"}, "entry_class": {"type": "string", "minLength": 1, "maxLength": 128, "description": "The fully qualified name of the entry class to pass during Flink job submission through the entryClass parameter", "title": "Entry class"}, "error_msg": {"type": "string", "description": "Error message describing what caused deployment to fail", "title": "Deployment error"}, "id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "Deployment ID"}, "job_id": {"type": "string", "minLength": 1, "maxLength": 128, "description": "Job ID"}, "last_savepoint": {"type": "string", "minLength": 1, "maxLength": 2048, "description": "Job savepoint"}, "parallelism": {"type": "integer", "minimum": 1, "maximum": 128, "description": "Reading of Flink parallel execution documentation is recommended before setting this value to other than 1. Please do not set this value higher than (total number of nodes x number_of_task_slots), or every new job created will fail.", "title": "Flink Job parallelism"}, "program_args": {"type": "array", "maxItems": 32, "description": "Arguments to pass during Flink job submission through the programArgsList parameter", "title": "Program arguments", "items": {"type": "string"}}, "starting_savepoint": {"type": "string", "minLength": 1, "maxLength": 2048, "description": "Job savepoint"}, "status": {"type": "string", "description": "Deployment status", "enum": ["INITIALIZING", "CREATED", "RUNNING", "FAILING", "FAILED", "SAVING", "CANCELLING_REQUESTED", "CANCELLING", "CANCELED", "SAVING_AND_STOP_REQUESTED", "SAVING_AND_STOP", "FINISHED", "RESTARTING", "SUSPENDED", "DELETE_REQUESTED", "DELETING", "RECONCILING"]}, "version_id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "ApplicationVersion ID"}}, "required": ["created_at", "created_by", "id", "parallelism", "status", "version_id"]}}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}, "required": ["deployments"]}, "ServiceFlinkListJarApplicationsResponse": {"type": "object", "description": "ServiceFlinkListJarApplicationsResponse", "properties": {"applications": {"type": "array", "maxItems": 1024, "description": "Flink JarApplications", "items": {"type": "object", "properties": {"created_at": {"type": "string", "description": "The creation timestamp of this entity in ISO 8601 format, always in UTC", "title": "Created at"}, "created_by": {"type": "string", "description": "The creator of this entity", "title": "Created by"}, "id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "Application ID"}, "name": {"type": "string", "maxLength": 128, "description": "Application name"}, "updated_at": {"type": "string", "description": "The update timestamp of this entity in ISO 8601 format, always in UTC", "title": "Updated at"}, "updated_by": {"type": "string", "description": "The latest updater of this entity", "title": "Updated by"}}, "required": ["id", "name"]}}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}, "required": ["applications"]}, "ServiceFlinkOverviewResponse": {"type": "object", "description": "ServiceFlinkOverviewResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "flink\\-commit": {"type": "string", "description": "Commit of Flink version"}, "flink\\-version": {"type": "string", "description": "Flink version"}, "jobs\\-cancelled": {"type": "integer", "description": "Number of cancelled jobs"}, "jobs\\-failed": {"type": "integer", "description": "Number of failed jobs"}, "jobs\\-finished": {"type": "integer", "description": "Number of finished jobs"}, "jobs\\-running": {"type": "integer", "description": "Number of running jobs"}, "message": {"type": "string", "description": "Printable result of the request"}, "slots\\-available": {"type": "integer", "description": "Number of slots available"}, "slots\\-total": {"type": "integer", "description": "Number of slots"}, "taskmanagers": {"type": "integer", "description": "Number of TaskManagers"}}}, "ServiceFlinkStopApplicationDeploymentResponse": {"type": "object", "description": "ServiceFlinkStopApplicationDeploymentResponse", "properties": {"created_at": {"type": "string", "description": "The creation timestamp of this entity in ISO 8601 format, always in UTC", "title": "Created at"}, "created_by": {"type": "string", "description": "The creator of this entity", "title": "Created by"}, "error_msg": {"type": "string", "description": "Error message describing what caused deployment to fail", "title": "Deployment error"}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "Deployment ID"}, "job_id": {"type": "string", "minLength": 1, "maxLength": 128, "description": "Job ID"}, "last_savepoint": {"type": "string", "minLength": 1, "maxLength": 2048, "description": "Job savepoint"}, "message": {"type": "string", "description": "Printable result of the request"}, "parallelism": {"type": "integer", "minimum": 1, "maximum": 128, "description": "Reading of Flink parallel execution documentation is recommended before setting this value to other than 1. Please do not set this value higher than (total number of nodes x number_of_task_slots), or every new job created will fail.", "title": "Flink Job parallelism"}, "restart_enabled": {"type": "boolean", "description": "Specifies whether a Flink Job is restarted in case it fails"}, "starting_savepoint": {"type": "string", "minLength": 1, "maxLength": 2048, "description": "Job savepoint"}, "status": {"type": "string", "description": "Deployment status", "enum": ["INITIALIZING", "CREATED", "RUNNING", "FAILING", "FAILED", "SAVING", "CANCELLING_REQUESTED", "CANCELLING", "CANCELED", "SAVING_AND_STOP_REQUESTED", "SAVING_AND_STOP", "FINISHED", "RESTARTING", "SUSPENDED", "DELETE_REQUESTED", "DELETING", "RECONCILING"]}, "version_id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "ApplicationVersion ID"}}, "required": ["created_at", "created_by", "id", "parallelism", "restart_enabled", "status", "version_id"]}, "ServiceFlinkStopJarApplicationDeploymentResponse": {"type": "object", "description": "ServiceFlinkStopJarApplicationDeploymentResponse", "properties": {"created_at": {"type": "string", "description": "The creation timestamp of this entity in ISO 8601 format, always in UTC", "title": "Created at"}, "created_by": {"type": "string", "description": "The creator of this entity", "title": "Created by"}, "entry_class": {"type": "string", "minLength": 1, "maxLength": 128, "description": "The fully qualified name of the entry class to pass during Flink job submission through the entryClass parameter", "title": "Entry class"}, "error_msg": {"type": "string", "description": "Error message describing what caused deployment to fail", "title": "Deployment error"}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "Deployment ID"}, "job_id": {"type": "string", "minLength": 1, "maxLength": 128, "description": "Job ID"}, "last_savepoint": {"type": "string", "minLength": 1, "maxLength": 2048, "description": "Job savepoint"}, "message": {"type": "string", "description": "Printable result of the request"}, "parallelism": {"type": "integer", "minimum": 1, "maximum": 128, "description": "Reading of Flink parallel execution documentation is recommended before setting this value to other than 1. Please do not set this value higher than (total number of nodes x number_of_task_slots), or every new job created will fail.", "title": "Flink Job parallelism"}, "program_args": {"type": "array", "maxItems": 32, "description": "Arguments to pass during Flink job submission through the programArgsList parameter", "title": "Program arguments", "items": {"type": "string"}}, "starting_savepoint": {"type": "string", "minLength": 1, "maxLength": 2048, "description": "Job savepoint"}, "status": {"type": "string", "description": "Deployment status", "enum": ["INITIALIZING", "CREATED", "RUNNING", "FAILING", "FAILED", "SAVING", "CANCELLING_REQUESTED", "CANCELLING", "CANCELED", "SAVING_AND_STOP_REQUESTED", "SAVING_AND_STOP", "FINISHED", "RESTARTING", "SUSPENDED", "DELETE_REQUESTED", "DELETING", "RECONCILING"]}, "version_id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "ApplicationVersion ID"}}, "required": ["created_at", "created_by", "id", "parallelism", "status", "version_id"]}, "ServiceFlinkUpdateApplicationRequestBody": {"type": "object", "description": "ServiceFlinkUpdateApplicationRequestBody", "properties": {"name": {"type": "string", "maxLength": 128, "description": "Application name"}}, "required": ["name"]}, "ServiceFlinkUpdateApplicationResponse": {"type": "object", "description": "ServiceFlinkUpdateApplicationResponse", "properties": {"application_versions": {"type": "array", "maxItems": 64, "description": "ApplicationVersions", "items": {"type": "object", "properties": {"created_at": {"type": "string", "description": "The creation timestamp of this entity in ISO 8601 format, always in UTC", "title": "Created at"}, "created_by": {"type": "string", "description": "The creator of this entity", "title": "Created by"}, "id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "ApplicationVersion ID"}, "sinks": {"type": "array", "maxItems": 64, "description": "Sinks", "items": {"type": "object", "properties": {"columns": {"type": "array", "maxItems": 256, "description": "Columns", "items": {"type": "object", "properties": {"data_type": {"type": "string", "minLength": 1, "maxLength": 2048, "description": "The data type of the column"}, "extras": {"type": "string", "maxLength": 256, "description": "Column extra information"}, "key": {"type": "string", "maxLength": 512, "description": "The key info of the column"}, "name": {"type": "string", "minLength": 1, "maxLength": 256, "description": "The name of the column"}, "nullable": {"type": "boolean", "description": "Whether the column is nullable, i.e. if true, the column is NOT NULL"}, "watermark": {"type": "string", "maxLength": 512, "description": "Information of the watermark if the column is used for watermark."}}, "required": ["data_type", "name", "nullable"]}}, "create_table": {"type": "string", "maxLength": 4096, "description": "The CREATE TABLE statement"}, "integration_id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "Integration ID"}, "options": {"type": "object", "description": "Option", "properties": {}}, "table_id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "Sink ID"}, "table_name": {"type": "string", "description": "Table name"}}, "required": ["columns", "create_table", "options", "table_id", "table_name"]}}, "sources": {"type": "array", "maxItems": 64, "description": "Sources", "items": {"type": "object", "properties": {"columns": {"type": "array", "maxItems": 256, "description": "Columns", "items": {"type": "object", "properties": {"data_type": {"type": "string", "minLength": 1, "maxLength": 2048, "description": "The data type of the column"}, "extras": {"type": "string", "maxLength": 256, "description": "Column extra information"}, "key": {"type": "string", "maxLength": 512, "description": "The key info of the column"}, "name": {"type": "string", "minLength": 1, "maxLength": 256, "description": "The name of the column"}, "nullable": {"type": "boolean", "description": "Whether the column is nullable, i.e. if true, the column is NOT NULL"}, "watermark": {"type": "string", "maxLength": 512, "description": "Information of the watermark if the column is used for watermark."}}, "required": ["data_type", "name", "nullable"]}}, "create_table": {"type": "string", "maxLength": 4096, "description": "The CREATE TABLE statement"}, "integration_id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "Integration ID"}, "options": {"type": "object", "description": "Option", "properties": {}}, "table_id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "Source ID"}, "table_name": {"type": "string", "description": "Table name"}}, "required": ["columns", "create_table", "options", "table_id", "table_name"]}}, "statement": {"type": "string", "maxLength": 50000, "description": "The INSERT INTO SQL statement that will be performed as a job", "title": "Job SQL statement"}, "version": {"type": "integer", "description": "Version number"}}, "required": ["created_at", "created_by", "id", "sinks", "sources", "statement", "version"]}}, "created_at": {"type": "string", "description": "The creation timestamp of this entity in ISO 8601 format, always in UTC", "title": "Created at"}, "created_by": {"type": "string", "description": "The creator of this entity", "title": "Created by"}, "current_deployment": {"type": "object", "description": "Flink ApplicationDeployment", "properties": {"created_at": {"type": "string", "description": "The creation timestamp of this entity in ISO 8601 format, always in UTC", "title": "Created at"}, "created_by": {"type": "string", "description": "The creator of this entity", "title": "Created by"}, "error_msg": {"type": "string", "description": "Error message describing what caused deployment to fail", "title": "Deployment error"}, "id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "Deployment ID"}, "job_id": {"type": "string", "minLength": 1, "maxLength": 128, "description": "Job ID"}, "last_savepoint": {"type": "string", "minLength": 1, "maxLength": 2048, "description": "Job savepoint"}, "parallelism": {"type": "integer", "minimum": 1, "maximum": 128, "description": "Reading of Flink parallel execution documentation is recommended before setting this value to other than 1. Please do not set this value higher than (total number of nodes x number_of_task_slots), or every new job created will fail.", "title": "Flink Job parallelism"}, "restart_enabled": {"type": "boolean", "description": "Specifies whether a Flink Job is restarted in case it fails"}, "starting_savepoint": {"type": "string", "minLength": 1, "maxLength": 2048, "description": "Job savepoint"}, "status": {"type": "string", "description": "Deployment status", "enum": ["INITIALIZING", "CREATED", "RUNNING", "FAILING", "FAILED", "SAVING", "CANCELLING_REQUESTED", "CANCELLING", "CANCELED", "SAVING_AND_STOP_REQUESTED", "SAVING_AND_STOP", "FINISHED", "RESTARTING", "SUSPENDED", "DELETE_REQUESTED", "DELETING", "RECONCILING"]}, "version_id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "ApplicationVersion ID"}}, "required": ["created_at", "created_by", "id", "parallelism", "restart_enabled", "status", "version_id"]}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "Application ID"}, "message": {"type": "string", "description": "Printable result of the request"}, "name": {"type": "string", "maxLength": 128, "description": "Application name"}, "updated_at": {"type": "string", "description": "The update timestamp of this entity in ISO 8601 format, always in UTC", "title": "Updated at"}, "updated_by": {"type": "string", "description": "The latest updater of this entity", "title": "Updated by"}}, "required": ["application_versions", "created_at", "created_by", "id", "name", "updated_at", "updated_by"]}, "ServiceFlinkUpdateJarApplicationRequestBody": {"type": "object", "description": "ServiceFlinkUpdateJarApplicationRequestBody", "properties": {"name": {"type": "string", "maxLength": 128, "description": "Application name"}}, "required": ["name"]}, "ServiceFlinkUpdateJarApplicationResponse": {"type": "object", "description": "ServiceFlinkUpdateJarApplicationResponse", "properties": {"application_versions": {"type": "array", "maxItems": 64, "description": "JarApplicationVersions", "items": {"type": "object", "properties": {"created_at": {"type": "string", "description": "The creation timestamp of this entity in ISO 8601 format, always in UTC", "title": "Created at"}, "created_by": {"type": "string", "description": "The creator of this entity", "title": "Created by"}, "file_info": {"type": "object", "description": "Flink JarApplicationVersion FileInfo", "properties": {"file_sha256": {"type": "string", "minLength": 64, "maxLength": 64, "description": "sha256 of the file if known"}, "file_size": {"type": "integer", "description": "The size of the file in bytes"}, "file_status": {"type": "string", "description": "Indicates whether the uploaded .jar file has been verified by the system and deployment ready", "title": "File status", "enum": ["INITIAL", "READY", "FAILED"]}, "url": {"type": "string", "minLength": 1, "maxLength": 50000, "description": "The pre-signed url of the bucket where the .jar file is uploaded. Becomes null when the JarApplicationVersion is ready or failed.", "title": "AWS s3 pre-signed url"}, "verify_error_code": {"type": "integer", "description": "In the case file_status is FAILED, the error code of the failure.", "title": "Verify error code", "enum": ["1", "2", "3"]}, "verify_error_message": {"type": "string", "minLength": 16, "maxLength": 512, "description": "In the case file_status is FAILED, may contain details about the failure.", "title": "Verify error message"}}}, "id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "ApplicationVersion ID"}, "version": {"type": "integer", "description": "Version number"}}, "required": ["created_at", "created_by", "id", "version"]}}, "created_at": {"type": "string", "description": "The creation timestamp of this entity in ISO 8601 format, always in UTC", "title": "Created at"}, "created_by": {"type": "string", "description": "The creator of this entity", "title": "Created by"}, "current_deployment": {"type": "object", "description": "Flink JarApplicationDeployment", "properties": {"created_at": {"type": "string", "description": "The creation timestamp of this entity in ISO 8601 format, always in UTC", "title": "Created at"}, "created_by": {"type": "string", "description": "The creator of this entity", "title": "Created by"}, "entry_class": {"type": "string", "minLength": 1, "maxLength": 128, "description": "The fully qualified name of the entry class to pass during Flink job submission through the entryClass parameter", "title": "Entry class"}, "error_msg": {"type": "string", "description": "Error message describing what caused deployment to fail", "title": "Deployment error"}, "id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "Deployment ID"}, "job_id": {"type": "string", "minLength": 1, "maxLength": 128, "description": "Job ID"}, "last_savepoint": {"type": "string", "minLength": 1, "maxLength": 2048, "description": "Job savepoint"}, "parallelism": {"type": "integer", "minimum": 1, "maximum": 128, "description": "Reading of Flink parallel execution documentation is recommended before setting this value to other than 1. Please do not set this value higher than (total number of nodes x number_of_task_slots), or every new job created will fail.", "title": "Flink Job parallelism"}, "program_args": {"type": "array", "maxItems": 32, "description": "Arguments to pass during Flink job submission through the programArgsList parameter", "title": "Program arguments", "items": {"type": "string"}}, "starting_savepoint": {"type": "string", "minLength": 1, "maxLength": 2048, "description": "Job savepoint"}, "status": {"type": "string", "description": "Deployment status", "enum": ["INITIALIZING", "CREATED", "RUNNING", "FAILING", "FAILED", "SAVING", "CANCELLING_REQUESTED", "CANCELLING", "CANCELED", "SAVING_AND_STOP_REQUESTED", "SAVING_AND_STOP", "FINISHED", "RESTARTING", "SUSPENDED", "DELETE_REQUESTED", "DELETING", "RECONCILING"]}, "version_id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "ApplicationVersion ID"}}, "required": ["created_at", "created_by", "id", "parallelism", "status", "version_id"]}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "Application ID"}, "message": {"type": "string", "description": "Printable result of the request"}, "name": {"type": "string", "maxLength": 128, "description": "Application name"}, "updated_at": {"type": "string", "description": "The update timestamp of this entity in ISO 8601 format, always in UTC", "title": "Updated at"}, "updated_by": {"type": "string", "description": "The latest updater of this entity", "title": "Updated by"}}, "required": ["application_versions", "created_at", "created_by", "id", "name", "updated_at", "updated_by"]}, "ServiceFlinkValidateApplicationVersionRequestBody": {"type": "object", "description": "ServiceFlinkValidateApplicationVersionRequestBody", "properties": {"sinks": {"type": "array", "maxItems": 64, "description": "Sinks", "items": {"type": "object", "properties": {"create_table": {"type": "string", "maxLength": 4096, "description": "The CREATE TABLE statement"}, "integration_id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "Integration ID"}}, "required": ["create_table"]}}, "sources": {"type": "array", "maxItems": 64, "description": "Sources", "items": {"type": "object", "properties": {"create_table": {"type": "string", "maxLength": 4096, "description": "The CREATE TABLE statement"}, "integration_id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "Integration ID"}}, "required": ["create_table"]}}, "statement": {"type": "string", "maxLength": 50000, "description": "The INSERT INTO SQL statement that will be performed as a job", "title": "Job SQL statement"}}, "required": ["sinks", "sources"]}, "ServiceFlinkValidateApplicationVersionResponse": {"type": "object", "description": "ServiceFlinkValidateApplicationVersionResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "sinks": {"type": "array", "maxItems": 64, "description": "Sinks and sink validation errors", "items": {"type": "object", "properties": {"columns": {"type": "array", "maxItems": 256, "description": "Columns", "items": {"type": "object", "properties": {"data_type": {"type": "string", "minLength": 1, "maxLength": 2048, "description": "The data type of the column"}, "extras": {"type": "string", "maxLength": 256, "description": "Column extra information"}, "key": {"type": "string", "maxLength": 512, "description": "The key info of the column"}, "name": {"type": "string", "minLength": 1, "maxLength": 256, "description": "The name of the column"}, "nullable": {"type": "boolean", "description": "Whether the column is nullable, i.e. if true, the column is NOT NULL"}, "watermark": {"type": "string", "maxLength": 512, "description": "Information of the watermark if the column is used for watermark."}}, "required": ["data_type", "name", "nullable"]}}, "create_table": {"type": "string", "maxLength": 4096, "description": "The CREATE TABLE statement"}, "integration_id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "Integration ID"}, "message": {"type": "string", "description": "The error message."}, "options": {"type": "object", "description": "Option", "properties": {}}, "position": {"type": "object", "description": "Error position in the SQL.", "properties": {"character_number": {"type": "integer", "description": "Character number of where the error starts, starting from 1."}, "end_character_number": {"type": "integer", "description": "Character number of where the error starts, starting from 1."}, "end_line_number": {"type": "integer", "description": "Line number of where the error ends, starting from 1."}, "line_number": {"type": "integer", "description": "Line number of where the error starts, starting from 1."}}, "required": ["character_number", "end_character_number", "end_line_number", "line_number"]}, "table_name": {"type": "string", "description": "Table name"}}, "required": ["create_table"]}}, "sources": {"type": "array", "maxItems": 64, "description": "Sources and source validation errors", "items": {"type": "object", "properties": {"columns": {"type": "array", "maxItems": 256, "description": "Columns", "items": {"type": "object", "properties": {"data_type": {"type": "string", "minLength": 1, "maxLength": 2048, "description": "The data type of the column"}, "extras": {"type": "string", "maxLength": 256, "description": "Column extra information"}, "key": {"type": "string", "maxLength": 512, "description": "The key info of the column"}, "name": {"type": "string", "minLength": 1, "maxLength": 256, "description": "The name of the column"}, "nullable": {"type": "boolean", "description": "Whether the column is nullable, i.e. if true, the column is NOT NULL"}, "watermark": {"type": "string", "maxLength": 512, "description": "Information of the watermark if the column is used for watermark."}}, "required": ["data_type", "name", "nullable"]}}, "create_table": {"type": "string", "maxLength": 4096, "description": "The CREATE TABLE statement"}, "integration_id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "Integration ID"}, "message": {"type": "string", "description": "The error message."}, "options": {"type": "object", "description": "Option", "properties": {}}, "position": {"type": "object", "description": "Error position in the SQL.", "properties": {"character_number": {"type": "integer", "description": "Character number of where the error starts, starting from 1."}, "end_character_number": {"type": "integer", "description": "Character number of where the error starts, starting from 1."}, "end_line_number": {"type": "integer", "description": "Line number of where the error ends, starting from 1."}, "line_number": {"type": "integer", "description": "Line number of where the error starts, starting from 1."}}, "required": ["character_number", "end_character_number", "end_line_number", "line_number"]}, "table_name": {"type": "string", "description": "Table name"}}, "required": ["create_table"]}}, "statement": {"type": "string", "maxLength": 50000, "description": "The INSERT INTO SQL statement that will be performed as a job", "title": "Job SQL statement"}, "statement_error": {"type": "object", "description": "Job validation error", "properties": {"message": {"type": "string", "description": "The error message."}, "position": {"type": "object", "description": "Error position in the SQL.", "properties": {"character_number": {"type": "integer", "description": "Character number of where the error starts, starting from 1."}, "end_character_number": {"type": "integer", "description": "Character number of where the error starts, starting from 1."}, "end_line_number": {"type": "integer", "description": "Line number of where the error ends, starting from 1."}, "line_number": {"type": "integer", "description": "Line number of where the error starts, starting from 1."}}, "required": ["character_number", "end_character_number", "end_line_number", "line_number"]}}, "required": ["message"]}}, "required": ["sinks", "sources"]}, "ServiceKafkaAclAddRequestBody": {"type": "object", "description": "ServiceKafkaAclAddRequestBody", "properties": {"permission": {"type": "string", "description": "Kafka permission", "enum": ["admin", "read", "readwrite", "write"]}, "topic": {"type": "string", "minLength": 1, "maxLength": 249, "description": "Topic name pattern"}, "username": {"type": "string", "minLength": 1, "maxLength": 64, "description": "Username"}}, "required": ["permission", "topic", "username"]}, "ServiceKafkaAclAddResponse": {"type": "object", "description": "ServiceKafkaAclAddResponse", "properties": {"acl": {"type": "array", "description": "List of Aiven ACL entries for Kafka service", "items": {"type": "object", "properties": {"id": {"type": "string", "maxLength": 40, "description": "ID"}, "permission": {"type": "string", "description": "Kafka permission", "enum": ["admin", "read", "readwrite", "write"]}, "topic": {"type": "string", "minLength": 1, "maxLength": 249, "description": "Topic name pattern"}, "username": {"type": "string", "minLength": 1, "maxLength": 64, "description": "Username"}}, "required": ["permission", "topic", "username"]}}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}, "required": ["acl"]}, "ServiceKafkaAclDeleteResponse": {"type": "object", "description": "ServiceKafkaAclDeleteResponse", "properties": {"acl": {"type": "array", "description": "List of Aiven ACL entries for Kafka service", "items": {"type": "object", "properties": {"id": {"type": "string", "maxLength": 40, "description": "ID"}, "permission": {"type": "string", "description": "Kafka permission", "enum": ["admin", "read", "readwrite", "write"]}, "topic": {"type": "string", "minLength": 1, "maxLength": 249, "description": "Topic name pattern"}, "username": {"type": "string", "minLength": 1, "maxLength": 64, "description": "Username"}}, "required": ["permission", "topic", "username"]}}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}, "required": ["acl"]}, "ServiceKafkaAclListResponse": {"type": "object", "description": "ServiceKafkaAclListResponse", "properties": {"acl": {"type": "array", "description": "List of Aiven ACL entries for Kafka service", "items": {"type": "object", "properties": {"id": {"type": "string", "maxLength": 40, "description": "ID"}, "permission": {"type": "string", "description": "Kafka permission", "enum": ["admin", "read", "readwrite", "write"]}, "topic": {"type": "string", "minLength": 1, "maxLength": 249, "description": "Topic name pattern"}, "username": {"type": "string", "minLength": 1, "maxLength": 64, "description": "Username"}}, "required": ["permission", "topic", "username"]}}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}, "required": ["acl"]}, "ServiceKafkaConnectCreateConnectorRequestBody": {"type": "object", "description": "ServiceKafkaConnectCreateConnectorRequestBody", "properties": {"connector.class": {"type": "string", "maxLength": 1024, "description": "The Java class for the connector"}, "name": {"type": "string", "maxLength": 1024, "description": "Unique name for the connector"}}, "required": ["connector.class", "name"]}, "ServiceKafkaConnectCreateConnectorResponse": {"type": "object", "description": "ServiceKafkaConnectCreateConnectorResponse", "properties": {"connector": {"type": "object", "description": "Kafka connector information", "properties": {"config": {"type": "object", "description": "Connector configuration parameters", "properties": {"connector.class": {"type": "string", "maxLength": 1024, "description": "The Java class for the connector"}, "name": {"type": "string", "maxLength": 1024, "description": "Unique name for the connector"}}, "required": ["connector.class", "name"]}, "name": {"type": "string", "maxLength": 1024, "description": "Connector name"}, "plugin": {"type": "object", "description": "Kafka Connector plugin information", "properties": {"author": {"type": "string", "description": "Connector author name"}, "available_versions": {"type": "array", "description": "Versions available on the service", "items": {"type": "object", "properties": {"deprecated": {"type": "boolean", "description": "If the version is deprecated."}, "needs_maintenance": {"type": "boolean", "description": "Using this version requires a maintenance update."}, "version": {"type": "string", "description": "Connector version number"}}}}, "class": {"type": "string", "description": "Connector class name"}, "docURL": {"type": "string", "description": "Connector documentation URL"}, "plugin_name": {"type": "string", "description": "Connector plugin name"}, "preview": {"type": "boolean", "description": "Describes if connector is in beta"}, "preview_info": {"type": "string", "description": "Information about beta stage of connector"}, "title": {"type": "string", "description": "Descriptive human readable name defined by Aiven"}, "type": {"type": "string", "description": "Describes whether data flows from or to Kafka", "enum": ["sink", "source", "unknown"]}, "version": {"type": "string", "description": "Connector version number"}}, "required": ["author", "class", "docURL", "title", "type", "version"]}, "tasks": {"type": "array", "description": "List of tasks of a connector", "items": {"type": "object", "properties": {"connector": {"type": "string", "description": "Related connector name"}, "task": {"type": "integer", "description": "Task id / number"}}, "required": ["connector", "task"]}}}, "required": ["config", "name", "plugin", "tasks"]}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}, "required": ["connector"]}, "ServiceKafkaConnectDeleteConnectorResponse": {"type": "object", "description": "ServiceKafkaConnectDeleteConnectorResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}}, "ServiceKafkaConnectEditConnectorRequestBody": {"type": "object", "description": "ServiceKafkaConnectEditConnectorRequestBody", "properties": {"connector.class": {"type": "string", "maxLength": 1024, "description": "The Java class for the connector"}, "name": {"type": "string", "maxLength": 1024, "description": "Unique name for the connector"}}, "required": ["connector.class", "name"]}, "ServiceKafkaConnectEditConnectorResponse": {"type": "object", "description": "ServiceKafkaConnectEditConnectorResponse", "properties": {"connector": {"type": "object", "description": "Kafka connector information", "properties": {"config": {"type": "object", "description": "Connector configuration parameters", "properties": {"connector.class": {"type": "string", "maxLength": 1024, "description": "The Java class for the connector"}, "name": {"type": "string", "maxLength": 1024, "description": "Unique name for the connector"}}, "required": ["connector.class", "name"]}, "name": {"type": "string", "maxLength": 1024, "description": "Connector name"}, "plugin": {"type": "object", "description": "Kafka Connector plugin information", "properties": {"author": {"type": "string", "description": "Connector author name"}, "available_versions": {"type": "array", "description": "Versions available on the service", "items": {"type": "object", "properties": {"deprecated": {"type": "boolean", "description": "If the version is deprecated."}, "needs_maintenance": {"type": "boolean", "description": "Using this version requires a maintenance update."}, "version": {"type": "string", "description": "Connector version number"}}}}, "class": {"type": "string", "description": "Connector class name"}, "docURL": {"type": "string", "description": "Connector documentation URL"}, "plugin_name": {"type": "string", "description": "Connector plugin name"}, "preview": {"type": "boolean", "description": "Describes if connector is in beta"}, "preview_info": {"type": "string", "description": "Information about beta stage of connector"}, "title": {"type": "string", "description": "Descriptive human readable name defined by Aiven"}, "type": {"type": "string", "description": "Describes whether data flows from or to Kafka", "enum": ["sink", "source", "unknown"]}, "version": {"type": "string", "description": "Connector version number"}}, "required": ["author", "class", "docURL", "title", "type", "version"]}, "tasks": {"type": "array", "description": "List of tasks of a connector", "items": {"type": "object", "properties": {"connector": {"type": "string", "description": "Related connector name"}, "task": {"type": "integer", "description": "Task id / number"}}, "required": ["connector", "task"]}}}, "required": ["config", "name", "plugin", "tasks"]}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}, "required": ["connector"]}, "ServiceKafkaConnectGetAvailableConnectorsResponse": {"type": "object", "description": "ServiceKafkaConnectGetAvailableConnectorsResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "plugins": {"type": "array", "description": "List of available Kafka Connect connector plugins", "items": {"type": "object", "properties": {"author": {"type": "string", "description": "Connector author name"}, "available_versions": {"type": "array", "description": "Versions available on the service", "items": {"type": "object", "properties": {"deprecated": {"type": "boolean", "description": "If the version is deprecated."}, "needs_maintenance": {"type": "boolean", "description": "Using this version requires a maintenance update."}, "version": {"type": "string", "description": "Connector version number"}}}}, "class": {"type": "string", "description": "Connector class name"}, "docURL": {"type": "string", "description": "Connector documentation URL"}, "plugin_name": {"type": "string", "description": "Connector plugin name"}, "preview": {"type": "boolean", "description": "Describes if connector is in beta"}, "preview_info": {"type": "string", "description": "Information about beta stage of connector"}, "title": {"type": "string", "description": "Descriptive human readable name defined by Aiven"}, "type": {"type": "string", "description": "Describes whether data flows from or to Kafka", "enum": ["sink", "source", "unknown"]}, "version": {"type": "string", "description": "Connector version number"}}, "required": ["author", "class", "docURL", "title", "type", "version"]}}}, "required": ["plugins"]}, "ServiceKafkaConnectGetConnectorConfigurationResponse": {"type": "object", "description": "ServiceKafkaConnectGetConnectorConfigurationResponse", "properties": {"configuration_schema": {"type": "array", "description": "List of connector configuration field definitions", "items": {"type": "object", "properties": {"default_value": {"type": "string", "description": "Default value to be set if field omitted in configuration"}, "display_name": {"type": "string", "description": "Human friendly name of the field"}, "documentation": {"type": "string", "description": "Assisting help text"}, "group": {"type": "string", "description": "Name of the field group to which the field belongs to"}, "importance": {"type": "string", "description": "How important is the field", "enum": ["LOW", "MEDIUM", "HIGH"]}, "name": {"type": "string", "description": "Machine friendly name of the field"}, "order": {"type": "integer", "description": "Position of the field in the configuration form"}, "required": {"type": "boolean", "description": "Defines if the field value is mandatory or not"}, "type": {"type": "string", "description": "Configuration value type", "enum": ["STRING", "INT", "SHORT", "LONG", "DOUBLE", "BOOLEAN", "LIST", "CLASS", "PASSWORD"]}, "width": {"type": "string", "description": "Expected length of the input value", "enum": ["NONE", "SHORT", "MEDIUM", "LONG"]}}, "required": ["default_value", "display_name", "documentation", "group", "importance", "name", "order", "required", "type", "width"]}}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}, "required": ["configuration_schema"]}, "ServiceKafkaConnectGetConnectorStatusResponse": {"type": "object", "description": "ServiceKafkaConnectGetConnectorStatusResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "status": {"type": "object", "description": "Connector status information", "properties": {"state": {"type": "string", "description": "Current status of the connector", "enum": ["FAILED", "PAUSED", "RUNNING", "STOPPED", "UNASSIGNED"]}, "tasks": {"type": "array", "description": "List of tasks currently running for the connector", "items": {"type": "object", "properties": {"id": {"type": "integer", "description": "Task identifier"}, "state": {"type": "string", "description": "Current status of the task", "enum": ["FAILED", "PAUSED", "RUNNING", "STOPPED", "UNASSIGNED"]}, "trace": {"type": "string", "description": "Task error information"}}, "required": ["id", "state", "trace"]}}}, "required": ["state", "tasks"]}}, "required": ["status"]}, "ServiceKafkaConnectListResponse": {"type": "object", "description": "ServiceKafkaConnectListResponse", "properties": {"connectors": {"type": "array", "description": "List of active Kafka Connect connectors", "items": {"type": "object", "properties": {"config": {"type": "object", "description": "Connector configuration parameters", "properties": {"connector.class": {"type": "string", "maxLength": 1024, "description": "The Java class for the connector"}, "name": {"type": "string", "maxLength": 1024, "description": "Unique name for the connector"}}, "required": ["connector.class", "name"]}, "name": {"type": "string", "maxLength": 1024, "description": "Connector name"}, "plugin": {"type": "object", "description": "Kafka Connector plugin information", "properties": {"author": {"type": "string", "description": "Connector author name"}, "available_versions": {"type": "array", "description": "Versions available on the service", "items": {"type": "object", "properties": {"deprecated": {"type": "boolean", "description": "If the version is deprecated."}, "needs_maintenance": {"type": "boolean", "description": "Using this version requires a maintenance update."}, "version": {"type": "string", "description": "Connector version number"}}}}, "class": {"type": "string", "description": "Connector class name"}, "docURL": {"type": "string", "description": "Connector documentation URL"}, "plugin_name": {"type": "string", "description": "Connector plugin name"}, "preview": {"type": "boolean", "description": "Describes if connector is in beta"}, "preview_info": {"type": "string", "description": "Information about beta stage of connector"}, "title": {"type": "string", "description": "Descriptive human readable name defined by Aiven"}, "type": {"type": "string", "description": "Describes whether data flows from or to Kafka", "enum": ["sink", "source", "unknown"]}, "version": {"type": "string", "description": "Connector version number"}}, "required": ["author", "class", "docURL", "title", "type", "version"]}, "tasks": {"type": "array", "description": "List of tasks of a connector", "items": {"type": "object", "properties": {"connector": {"type": "string", "description": "Related connector name"}, "task": {"type": "integer", "description": "Task id / number"}}, "required": ["connector", "task"]}}}, "required": ["config", "name", "plugin", "tasks"]}}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "failed_connectors": {"type": "array", "description": "List of connectors that failed plugin resolution", "items": {"type": "object", "properties": {"config": {"type": "object", "description": "Connector configuration parameters", "properties": {"connector.class": {"type": "string", "maxLength": 1024, "description": "The Java class for the connector"}, "name": {"type": "string", "maxLength": 1024, "description": "Unique name for the connector"}}, "required": ["connector.class", "name"]}, "error": {"type": "string", "description": "Error message explaining why the connector failed to load"}, "name": {"type": "string", "maxLength": 1024, "description": "Connector name"}}, "required": ["config", "error", "name"]}}, "message": {"type": "string", "description": "Printable result of the request"}}, "required": ["connectors"]}, "ServiceKafkaConnectPauseConnectorResponse": {"type": "object", "description": "ServiceKafkaConnectPauseConnectorResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}}, "ServiceKafkaConnectRestartConnectorResponse": {"type": "object", "description": "ServiceKafkaConnectRestartConnectorResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}}, "ServiceKafkaConnectRestartConnectorTaskResponse": {"type": "object", "description": "ServiceKafkaConnectRestartConnectorTaskResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}}, "ServiceKafkaConnectResumeConnectorResponse": {"type": "object", "description": "ServiceKafkaConnectResumeConnectorResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}}, "ServiceKafkaConnectStopConnectorResponse": {"type": "object", "description": "ServiceKafkaConnectStopConnectorResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}}, "ServiceKafkaNativeAclAddRequestBody": {"type": "object", "description": "ServiceKafkaNativeAclAddRequestBody", "properties": {"host": {"type": "string", "minLength": 0, "maxLength": 256, "description": "the host or * for all hosts"}, "operation": {"type": "string", "description": "Kafka ACL operation represents an operation which an ACL grants or denies permission to perform", "enum": ["All", "Alter", "AlterConfigs", "ClusterAction", "Create", "CreateTokens", "Delete", "Describe", "DescribeConfigs", "DescribeTokens", "IdempotentWrite", "Read", "Write"]}, "pattern_type": {"type": "string", "description": "Kafka ACL pattern type of resource name", "default": "LITERAL", "enum": ["LITERAL", "PREFIXED"]}, "permission_type": {"type": "string", "description": "Kafka ACL permission type", "default": "ALLOW", "enum": ["ALLOW", "DENY"]}, "principal": {"type": "string", "minLength": 0, "maxLength": 256, "description": "principal is in 'PrincipalType:name' format"}, "resource_name": {"type": "string", "minLength": 0, "maxLength": 256, "description": "Resource pattern used to match specified resources"}, "resource_type": {"type": "string", "description": "Kafka ACL resource type represents a type of resource which an ACL can be applied to", "enum": ["Cluster", "DelegationToken", "Group", "Topic", "TransactionalId", "User"]}}, "required": ["operation", "pattern_type", "permission_type", "principal", "resource_name", "resource_type"]}, "ServiceKafkaNativeAclAddResponse": {"type": "object", "description": "ServiceKafkaNativeAclAddResponse", "properties": {"acl": {"type": "object", "description": "Kafka-native ACL entry for Kafka service", "properties": {"host": {"type": "string", "minLength": 0, "maxLength": 256, "description": "the host or * for all hosts"}, "id": {"type": "string", "maxLength": 40, "description": "ID"}, "operation": {"type": "string", "description": "Kafka ACL operation represents an operation which an ACL grants or denies permission to perform", "enum": ["All", "Alter", "AlterConfigs", "ClusterAction", "Create", "CreateTokens", "Delete", "Describe", "DescribeConfigs", "DescribeTokens", "IdempotentWrite", "Read", "Write"]}, "pattern_type": {"type": "string", "description": "Kafka ACL pattern type of resource name", "enum": ["LITERAL", "PREFIXED"]}, "permission_type": {"type": "string", "description": "Kafka ACL permission type", "enum": ["ALLOW", "DENY"]}, "principal": {"type": "string", "minLength": 0, "maxLength": 256, "description": "principal is in 'principalType:name' format"}, "resource_name": {"type": "string", "minLength": 0, "maxLength": 256, "description": "Resource pattern used to match specified resources"}, "resource_type": {"type": "string", "description": "Kafka ACL resource type represents a type of resource which an ACL can be applied to", "enum": ["Cluster", "DelegationToken", "Group", "Topic", "TransactionalId", "User"]}}, "required": ["host", "id", "operation", "pattern_type", "permission_type", "principal", "resource_name", "resource_type"]}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}, "required": ["acl"]}, "ServiceKafkaNativeAclDeleteResponse": {"type": "object", "description": "ServiceKafkaNativeAclDeleteResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}}, "ServiceKafkaNativeAclGetResponse": {"type": "object", "description": "ServiceKafkaNativeAclGetResponse", "properties": {"acl": {"type": "object", "description": "Kafka-native ACL entry for Kafka service", "properties": {"host": {"type": "string", "minLength": 0, "maxLength": 256, "description": "the host or * for all hosts"}, "id": {"type": "string", "maxLength": 40, "description": "ID"}, "operation": {"type": "string", "description": "Kafka ACL operation represents an operation which an ACL grants or denies permission to perform", "enum": ["All", "Alter", "AlterConfigs", "ClusterAction", "Create", "CreateTokens", "Delete", "Describe", "DescribeConfigs", "DescribeTokens", "IdempotentWrite", "Read", "Write"]}, "pattern_type": {"type": "string", "description": "Kafka ACL pattern type of resource name", "enum": ["LITERAL", "PREFIXED"]}, "permission_type": {"type": "string", "description": "Kafka ACL permission type", "enum": ["ALLOW", "DENY"]}, "principal": {"type": "string", "minLength": 0, "maxLength": 256, "description": "principal is in 'principalType:name' format"}, "resource_name": {"type": "string", "minLength": 0, "maxLength": 256, "description": "Resource pattern used to match specified resources"}, "resource_type": {"type": "string", "description": "Kafka ACL resource type represents a type of resource which an ACL can be applied to", "enum": ["Cluster", "DelegationToken", "Group", "Topic", "TransactionalId", "User"]}}, "required": ["host", "id", "operation", "pattern_type", "permission_type", "principal", "resource_name", "resource_type"]}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}, "required": ["acl"]}, "ServiceKafkaNativeAclListResponse": {"type": "object", "description": "ServiceKafkaNativeAclListResponse", "properties": {"acl": {"type": "array", "description": "List of Aiven ACL entries for Kafka service", "items": {"type": "object", "properties": {"id": {"type": "string", "maxLength": 40, "description": "ID"}, "permission": {"type": "string", "description": "Kafka permission", "enum": ["admin", "read", "readwrite", "write"]}, "topic": {"type": "string", "minLength": 1, "maxLength": 249, "description": "Topic name pattern"}, "username": {"type": "string", "minLength": 1, "maxLength": 64, "description": "Username"}}, "required": ["permission", "topic", "username"]}}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "kafka_acl": {"type": "array", "description": "List of Kafka-native ACL entries", "items": {"type": "object", "properties": {"host": {"type": "string", "minLength": 0, "maxLength": 256, "description": "the host or * for all hosts"}, "id": {"type": "string", "maxLength": 40, "description": "ID"}, "operation": {"type": "string", "description": "Kafka ACL operation represents an operation which an ACL grants or denies permission to perform", "enum": ["All", "Alter", "AlterConfigs", "ClusterAction", "Create", "CreateTokens", "Delete", "Describe", "DescribeConfigs", "DescribeTokens", "IdempotentWrite", "Read", "Write"]}, "pattern_type": {"type": "string", "description": "Kafka ACL pattern type of resource name", "enum": ["LITERAL", "PREFIXED"]}, "permission_type": {"type": "string", "description": "Kafka ACL permission type", "enum": ["ALLOW", "DENY"]}, "principal": {"type": "string", "minLength": 0, "maxLength": 256, "description": "principal is in 'principalType:name' format"}, "resource_name": {"type": "string", "minLength": 0, "maxLength": 256, "description": "Resource pattern used to match specified resources"}, "resource_type": {"type": "string", "description": "Kafka ACL resource type represents a type of resource which an ACL can be applied to", "enum": ["Cluster", "DelegationToken", "Group", "Topic", "TransactionalId", "User"]}}, "required": ["host", "id", "operation", "pattern_type", "permission_type", "principal", "resource_name", "resource_type"]}}, "message": {"type": "string", "description": "Printable result of the request"}}, "required": ["acl", "kafka_acl"]}, "ServiceKafkaQuotaCreateRequestBody": {"type": "object", "description": "ServiceKafkaQuotaCreateRequestBody", "properties": {"client\\-id": {"type": "string", "maxLength": 255, "description": "Represents a logical group of clients, assigned a unique name by the client application. Quotas can be applied based on user, client-id, or both. The most relevant quota is chosen for each connection. All connections within a quota group share the same quota.", "title": "client-id"}, "consumer_byte_rate": {"type": "number", "minimum": 0, "maximum": 1073741824, "description": "Defines the bandwidth limit in bytes/sec for each group of clients sharing a quota. Every distinct client group is allocated a specific quota, as defined by the cluster, on a per-broker basis. Exceeding this limit results in client throttling.", "title": "consumer network throttle"}, "producer_byte_rate": {"type": "number", "minimum": 0, "maximum": 1073741824, "description": "Defines the bandwidth limit in bytes/sec for each group of clients sharing a quota. Every distinct client group is allocated a specific quota, as defined by the cluster, on a per-broker basis. Exceeding this limit results in client throttling.", "title": "producer network throttle"}, "request_percentage": {"type": "number", "minimum": 0, "maximum": 100, "description": "Sets the maximum percentage of CPU time that a client group can use on request handler I/O and network threads per broker within a quota window. Exceeding this limit triggers throttling. The quota, expressed as a percentage, also indicates the total allowable CPU usage for the client groups sharing the quota.", "title": "cpu percentage throttle"}, "user": {"type": "string", "maxLength": 64, "description": "Represents a logical group of clients, assigned a unique name by the client application. Quotas can be applied based on user, client-id, or both. The most relevant quota is chosen for each connection. All connections within a quota group share the same quota.", "title": "user"}}}, "ServiceKafkaQuotaCreateResponse": {"type": "object", "description": "ServiceKafkaQuotaCreateResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}}, "ServiceKafkaQuotaDeleteResponse": {"type": "object", "description": "ServiceKafkaQuotaDeleteResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}}, "ServiceKafkaQuotaDescribeResponse": {"type": "object", "description": "ServiceKafkaQuotaDescribeResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "quota": {"type": "object", "description": "kafka quota", "properties": {"client\\-id": {"type": "string", "maxLength": 255, "description": "Represents a logical group of clients, assigned a unique name by the client application. Quotas can be applied based on user, client-id, or both. The most relevant quota is chosen for each connection. All connections within a quota group share the same quota.", "title": "client-id"}, "consumer_byte_rate": {"type": "number", "minimum": 0, "maximum": 1073741824, "description": "Defines the bandwidth limit in bytes/sec for each group of clients sharing a quota. Every distinct client group is allocated a specific quota, as defined by the cluster, on a per-broker basis. Exceeding this limit results in client throttling.", "title": "consumer network throttle"}, "producer_byte_rate": {"type": "number", "minimum": 0, "maximum": 1073741824, "description": "Defines the bandwidth limit in bytes/sec for each group of clients sharing a quota. Every distinct client group is allocated a specific quota, as defined by the cluster, on a per-broker basis. Exceeding this limit results in client throttling.", "title": "producer network throttle"}, "request_percentage": {"type": "number", "description": "Sets the maximum percentage of CPU time that a client group can use on request handler I/O and network threads per broker within a quota window. Exceeding this limit triggers throttling. The quota, expressed as a percentage, also indicates the total allowable CPU usage for the client groups sharing the quota.", "title": "cpu percentage throttle"}, "user": {"type": "string", "maxLength": 64, "description": "Represents a logical group of clients, assigned a unique name by the client application. Quotas can be applied based on user, client-id, or both. The most relevant quota is chosen for each connection. All connections within a quota group share the same quota.", "title": "user"}}, "required": ["client\\-id", "consumer_byte_rate", "producer_byte_rate", "request_percentage", "user"]}}, "required": ["quota"]}, "ServiceKafkaQuotaListResponse": {"type": "object", "description": "ServiceKafkaQuotaListResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "quotas": {"type": "array", "description": "List of kafka quotas", "items": {"type": "object", "properties": {"client\\-id": {"type": "string", "maxLength": 255, "description": "Represents a logical group of clients, assigned a unique name by the client application. Quotas can be applied based on user, client-id, or both. The most relevant quota is chosen for each connection. All connections within a quota group share the same quota.", "title": "client-id"}, "consumer_byte_rate": {"type": "number", "minimum": 0, "maximum": 1073741824, "description": "Defines the bandwidth limit in bytes/sec for each group of clients sharing a quota. Every distinct client group is allocated a specific quota, as defined by the cluster, on a per-broker basis. Exceeding this limit results in client throttling.", "title": "consumer network throttle"}, "producer_byte_rate": {"type": "number", "minimum": 0, "maximum": 1073741824, "description": "Defines the bandwidth limit in bytes/sec for each group of clients sharing a quota. Every distinct client group is allocated a specific quota, as defined by the cluster, on a per-broker basis. Exceeding this limit results in client throttling.", "title": "producer network throttle"}, "request_percentage": {"type": "number", "description": "Sets the maximum percentage of CPU time that a client group can use on request handler I/O and network threads per broker within a quota window. Exceeding this limit triggers throttling. The quota, expressed as a percentage, also indicates the total allowable CPU usage for the client groups sharing the quota.", "title": "cpu percentage throttle"}, "user": {"type": "string", "maxLength": 64, "description": "Represents a logical group of clients, assigned a unique name by the client application. Quotas can be applied based on user, client-id, or both. The most relevant quota is chosen for each connection. All connections within a quota group share the same quota.", "title": "user"}}, "required": ["client\\-id", "consumer_byte_rate", "producer_byte_rate", "request_percentage", "user"]}}}, "required": ["quotas"]}, "ServiceKafkaTieredStorageStorageUsageByTopicResponse": {"type": "object", "description": "ServiceKafkaTieredStorageStorageUsageByTopicResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "storage_usage": {"type": "object", "description": "Storage usage by tiered storage by topics", "properties": {}}}, "required": ["storage_usage"]}, "ServiceKafkaTieredStorageStorageUsageTotalResponse": {"type": "object", "description": "ServiceKafkaTieredStorageStorageUsageTotalResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "total_storage_usage": {"type": "integer", "minimum": 0, "description": "Total storage usage by tiered storage, in bytes"}}, "required": ["total_storage_usage"]}, "ServiceKafkaTieredStorageSummaryResponse": {"type": "object", "description": "ServiceKafkaTieredStorageSummaryResponse", "properties": {"current_cost": {"type": "string", "description": "The current cost in USD of tiered storage since the beginning of the billing period"}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "forecasted_cost": {"type": "string", "description": "The forecasted cost in USD of tiered storage in the billing period"}, "forecasted_rate": {"type": "string", "description": "The rate on GBs/hour used to calculate the forecasted cost"}, "message": {"type": "string", "description": "Printable result of the request"}, "storage_usage_history": {"type": "object", "description": "History of usage and cumulative costs in the billing period", "properties": {"hourly": {"type": "array", "description": "History by hour", "items": {"type": "object", "properties": {"estimated_cost": {"type": "string", "description": "The estimated cost in USD of tiered storage for this hour"}, "hour_start": {"type": "string", "maxLength": 36, "description": "Timestamp in ISO 8601 format, always in UTC"}, "peak_stored_bytes": {"type": "integer", "minimum": 0, "description": "Peak bytes stored on object storage at this hour"}}, "required": ["hour_start", "peak_stored_bytes"]}}}, "required": ["hourly"]}, "total_storage_usage": {"type": "integer", "minimum": 0, "description": "Total storage usage by tiered storage, in bytes"}}, "required": ["current_cost", "forecasted_cost", "storage_usage_history", "total_storage_usage"]}, "ServiceKafkaTopicCreateRequestBody": {"type": "object", "description": "ServiceKafkaTopicCreateRequestBody", "properties": {"cleanup_policy": {"type": "string", "description": "The retention policy to use on old segments. Possible values include 'delete', 'compact', or a comma-separated list of them. The default policy ('delete') will discard old segments when their retention time or size limit has been reached. The 'compact' setting will enable log compaction on the topic.", "title": "DEPRECATED: use config.cleanup_policy", "enum": ["delete", "compact", "compact,delete"]}, "config": {"type": "object", "description": "Kafka topic configuration", "properties": {"cleanup_policy": {"type": "string", "description": "The retention policy to use on old segments. Possible values include 'delete', 'compact', or a comma-separated list of them. The default policy ('delete') will discard old segments when their retention time or size limit has been reached. The 'compact' setting will enable log compaction on the topic.", "title": "cleanup.policy", "enum": ["delete", "compact", "compact,delete"]}, "compression_type": {"type": "string", "description": "Specify the final compression type for a given topic. This configuration accepts the standard compression codecs ('gzip', 'snappy', 'lz4', 'zstd'). It additionally accepts 'uncompressed' which is equivalent to no compression; and 'producer' which means retain the original compression codec set by the producer.", "title": "compression.type", "enum": ["snappy", "gzip", "lz4", "producer", "uncompressed", "zstd"]}, "delete_retention_ms": {"type": "integer", "minimum": 0, "description": "The amount of time to retain delete tombstone markers for log compacted topics. This setting also gives a bound on the time in which a consumer must complete a read if they begin from offset 0 to ensure that they get a valid snapshot of the final stage (otherwise delete tombstones may be collected before they complete their scan).", "title": "delete.retention.ms"}, "diskless_enable": {"type": "boolean", "description": "Indicates whether diskless should be enabled. This is only available for BYOC services with Diskless feature enabled.", "title": "diskless.enable"}, "file_delete_delay_ms": {"type": "integer", "minimum": 0, "description": "The time to wait before deleting a file from the filesystem.", "title": "file.delete.delay.ms"}, "flush_messages": {"type": "integer", "minimum": 0, "description": "This setting allows specifying an interval at which we will force an fsync of data written to the log. For example if this was set to 1 we would fsync after every message; if it were 5 we would fsync after every five messages. In general we recommend you not set this and use replication for durability and allow the operating system's background flush capabilities as it is more efficient.", "title": "flush.messages"}, "flush_ms": {"type": "integer", "minimum": 0, "description": "This setting allows specifying a time interval at which we will force an fsync of data written to the log. For example if this was set to 1000 we would fsync after 1000 ms had passed. In general we recommend you not set this and use replication for durability and allow the operating system's background flush capabilities as it is more efficient.", "title": "flush.ms"}, "index_interval_bytes": {"type": "integer", "minimum": 0, "description": "This setting controls how frequently Kafka adds an index entry to its offset index. The default setting ensures that we index a message roughly every 4096 bytes. More indexing allows reads to jump closer to the exact position in the log but makes the index larger. You probably don't need to change this.", "title": "index.interval.bytes"}, "local_retention_bytes": {"type": "integer", "description": "This configuration controls the maximum bytes tiered storage will retain segment files locally before it will discard old log segments to free up space. If set to -2, the limit is equal to overall retention time. If set to -1, no limit is applied but it's possible only if overall retention is also -1.", "title": "local.retention.bytes"}, "local_retention_ms": {"type": "integer", "description": "This configuration controls the maximum time tiered storage will retain segment files locally before it will discard old log segments to free up space. If set to -2, the time limit is equal to overall retention time. If set to -1, no time limit is applied but it's possible only if overall retention is also -1.", "title": "local.retention.ms"}, "max_compaction_lag_ms": {"type": "integer", "minimum": 0, "description": "The maximum time a message will remain ineligible for compaction in the log. Only applicable for logs that are being compacted.", "title": "max.compaction.lag.ms"}, "max_message_bytes": {"type": "integer", "minimum": 0, "description": "The largest record batch size allowed by Kafka (after compression if compression is enabled). If this is increased and there are consumers older than 0.10.2, the consumers' fetch size must also be increased so that the they can fetch record batches this large. In the latest message format version, records are always grouped into batches for efficiency. In previous message format versions, uncompressed records are not grouped into batches and this limit only applies to a single record in that case.", "title": "max.message.bytes"}, "message_downconversion_enable": {"type": "boolean", "description": "This configuration controls whether down-conversion of message formats is enabled to satisfy consume requests. When set to false, broker will not perform down-conversion for consumers expecting an older message format. The broker responds with UNSUPPORTED_VERSION error for consume requests from such older clients. This configuration does not apply to any message format conversion that might be required for replication to followers.", "title": "message.downconversion.enable"}, "message_format_version": {"type": "string", "description": "Specify the message format version the broker will use to append messages to the logs. The value should be a valid ApiVersion. Some examples are: 0.8.2, 0.9.0.0, 0.10.0, check ApiVersion for more details. By setting a particular message format version, the user is certifying that all the existing messages on disk are smaller or equal than the specified version. Setting this value incorrectly will cause consumers with older versions to break as they will receive messages with a format that they don't understand. Deprecated in Kafka 4.0+: this configuration is removed and any supplied value will be ignored; for services upgraded to 4.0+, the returned value may be 'None'.", "title": "message.format.version", "enum": ["0.8.0", "0.8.1", "0.8.2", "0.9.0", "0.10.0", "0.10.0-IV0", "0.10.0-IV1", "0.10.1", "0.10.1-IV0", "0.10.1-IV1", "0.10.1-IV2", "0.10.2", "0.10.2-IV0", "0.11.0", "0.11.0-IV0", "0.11.0-IV1", "0.11.0-IV2", "1.0", "1.0-IV0", "1.1", "1.1-IV0", "2.0", "2.0-IV0", "2.0-IV1", "2.1", "2.1-IV0", "2.1-IV1", "2.1-IV2", "2.2", "2.2-IV0", "2.2-IV1", "2.3", "2.3-IV0", "2.3-IV1", "2.4", "2.4-IV0", "2.4-IV1", "2.5", "2.5-IV0", "2.6", "2.6-IV0", "2.7", "2.7-IV0", "2.7-IV1", "2.7-IV2", "2.8", "2.8-IV0", "2.8-IV1", "3.0", "3.0-IV0", "3.0-IV1", "3.1", "3.1-IV0", "3.2", "3.2-IV0", "3.3", "3.3-IV0", "3.3-IV1", "3.3-IV2", "3.3-IV3", "3.4", "3.4-IV0", "3.5", "3.5-IV0", "3.5-IV1", "3.5-IV2", "3.6", "3.6-IV0", "3.6-IV1", "3.6-IV2", "3.7", "3.7-IV0", "3.7-IV1", "3.7-IV2", "3.7-IV3", "3.7-IV4", "3.8", "3.8-IV0", "3.9", "3.9-IV0", "3.9-IV1", "4.0", "4.0-IV0", "4.1", "4.1-IV0"]}, "message_timestamp_after_max_ms": {"type": "integer", "minimum": 0, "description": "The maximum difference allowed between the timestamp when a broker receives a message and the timestamp specified in the message. If message.timestamp.type=CreateTime, a message will be rejected if the difference in timestamp exceeds this threshold. Applies only for messages with timestamps later than the broker's timestamp.", "title": "message.timestamp.after.max.ms"}, "message_timestamp_before_max_ms": {"type": "integer", "minimum": 0, "description": "The maximum difference allowed between the timestamp when a broker receives a message and the timestamp specified in the message. If message.timestamp.type=CreateTime, a message will be rejected if the difference in timestamp exceeds this threshold. Applies only for messages with timestamps earlier than the broker's timestamp.", "title": "message.timestamp.before.max.ms"}, "message_timestamp_difference_max_ms": {"type": "integer", "minimum": 0, "description": "The maximum difference allowed between the timestamp when a broker receives a message and the timestamp specified in the message. If message.timestamp.type=CreateTime, a message will be rejected if the difference in timestamp exceeds this threshold. This configuration is ignored if message.timestamp.type=LogAppendTime.", "title": "message.timestamp.difference.max.ms"}, "message_timestamp_type": {"type": "string", "description": "Define whether the timestamp in the message is message create time or log append time.", "title": "message.timestamp.type", "enum": ["CreateTime", "LogAppendTime"]}, "min_cleanable_dirty_ratio": {"type": "number", "minimum": 0, "maximum": 1, "description": "This configuration controls how frequently the log compactor will attempt to clean the log (assuming log compaction is enabled). By default we will avoid cleaning a log where more than 50% of the log has been compacted. This ratio bounds the maximum space wasted in the log by duplicates (at 50% at most 50% of the log could be duplicates). A higher ratio will mean fewer, more efficient cleanings but will mean more wasted space in the log. If the max.compaction.lag.ms or the min.compaction.lag.ms configurations are also specified, then the log compactor considers the log to be eligible for compaction as soon as either: (i) the dirty ratio threshold has been met and the log has had dirty (uncompacted) records for at least the min.compaction.lag.ms duration, or (ii) if the log has had dirty (uncompacted) records for at most the max.compaction.lag.ms period.", "title": "min.cleanable.dirty.ratio"}, "min_compaction_lag_ms": {"type": "integer", "minimum": 0, "description": "The minimum time a message will remain uncompacted in the log. Only applicable for logs that are being compacted.", "title": "min.compaction.lag.ms"}, "min_insync_replicas": {"type": "integer", "minimum": 1, "description": "When a producer sets acks to 'all' (or '-1'), this configuration specifies the minimum number of replicas that must acknowledge a write for the write to be considered successful. If this minimum cannot be met, then the producer will raise an exception (either NotEnoughReplicas or NotEnoughReplicasAfterAppend). When used together, min.insync.replicas and acks allow you to enforce greater durability guarantees. A typical scenario would be to create a topic with a replication factor of 3, set min.insync.replicas to 2, and produce with acks of 'all'. This will ensure that the producer raises an exception if a majority of replicas do not receive a write.", "title": "min.insync.replicas"}, "preallocate": {"type": "boolean", "description": "True if we should preallocate the file on disk when creating a new log segment.", "title": "preallocate"}, "remote_storage_enable": {"type": "boolean", "description": "Indicates whether tiered storage should be enabled. This is only available for services with Tiered Storage feature enabled.", "title": "remote.storage.enable"}, "retention_bytes": {"type": "integer", "description": "This configuration controls the maximum size a partition (which consists of log segments) can grow to before we will discard old log segments to free up space if we are using the 'delete' retention policy. By default there is no size limit only a time limit. Since this limit is enforced at the partition level, multiply it by the number of partitions to compute the topic retention in bytes.", "title": "retention.bytes"}, "retention_ms": {"type": "integer", "description": "This configuration controls the maximum time we will retain a log before we will discard old log segments to free up space if we are using the 'delete' retention policy. This represents an SLA on how soon consumers must read their data. If set to -1, no time limit is applied.", "title": "retention.ms"}, "segment_bytes": {"type": "integer", "minimum": 14, "description": "This configuration controls the segment file size for the log. Retention and cleaning is always done a file at a time so a larger segment size means fewer files but less granular control over retention. Setting this to a very low value has consequences, and the Aiven management plane ignores values less than 10 megabytes.", "title": "segment.bytes"}, "segment_index_bytes": {"type": "integer", "minimum": 0, "description": "This configuration controls the size of the index that maps offsets to file positions. We preallocate this index file and shrink it only after log rolls. You generally should not need to change this setting.", "title": "segment.index.bytes"}, "segment_jitter_ms": {"type": "integer", "minimum": 0, "description": "The maximum random jitter subtracted from the scheduled segment roll time to avoid thundering herds of segment rolling", "title": "segment.jitter.ms"}, "segment_ms": {"type": "integer", "minimum": 1, "description": "This configuration controls the period of time after which Kafka will force the log to roll even if the segment file isn't full to ensure that retention can delete or compact old data. Setting this to a very low value has consequences, and the Aiven management plane ignores values less than 10 seconds.", "title": "segment.ms"}, "unclean_leader_election_enable": {"type": "boolean", "description": "Indicates whether to enable replicas not in the ISR set to be elected as leader as a last resort, even though doing so may result in data loss.", "title": "unclean.leader.election.enable"}}}, "min_insync_replicas": {"type": "integer", "minimum": 1, "description": "When a producer sets acks to 'all' (or '-1'), this configuration specifies the minimum number of replicas that must acknowledge a write for the write to be considered successful. If this minimum cannot be met, then the producer will raise an exception (either NotEnoughReplicas or NotEnoughReplicasAfterAppend). When used together, min.insync.replicas and acks allow you to enforce greater durability guarantees. A typical scenario would be to create a topic with a replication factor of 3, set min.insync.replicas to 2, and produce with acks of 'all'. This will ensure that the producer raises an exception if a majority of replicas do not receive a write.", "title": "DEPRECATED: use config.min_insync_replicas"}, "owner_user_group_id": {"type": "string", "minLength": 1, "maxLength": 36, "description": "The user group that owns this topic"}, "partitions": {"type": "integer", "minimum": 1, "maximum": 1000000, "description": "Number of partitions"}, "replication": {"type": "integer", "minimum": 1, "description": "Number of replicas"}, "retention_bytes": {"type": "integer", "description": "This configuration controls the maximum size a partition (which consists of log segments) can grow to before we will discard old log segments to free up space if we are using the 'delete' retention policy. By default there is no size limit only a time limit. Since this limit is enforced at the partition level, multiply it by the number of partitions to compute the topic retention in bytes.", "title": "DEPRECATED: use config.retention_bytes"}, "retention_hours": {"type": "integer", "maximum": 2562047788015, "description": "DEPRECATED: use config.retention_ms"}, "tags": {"type": "array", "minItems": 0, "maxItems": 25, "description": "Topic tags", "items": {"type": "object", "properties": {"key": {"type": "string", "minLength": 1, "maxLength": 64, "description": "Tag key"}, "value": {"type": "string", "minLength": 0, "maxLength": 256, "description": "Tag value"}}, "required": ["key", "value"]}}, "topic_description": {"type": "string", "minLength": 1, "maxLength": 256, "description": "Topic description"}, "topic_name": {"type": "string", "minLength": 1, "maxLength": 249, "description": "Topic name"}}, "required": ["topic_name"]}, "ServiceKafkaTopicCreateResponse": {"type": "object", "description": "ServiceKafkaTopicCreateResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}}, "ServiceKafkaTopicDeleteResponse": {"type": "object", "description": "ServiceKafkaTopicDeleteResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}}, "ServiceKafkaTopicGetResponse": {"type": "object", "description": "ServiceKafkaTopicGetResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "topic": {"type": "object", "description": "Kafka topic information", "properties": {"cleanup_policy": {"type": "string", "maxLength": 64, "description": "The retention policy to use on old segments. Possible values include 'delete', 'compact', or a comma-separated list of them. The default policy ('delete') will discard old segments when their retention time or size limit has been reached. The 'compact' setting will enable log compaction on the topic.", "title": "DEPRECATED: use config.cleanup_policy"}, "config": {"type": "object", "description": "Kafka topic configuration", "properties": {"cleanup_policy": {"type": "object", "description": "cleanup.policy value, source and synonyms", "properties": {"source": {"type": "string", "description": "Source of the Kafka topic configuration entry", "enum": ["unknown_config", "topic_config", "dynamic_broker_config", "dynamic_default_broker_config", "static_broker_config", "default_config", "dynamic_broker_logger_config"]}, "synonyms": {"type": "array", "description": "Configuration synonyms", "items": {"type": "object", "properties": {"name": {"type": "string", "description": "Synonym name"}, "source": {"type": "string", "description": "Source of the Kafka topic configuration entry", "enum": ["unknown_config", "topic_config", "dynamic_broker_config", "dynamic_default_broker_config", "static_broker_config", "default_config", "dynamic_broker_logger_config"]}, "value": {"type": "string", "description": "Synonym value"}}, "required": ["name", "source", "value"]}}, "value": {"type": "string", "maxLength": 64, "description": "The retention policy to use on old segments. Possible values include 'delete', 'compact', or a comma-separated list of them. The default policy ('delete') will discard old segments when their retention time or size limit has been reached. The 'compact' setting will enable log compaction on the topic.", "title": "cleanup.policy"}}, "required": ["source", "value"]}, "compression_type": {"type": "object", "description": "compression.type value, source and synonyms", "properties": {"source": {"type": "string", "description": "Source of the Kafka topic configuration entry", "enum": ["unknown_config", "topic_config", "dynamic_broker_config", "dynamic_default_broker_config", "static_broker_config", "default_config", "dynamic_broker_logger_config"]}, "synonyms": {"type": "array", "description": "Configuration synonyms", "items": {"type": "object", "properties": {"name": {"type": "string", "description": "Synonym name"}, "source": {"type": "string", "description": "Source of the Kafka topic configuration entry", "enum": ["unknown_config", "topic_config", "dynamic_broker_config", "dynamic_default_broker_config", "static_broker_config", "default_config", "dynamic_broker_logger_config"]}, "value": {"type": "string", "description": "Synonym value"}}, "required": ["name", "source", "value"]}}, "value": {"type": "string", "description": "Specify the final compression type for a given topic. This configuration accepts the standard compression codecs ('gzip', 'snappy', 'lz4', 'zstd'). It additionally accepts 'uncompressed' which is equivalent to no compression; and 'producer' which means retain the original compression codec set by the producer.", "title": "compression.type", "enum": ["snappy", "gzip", "lz4", "producer", "uncompressed", "zstd"]}}, "required": ["source", "value"]}, "delete_retention_ms": {"type": "object", "description": "delete.retention.ms value, source and synonyms", "properties": {"source": {"type": "string", "description": "Source of the Kafka topic configuration entry", "enum": ["unknown_config", "topic_config", "dynamic_broker_config", "dynamic_default_broker_config", "static_broker_config", "default_config", "dynamic_broker_logger_config"]}, "synonyms": {"type": "array", "description": "Configuration synonyms", "items": {"type": "object", "properties": {"name": {"type": "string", "description": "Synonym name"}, "source": {"type": "string", "description": "Source of the Kafka topic configuration entry", "enum": ["unknown_config", "topic_config", "dynamic_broker_config", "dynamic_default_broker_config", "static_broker_config", "default_config", "dynamic_broker_logger_config"]}, "value": {"type": "integer", "description": "Synonym value"}}, "required": ["name", "source", "value"]}}, "value": {"type": "integer", "minimum": 0, "description": "The amount of time to retain delete tombstone markers for log compacted topics. This setting also gives a bound on the time in which a consumer must complete a read if they begin from offset 0 to ensure that they get a valid snapshot of the final stage (otherwise delete tombstones may be collected before they complete their scan).", "title": "delete.retention.ms"}}, "required": ["source", "value"]}, "diskless_enable": {"type": "object", "description": "diskless.enable value, source and synonyms", "properties": {"source": {"type": "string", "description": "Source of the Kafka topic configuration entry", "enum": ["unknown_config", "topic_config", "dynamic_broker_config", "dynamic_default_broker_config", "static_broker_config", "default_config", "dynamic_broker_logger_config"]}, "synonyms": {"type": "array", "description": "Configuration synonyms", "items": {"type": "object", "properties": {"name": {"type": "string", "description": "Synonym name"}, "source": {"type": "string", "description": "Source of the Kafka topic configuration entry", "enum": ["unknown_config", "topic_config", "dynamic_broker_config", "dynamic_default_broker_config", "static_broker_config", "default_config", "dynamic_broker_logger_config"]}, "value": {"type": "boolean", "description": "Synonym value"}}, "required": ["name", "source", "value"]}}, "value": {"type": "boolean", "description": "Indicates whether diskless should be enabled. This is only available for BYOC services with Diskless feature enabled.", "title": "diskless.enable"}}, "required": ["source", "value"]}, "file_delete_delay_ms": {"type": "object", "description": "file.delete.delay.ms value, source and synonyms", "properties": {"source": {"type": "string", "description": "Source of the Kafka topic configuration entry", "enum": ["unknown_config", "topic_config", "dynamic_broker_config", "dynamic_default_broker_config", "static_broker_config", "default_config", "dynamic_broker_logger_config"]}, "synonyms": {"type": "array", "description": "Configuration synonyms", "items": {"type": "object", "properties": {"name": {"type": "string", "description": "Synonym name"}, "source": {"type": "string", "description": "Source of the Kafka topic configuration entry", "enum": ["unknown_config", "topic_config", "dynamic_broker_config", "dynamic_default_broker_config", "static_broker_config", "default_config", "dynamic_broker_logger_config"]}, "value": {"type": "integer", "description": "Synonym value"}}, "required": ["name", "source", "value"]}}, "value": {"type": "integer", "minimum": 0, "description": "The time to wait before deleting a file from the filesystem.", "title": "file.delete.delay.ms"}}, "required": ["source", "value"]}, "flush_messages": {"type": "object", "description": "flush.messages value, source and synonyms", "properties": {"source": {"type": "string", "description": "Source of the Kafka topic configuration entry", "enum": ["unknown_config", "topic_config", "dynamic_broker_config", "dynamic_default_broker_config", "static_broker_config", "default_config", "dynamic_broker_logger_config"]}, "synonyms": {"type": "array", "description": "Configuration synonyms", "items": {"type": "object", "properties": {"name": {"type": "string", "description": "Synonym name"}, "source": {"type": "string", "description": "Source of the Kafka topic configuration entry", "enum": ["unknown_config", "topic_config", "dynamic_broker_config", "dynamic_default_broker_config", "static_broker_config", "default_config", "dynamic_broker_logger_config"]}, "value": {"type": "integer", "description": "Synonym value"}}, "required": ["name", "source", "value"]}}, "value": {"type": "integer", "minimum": 0, "description": "This setting allows specifying an interval at which we will force an fsync of data written to the log. For example if this was set to 1 we would fsync after every message; if it were 5 we would fsync after every five messages. In general we recommend you not set this and use replication for durability and allow the operating system's background flush capabilities as it is more efficient.", "title": "flush.messages"}}, "required": ["source", "value"]}, "flush_ms": {"type": "object", "description": "flush.ms value, source and synonyms", "properties": {"source": {"type": "string", "description": "Source of the Kafka topic configuration entry", "enum": ["unknown_config", "topic_config", "dynamic_broker_config", "dynamic_default_broker_config", "static_broker_config", "default_config", "dynamic_broker_logger_config"]}, "synonyms": {"type": "array", "description": "Configuration synonyms", "items": {"type": "object", "properties": {"name": {"type": "string", "description": "Synonym name"}, "source": {"type": "string", "description": "Source of the Kafka topic configuration entry", "enum": ["unknown_config", "topic_config", "dynamic_broker_config", "dynamic_default_broker_config", "static_broker_config", "default_config", "dynamic_broker_logger_config"]}, "value": {"type": "integer", "description": "Synonym value"}}, "required": ["name", "source", "value"]}}, "value": {"type": "integer", "minimum": 0, "description": "This setting allows specifying a time interval at which we will force an fsync of data written to the log. For example if this was set to 1000 we would fsync after 1000 ms had passed. In general we recommend you not set this and use replication for durability and allow the operating system's background flush capabilities as it is more efficient.", "title": "flush.ms"}}, "required": ["source", "value"]}, "index_interval_bytes": {"type": "object", "description": "index.interval.bytes value, source and synonyms", "properties": {"source": {"type": "string", "description": "Source of the Kafka topic configuration entry", "enum": ["unknown_config", "topic_config", "dynamic_broker_config", "dynamic_default_broker_config", "static_broker_config", "default_config", "dynamic_broker_logger_config"]}, "synonyms": {"type": "array", "description": "Configuration synonyms", "items": {"type": "object", "properties": {"name": {"type": "string", "description": "Synonym name"}, "source": {"type": "string", "description": "Source of the Kafka topic configuration entry", "enum": ["unknown_config", "topic_config", "dynamic_broker_config", "dynamic_default_broker_config", "static_broker_config", "default_config", "dynamic_broker_logger_config"]}, "value": {"type": "integer", "description": "Synonym value"}}, "required": ["name", "source", "value"]}}, "value": {"type": "integer", "minimum": 0, "description": "This setting controls how frequently Kafka adds an index entry to its offset index. The default setting ensures that we index a message roughly every 4096 bytes. More indexing allows reads to jump closer to the exact position in the log but makes the index larger. You probably don't need to change this.", "title": "index.interval.bytes"}}, "required": ["source", "value"]}, "local_retention_bytes": {"type": "object", "description": "local.retention.bytes value, source and synonyms", "properties": {"source": {"type": "string", "description": "Source of the Kafka topic configuration entry", "enum": ["unknown_config", "topic_config", "dynamic_broker_config", "dynamic_default_broker_config", "static_broker_config", "default_config", "dynamic_broker_logger_config"]}, "synonyms": {"type": "array", "description": "Configuration synonyms", "items": {"type": "object", "properties": {"name": {"type": "string", "description": "Synonym name"}, "source": {"type": "string", "description": "Source of the Kafka topic configuration entry", "enum": ["unknown_config", "topic_config", "dynamic_broker_config", "dynamic_default_broker_config", "static_broker_config", "default_config", "dynamic_broker_logger_config"]}, "value": {"type": "integer", "description": "Synonym value"}}, "required": ["name", "source", "value"]}}, "value": {"type": "integer", "description": "This configuration controls the maximum bytes tiered storage will retain segment files locally before it will discard old log segments to free up space. If set to -2, the limit is equal to overall retention time. If set to -1, no limit is applied but it's possible only if overall retention is also -1.", "title": "local.retention.bytes"}}, "required": ["source", "value"]}, "local_retention_ms": {"type": "object", "description": "local.retention.ms value, source and synonyms", "properties": {"source": {"type": "string", "description": "Source of the Kafka topic configuration entry", "enum": ["unknown_config", "topic_config", "dynamic_broker_config", "dynamic_default_broker_config", "static_broker_config", "default_config", "dynamic_broker_logger_config"]}, "synonyms": {"type": "array", "description": "Configuration synonyms", "items": {"type": "object", "properties": {"name": {"type": "string", "description": "Synonym name"}, "source": {"type": "string", "description": "Source of the Kafka topic configuration entry", "enum": ["unknown_config", "topic_config", "dynamic_broker_config", "dynamic_default_broker_config", "static_broker_config", "default_config", "dynamic_broker_logger_config"]}, "value": {"type": "integer", "description": "Synonym value"}}, "required": ["name", "source", "value"]}}, "value": {"type": "integer", "description": "This configuration controls the maximum time tiered storage will retain segment files locally before it will discard old log segments to free up space. If set to -2, the time limit is equal to overall retention time. If set to -1, no time limit is applied but it's possible only if overall retention is also -1.", "title": "local.retention.ms"}}, "required": ["source", "value"]}, "max_compaction_lag_ms": {"type": "object", "description": "max.compaction.lag.ms value, source and synonyms", "properties": {"source": {"type": "string", "description": "Source of the Kafka topic configuration entry", "enum": ["unknown_config", "topic_config", "dynamic_broker_config", "dynamic_default_broker_config", "static_broker_config", "default_config", "dynamic_broker_logger_config"]}, "synonyms": {"type": "array", "description": "Configuration synonyms", "items": {"type": "object", "properties": {"name": {"type": "string", "description": "Synonym name"}, "source": {"type": "string", "description": "Source of the Kafka topic configuration entry", "enum": ["unknown_config", "topic_config", "dynamic_broker_config", "dynamic_default_broker_config", "static_broker_config", "default_config", "dynamic_broker_logger_config"]}, "value": {"type": "integer", "description": "Synonym value"}}, "required": ["name", "source", "value"]}}, "value": {"type": "integer", "minimum": 0, "description": "The maximum time a message will remain ineligible for compaction in the log. Only applicable for logs that are being compacted.", "title": "max.compaction.lag.ms"}}, "required": ["source", "value"]}, "max_message_bytes": {"type": "object", "description": "max.message.bytes value, source and synonyms", "properties": {"source": {"type": "string", "description": "Source of the Kafka topic configuration entry", "enum": ["unknown_config", "topic_config", "dynamic_broker_config", "dynamic_default_broker_config", "static_broker_config", "default_config", "dynamic_broker_logger_config"]}, "synonyms": {"type": "array", "description": "Configuration synonyms", "items": {"type": "object", "properties": {"name": {"type": "string", "description": "Synonym name"}, "source": {"type": "string", "description": "Source of the Kafka topic configuration entry", "enum": ["unknown_config", "topic_config", "dynamic_broker_config", "dynamic_default_broker_config", "static_broker_config", "default_config", "dynamic_broker_logger_config"]}, "value": {"type": "integer", "description": "Synonym value"}}, "required": ["name", "source", "value"]}}, "value": {"type": "integer", "minimum": 0, "description": "The largest record batch size allowed by Kafka (after compression if compression is enabled). If this is increased and there are consumers older than 0.10.2, the consumers' fetch size must also be increased so that the they can fetch record batches this large. In the latest message format version, records are always grouped into batches for efficiency. In previous message format versions, uncompressed records are not grouped into batches and this limit only applies to a single record in that case.", "title": "max.message.bytes"}}, "required": ["source", "value"]}, "message_downconversion_enable": {"type": "object", "description": "message.downconversion.enable value, source and synonyms", "properties": {"source": {"type": "string", "description": "Source of the Kafka topic configuration entry", "enum": ["unknown_config", "topic_config", "dynamic_broker_config", "dynamic_default_broker_config", "static_broker_config", "default_config", "dynamic_broker_logger_config"]}, "synonyms": {"type": "array", "description": "Configuration synonyms", "items": {"type": "object", "properties": {"name": {"type": "string", "description": "Synonym name"}, "source": {"type": "string", "description": "Source of the Kafka topic configuration entry", "enum": ["unknown_config", "topic_config", "dynamic_broker_config", "dynamic_default_broker_config", "static_broker_config", "default_config", "dynamic_broker_logger_config"]}, "value": {"type": "boolean", "description": "Synonym value"}}, "required": ["name", "source", "value"]}}, "value": {"type": "boolean", "description": "This configuration controls whether down-conversion of message formats is enabled to satisfy consume requests. When set to false, broker will not perform down-conversion for consumers expecting an older message format. The broker responds with UNSUPPORTED_VERSION error for consume requests from such older clients. This configuration does not apply to any message format conversion that might be required for replication to followers.", "title": "message.downconversion.enable"}}, "required": ["source", "value"]}, "message_format_version": {"type": "object", "description": "message.format.version value, source and synonyms", "properties": {"source": {"type": "string", "description": "Source of the Kafka topic configuration entry", "enum": ["unknown_config", "topic_config", "dynamic_broker_config", "dynamic_default_broker_config", "static_broker_config", "default_config", "dynamic_broker_logger_config"]}, "synonyms": {"type": "array", "description": "Configuration synonyms", "items": {"type": "object", "properties": {"name": {"type": "string", "description": "Synonym name"}, "source": {"type": "string", "description": "Source of the Kafka topic configuration entry", "enum": ["unknown_config", "topic_config", "dynamic_broker_config", "dynamic_default_broker_config", "static_broker_config", "default_config", "dynamic_broker_logger_config"]}, "value": {"type": "string", "description": "Synonym value"}}, "required": ["name", "source", "value"]}}, "value": {"type": "string", "description": "Specify the message format version the broker will use to append messages to the logs. The value should be a valid ApiVersion. Some examples are: 0.8.2, 0.9.0.0, 0.10.0, check ApiVersion for more details. By setting a particular message format version, the user is certifying that all the existing messages on disk are smaller or equal than the specified version. Setting this value incorrectly will cause consumers with older versions to break as they will receive messages with a format that they don't understand. Deprecated in Kafka 4.0+: this configuration is removed and any supplied value will be ignored; for services upgraded to 4.0+, the returned value may be 'None'.", "title": "message.format.version", "enum": ["0.8.0", "0.8.1", "0.8.2", "0.9.0", "0.10.0", "0.10.0-IV0", "0.10.0-IV1", "0.10.1", "0.10.1-IV0", "0.10.1-IV1", "0.10.1-IV2", "0.10.2", "0.10.2-IV0", "0.11.0", "0.11.0-IV0", "0.11.0-IV1", "0.11.0-IV2", "1.0", "1.0-IV0", "1.1", "1.1-IV0", "2.0", "2.0-IV0", "2.0-IV1", "2.1", "2.1-IV0", "2.1-IV1", "2.1-IV2", "2.2", "2.2-IV0", "2.2-IV1", "2.3", "2.3-IV0", "2.3-IV1", "2.4", "2.4-IV0", "2.4-IV1", "2.5", "2.5-IV0", "2.6", "2.6-IV0", "2.7", "2.7-IV0", "2.7-IV1", "2.7-IV2", "2.8", "2.8-IV0", "2.8-IV1", "3.0", "3.0-IV0", "3.0-IV1", "3.1", "3.1-IV0", "3.2", "3.2-IV0", "3.3", "3.3-IV0", "3.3-IV1", "3.3-IV2", "3.3-IV3", "3.4", "3.4-IV0", "3.5", "3.5-IV0", "3.5-IV1", "3.5-IV2", "3.6", "3.6-IV0", "3.6-IV1", "3.6-IV2", "3.7", "3.7-IV0", "3.7-IV1", "3.7-IV2", "3.7-IV3", "3.7-IV4", "3.8", "3.8-IV0", "3.9", "3.9-IV0", "3.9-IV1", "4.0", "4.0-IV0", "4.1", "4.1-IV0", "None"]}}, "required": ["source", "value"]}, "message_timestamp_after_max_ms": {"type": "object", "description": "message.timestamp.after.max.ms value, source and synonyms", "properties": {"source": {"type": "string", "description": "Source of the Kafka topic configuration entry", "enum": ["unknown_config", "topic_config", "dynamic_broker_config", "dynamic_default_broker_config", "static_broker_config", "default_config", "dynamic_broker_logger_config"]}, "synonyms": {"type": "array", "description": "Configuration synonyms", "items": {"type": "object", "properties": {"name": {"type": "string", "description": "Synonym name"}, "source": {"type": "string", "description": "Source of the Kafka topic configuration entry", "enum": ["unknown_config", "topic_config", "dynamic_broker_config", "dynamic_default_broker_config", "static_broker_config", "default_config", "dynamic_broker_logger_config"]}, "value": {"type": "integer", "description": "Synonym value"}}, "required": ["name", "source", "value"]}}, "value": {"type": "integer", "minimum": 0, "description": "The maximum difference allowed between the timestamp when a broker receives a message and the timestamp specified in the message. If message.timestamp.type=CreateTime, a message will be rejected if the difference in timestamp exceeds this threshold. Applies only for messages with timestamps later than the broker's timestamp.", "title": "message.timestamp.after.max.ms"}}, "required": ["source", "value"]}, "message_timestamp_before_max_ms": {"type": "object", "description": "message.timestamp.before.max.ms value, source and synonyms", "properties": {"source": {"type": "string", "description": "Source of the Kafka topic configuration entry", "enum": ["unknown_config", "topic_config", "dynamic_broker_config", "dynamic_default_broker_config", "static_broker_config", "default_config", "dynamic_broker_logger_config"]}, "synonyms": {"type": "array", "description": "Configuration synonyms", "items": {"type": "object", "properties": {"name": {"type": "string", "description": "Synonym name"}, "source": {"type": "string", "description": "Source of the Kafka topic configuration entry", "enum": ["unknown_config", "topic_config", "dynamic_broker_config", "dynamic_default_broker_config", "static_broker_config", "default_config", "dynamic_broker_logger_config"]}, "value": {"type": "integer", "description": "Synonym value"}}, "required": ["name", "source", "value"]}}, "value": {"type": "integer", "minimum": 0, "description": "The maximum difference allowed between the timestamp when a broker receives a message and the timestamp specified in the message. If message.timestamp.type=CreateTime, a message will be rejected if the difference in timestamp exceeds this threshold. Applies only for messages with timestamps earlier than the broker's timestamp.", "title": "message.timestamp.before.max.ms"}}, "required": ["source", "value"]}, "message_timestamp_difference_max_ms": {"type": "object", "description": "message.timestamp.difference.max.ms value, source and synonyms", "properties": {"source": {"type": "string", "description": "Source of the Kafka topic configuration entry", "enum": ["unknown_config", "topic_config", "dynamic_broker_config", "dynamic_default_broker_config", "static_broker_config", "default_config", "dynamic_broker_logger_config"]}, "synonyms": {"type": "array", "description": "Configuration synonyms", "items": {"type": "object", "properties": {"name": {"type": "string", "description": "Synonym name"}, "source": {"type": "string", "description": "Source of the Kafka topic configuration entry", "enum": ["unknown_config", "topic_config", "dynamic_broker_config", "dynamic_default_broker_config", "static_broker_config", "default_config", "dynamic_broker_logger_config"]}, "value": {"type": "integer", "description": "Synonym value"}}, "required": ["name", "source", "value"]}}, "value": {"type": "integer", "minimum": 0, "description": "The maximum difference allowed between the timestamp when a broker receives a message and the timestamp specified in the message. If message.timestamp.type=CreateTime, a message will be rejected if the difference in timestamp exceeds this threshold. This configuration is ignored if message.timestamp.type=LogAppendTime.", "title": "message.timestamp.difference.max.ms"}}, "required": ["source", "value"]}, "message_timestamp_type": {"type": "object", "description": "message.timestamp.type value, source and synonyms", "properties": {"source": {"type": "string", "description": "Source of the Kafka topic configuration entry", "enum": ["unknown_config", "topic_config", "dynamic_broker_config", "dynamic_default_broker_config", "static_broker_config", "default_config", "dynamic_broker_logger_config"]}, "synonyms": {"type": "array", "description": "Configuration synonyms", "items": {"type": "object", "properties": {"name": {"type": "string", "description": "Synonym name"}, "source": {"type": "string", "description": "Source of the Kafka topic configuration entry", "enum": ["unknown_config", "topic_config", "dynamic_broker_config", "dynamic_default_broker_config", "static_broker_config", "default_config", "dynamic_broker_logger_config"]}, "value": {"type": "string", "description": "Synonym value"}}, "required": ["name", "source", "value"]}}, "value": {"type": "string", "description": "Define whether the timestamp in the message is message create time or log append time.", "title": "message.timestamp.type", "enum": ["CreateTime", "LogAppendTime"]}}, "required": ["source", "value"]}, "min_cleanable_dirty_ratio": {"type": "object", "description": "min.cleanable.dirty.ratio value, source and synonyms", "properties": {"source": {"type": "string", "description": "Source of the Kafka topic configuration entry", "enum": ["unknown_config", "topic_config", "dynamic_broker_config", "dynamic_default_broker_config", "static_broker_config", "default_config", "dynamic_broker_logger_config"]}, "synonyms": {"type": "array", "description": "Configuration synonyms", "items": {"type": "object", "properties": {"name": {"type": "string", "description": "Synonym name"}, "source": {"type": "string", "description": "Source of the Kafka topic configuration entry", "enum": ["unknown_config", "topic_config", "dynamic_broker_config", "dynamic_default_broker_config", "static_broker_config", "default_config", "dynamic_broker_logger_config"]}, "value": {"type": "number", "description": "Synonym value"}}, "required": ["name", "source", "value"]}}, "value": {"type": "number", "minimum": 0, "maximum": 1, "description": "This configuration controls how frequently the log compactor will attempt to clean the log (assuming log compaction is enabled). By default we will avoid cleaning a log where more than 50% of the log has been compacted. This ratio bounds the maximum space wasted in the log by duplicates (at 50% at most 50% of the log could be duplicates). A higher ratio will mean fewer, more efficient cleanings but will mean more wasted space in the log. If the max.compaction.lag.ms or the min.compaction.lag.ms configurations are also specified, then the log compactor considers the log to be eligible for compaction as soon as either: (i) the dirty ratio threshold has been met and the log has had dirty (uncompacted) records for at least the min.compaction.lag.ms duration, or (ii) if the log has had dirty (uncompacted) records for at most the max.compaction.lag.ms period.", "title": "min.cleanable.dirty.ratio"}}, "required": ["source", "value"]}, "min_compaction_lag_ms": {"type": "object", "description": "min.compaction.lag.ms value, source and synonyms", "properties": {"source": {"type": "string", "description": "Source of the Kafka topic configuration entry", "enum": ["unknown_config", "topic_config", "dynamic_broker_config", "dynamic_default_broker_config", "static_broker_config", "default_config", "dynamic_broker_logger_config"]}, "synonyms": {"type": "array", "description": "Configuration synonyms", "items": {"type": "object", "properties": {"name": {"type": "string", "description": "Synonym name"}, "source": {"type": "string", "description": "Source of the Kafka topic configuration entry", "enum": ["unknown_config", "topic_config", "dynamic_broker_config", "dynamic_default_broker_config", "static_broker_config", "default_config", "dynamic_broker_logger_config"]}, "value": {"type": "integer", "description": "Synonym value"}}, "required": ["name", "source", "value"]}}, "value": {"type": "integer", "minimum": 0, "description": "The minimum time a message will remain uncompacted in the log. Only applicable for logs that are being compacted.", "title": "min.compaction.lag.ms"}}, "required": ["source", "value"]}, "min_insync_replicas": {"type": "object", "description": "min.insync.replicas value, source and synonyms", "properties": {"source": {"type": "string", "description": "Source of the Kafka topic configuration entry", "enum": ["unknown_config", "topic_config", "dynamic_broker_config", "dynamic_default_broker_config", "static_broker_config", "default_config", "dynamic_broker_logger_config"]}, "synonyms": {"type": "array", "description": "Configuration synonyms", "items": {"type": "object", "properties": {"name": {"type": "string", "description": "Synonym name"}, "source": {"type": "string", "description": "Source of the Kafka topic configuration entry", "enum": ["unknown_config", "topic_config", "dynamic_broker_config", "dynamic_default_broker_config", "static_broker_config", "default_config", "dynamic_broker_logger_config"]}, "value": {"type": "integer", "description": "Synonym value"}}, "required": ["name", "source", "value"]}}, "value": {"type": "integer", "minimum": 1, "description": "When a producer sets acks to 'all' (or '-1'), this configuration specifies the minimum number of replicas that must acknowledge a write for the write to be considered successful. If this minimum cannot be met, then the producer will raise an exception (either NotEnoughReplicas or NotEnoughReplicasAfterAppend). When used together, min.insync.replicas and acks allow you to enforce greater durability guarantees. A typical scenario would be to create a topic with a replication factor of 3, set min.insync.replicas to 2, and produce with acks of 'all'. This will ensure that the producer raises an exception if a majority of replicas do not receive a write.", "title": "min.insync.replicas"}}, "required": ["source", "value"]}, "preallocate": {"type": "object", "description": "preallocate value, source and synonyms", "properties": {"source": {"type": "string", "description": "Source of the Kafka topic configuration entry", "enum": ["unknown_config", "topic_config", "dynamic_broker_config", "dynamic_default_broker_config", "static_broker_config", "default_config", "dynamic_broker_logger_config"]}, "synonyms": {"type": "array", "description": "Configuration synonyms", "items": {"type": "object", "properties": {"name": {"type": "string", "description": "Synonym name"}, "source": {"type": "string", "description": "Source of the Kafka topic configuration entry", "enum": ["unknown_config", "topic_config", "dynamic_broker_config", "dynamic_default_broker_config", "static_broker_config", "default_config", "dynamic_broker_logger_config"]}, "value": {"type": "boolean", "description": "Synonym value"}}, "required": ["name", "source", "value"]}}, "value": {"type": "boolean", "description": "True if we should preallocate the file on disk when creating a new log segment.", "title": "preallocate"}}, "required": ["source", "value"]}, "remote_storage_enable": {"type": "object", "description": "remote.storage.enable value, source and synonyms", "properties": {"source": {"type": "string", "description": "Source of the Kafka topic configuration entry", "enum": ["unknown_config", "topic_config", "dynamic_broker_config", "dynamic_default_broker_config", "static_broker_config", "default_config", "dynamic_broker_logger_config"]}, "synonyms": {"type": "array", "description": "Configuration synonyms", "items": {"type": "object", "properties": {"name": {"type": "string", "description": "Synonym name"}, "source": {"type": "string", "description": "Source of the Kafka topic configuration entry", "enum": ["unknown_config", "topic_config", "dynamic_broker_config", "dynamic_default_broker_config", "static_broker_config", "default_config", "dynamic_broker_logger_config"]}, "value": {"type": "boolean", "description": "Synonym value"}}, "required": ["name", "source", "value"]}}, "value": {"type": "boolean", "description": "Indicates whether tiered storage should be enabled. This is only available for services with Tiered Storage feature enabled.", "title": "remote.storage.enable"}}, "required": ["source", "value"]}, "retention_bytes": {"type": "object", "description": "retention.bytes value, source and synonyms", "properties": {"source": {"type": "string", "description": "Source of the Kafka topic configuration entry", "enum": ["unknown_config", "topic_config", "dynamic_broker_config", "dynamic_default_broker_config", "static_broker_config", "default_config", "dynamic_broker_logger_config"]}, "synonyms": {"type": "array", "description": "Configuration synonyms", "items": {"type": "object", "properties": {"name": {"type": "string", "description": "Synonym name"}, "source": {"type": "string", "description": "Source of the Kafka topic configuration entry", "enum": ["unknown_config", "topic_config", "dynamic_broker_config", "dynamic_default_broker_config", "static_broker_config", "default_config", "dynamic_broker_logger_config"]}, "value": {"type": "integer", "description": "Synonym value"}}, "required": ["name", "source", "value"]}}, "value": {"type": "integer", "description": "This configuration controls the maximum size a partition (which consists of log segments) can grow to before we will discard old log segments to free up space if we are using the 'delete' retention policy. By default there is no size limit only a time limit. Since this limit is enforced at the partition level, multiply it by the number of partitions to compute the topic retention in bytes.", "title": "retention.bytes"}}, "required": ["source", "value"]}, "retention_ms": {"type": "object", "description": "retention.ms value, source and synonyms", "properties": {"source": {"type": "string", "description": "Source of the Kafka topic configuration entry", "enum": ["unknown_config", "topic_config", "dynamic_broker_config", "dynamic_default_broker_config", "static_broker_config", "default_config", "dynamic_broker_logger_config"]}, "synonyms": {"type": "array", "description": "Configuration synonyms", "items": {"type": "object", "properties": {"name": {"type": "string", "description": "Synonym name"}, "source": {"type": "string", "description": "Source of the Kafka topic configuration entry", "enum": ["unknown_config", "topic_config", "dynamic_broker_config", "dynamic_default_broker_config", "static_broker_config", "default_config", "dynamic_broker_logger_config"]}, "value": {"type": "integer", "description": "Synonym value"}}, "required": ["name", "source", "value"]}}, "value": {"type": "integer", "description": "This configuration controls the maximum time we will retain a log before we will discard old log segments to free up space if we are using the 'delete' retention policy. This represents an SLA on how soon consumers must read their data. If set to -1, no time limit is applied.", "title": "retention.ms"}}, "required": ["source", "value"]}, "segment_bytes": {"type": "object", "description": "segment.bytes value, source and synonyms", "properties": {"source": {"type": "string", "description": "Source of the Kafka topic configuration entry", "enum": ["unknown_config", "topic_config", "dynamic_broker_config", "dynamic_default_broker_config", "static_broker_config", "default_config", "dynamic_broker_logger_config"]}, "synonyms": {"type": "array", "description": "Configuration synonyms", "items": {"type": "object", "properties": {"name": {"type": "string", "description": "Synonym name"}, "source": {"type": "string", "description": "Source of the Kafka topic configuration entry", "enum": ["unknown_config", "topic_config", "dynamic_broker_config", "dynamic_default_broker_config", "static_broker_config", "default_config", "dynamic_broker_logger_config"]}, "value": {"type": "integer", "description": "Synonym value"}}, "required": ["name", "source", "value"]}}, "value": {"type": "integer", "minimum": 14, "description": "This configuration controls the segment file size for the log. Retention and cleaning is always done a file at a time so a larger segment size means fewer files but less granular control over retention. Setting this to a very low value has consequences, and the Aiven management plane ignores values less than 10 megabytes.", "title": "segment.bytes"}}, "required": ["source", "value"]}, "segment_index_bytes": {"type": "object", "description": "segment.index.bytes value, source and synonyms", "properties": {"source": {"type": "string", "description": "Source of the Kafka topic configuration entry", "enum": ["unknown_config", "topic_config", "dynamic_broker_config", "dynamic_default_broker_config", "static_broker_config", "default_config", "dynamic_broker_logger_config"]}, "synonyms": {"type": "array", "description": "Configuration synonyms", "items": {"type": "object", "properties": {"name": {"type": "string", "description": "Synonym name"}, "source": {"type": "string", "description": "Source of the Kafka topic configuration entry", "enum": ["unknown_config", "topic_config", "dynamic_broker_config", "dynamic_default_broker_config", "static_broker_config", "default_config", "dynamic_broker_logger_config"]}, "value": {"type": "integer", "description": "Synonym value"}}, "required": ["name", "source", "value"]}}, "value": {"type": "integer", "minimum": 0, "description": "This configuration controls the size of the index that maps offsets to file positions. We preallocate this index file and shrink it only after log rolls. You generally should not need to change this setting.", "title": "segment.index.bytes"}}, "required": ["source", "value"]}, "segment_jitter_ms": {"type": "object", "description": "segment.jitter.ms value, source and synonyms", "properties": {"source": {"type": "string", "description": "Source of the Kafka topic configuration entry", "enum": ["unknown_config", "topic_config", "dynamic_broker_config", "dynamic_default_broker_config", "static_broker_config", "default_config", "dynamic_broker_logger_config"]}, "synonyms": {"type": "array", "description": "Configuration synonyms", "items": {"type": "object", "properties": {"name": {"type": "string", "description": "Synonym name"}, "source": {"type": "string", "description": "Source of the Kafka topic configuration entry", "enum": ["unknown_config", "topic_config", "dynamic_broker_config", "dynamic_default_broker_config", "static_broker_config", "default_config", "dynamic_broker_logger_config"]}, "value": {"type": "integer", "description": "Synonym value"}}, "required": ["name", "source", "value"]}}, "value": {"type": "integer", "minimum": 0, "description": "The maximum random jitter subtracted from the scheduled segment roll time to avoid thundering herds of segment rolling", "title": "segment.jitter.ms"}}, "required": ["source", "value"]}, "segment_ms": {"type": "object", "description": "segment.ms value, source and synonyms", "properties": {"source": {"type": "string", "description": "Source of the Kafka topic configuration entry", "enum": ["unknown_config", "topic_config", "dynamic_broker_config", "dynamic_default_broker_config", "static_broker_config", "default_config", "dynamic_broker_logger_config"]}, "synonyms": {"type": "array", "description": "Configuration synonyms", "items": {"type": "object", "properties": {"name": {"type": "string", "description": "Synonym name"}, "source": {"type": "string", "description": "Source of the Kafka topic configuration entry", "enum": ["unknown_config", "topic_config", "dynamic_broker_config", "dynamic_default_broker_config", "static_broker_config", "default_config", "dynamic_broker_logger_config"]}, "value": {"type": "integer", "description": "Synonym value"}}, "required": ["name", "source", "value"]}}, "value": {"type": "integer", "minimum": 1, "description": "This configuration controls the period of time after which Kafka will force the log to roll even if the segment file isn't full to ensure that retention can delete or compact old data. Setting this to a very low value has consequences, and the Aiven management plane ignores values less than 10 seconds.", "title": "segment.ms"}}, "required": ["source", "value"]}, "unclean_leader_election_enable": {"type": "object", "description": "unclean.leader.election.enable value, source and synonyms", "properties": {"source": {"type": "string", "description": "Source of the Kafka topic configuration entry", "enum": ["unknown_config", "topic_config", "dynamic_broker_config", "dynamic_default_broker_config", "static_broker_config", "default_config", "dynamic_broker_logger_config"]}, "synonyms": {"type": "array", "description": "Configuration synonyms", "items": {"type": "object", "properties": {"name": {"type": "string", "description": "Synonym name"}, "source": {"type": "string", "description": "Source of the Kafka topic configuration entry", "enum": ["unknown_config", "topic_config", "dynamic_broker_config", "dynamic_default_broker_config", "static_broker_config", "default_config", "dynamic_broker_logger_config"]}, "value": {"type": "boolean", "description": "Synonym value"}}, "required": ["name", "source", "value"]}}, "value": {"type": "boolean", "description": "Indicates whether to enable replicas not in the ISR set to be elected as leader as a last resort, even though doing so may result in data loss.", "title": "unclean.leader.election.enable"}}, "required": ["source", "value"]}}}, "min_insync_replicas": {"type": "integer", "minimum": 1, "description": "When a producer sets acks to 'all' (or '-1'), this configuration specifies the minimum number of replicas that must acknowledge a write for the write to be considered successful. If this minimum cannot be met, then the producer will raise an exception (either NotEnoughReplicas or NotEnoughReplicasAfterAppend). When used together, min.insync.replicas and acks allow you to enforce greater durability guarantees. A typical scenario would be to create a topic with a replication factor of 3, set min.insync.replicas to 2, and produce with acks of 'all'. This will ensure that the producer raises an exception if a majority of replicas do not receive a write.", "title": "DEPRECATED: use config.min_insync_replicas"}, "owner_user_group_id": {"type": "string", "minLength": 1, "maxLength": 36, "description": "The user group that owns this topic"}, "partitions": {"type": "array", "description": "Topic partitions", "items": {"type": "object", "properties": {"consumer_groups": {"type": "array", "description": "List of Kafka consumer groups", "items": {"type": "object", "properties": {"group_name": {"type": "string", "description": "consumer group"}, "offset": {"type": "integer", "minimum": 0, "description": "Latest partition message offset"}}, "required": ["group_name", "offset"]}}, "earliest_offset": {"type": "integer", "description": "Earliest partition message offset"}, "isr": {"type": "integer", "minimum": 0, "description": "Number of In Sync Replicas (ISR)"}, "latest_offset": {"type": "integer", "description": "Latest partition message offset"}, "partition": {"type": "integer", "description": "Partition number"}, "remote_size": {"type": "integer", "minimum": 0, "description": "Size of tiered data from partition in bytes"}, "size": {"type": "integer", "minimum": 0, "description": "Size of partition in bytes"}}, "required": ["consumer_groups", "earliest_offset", "isr", "latest_offset", "partition", "size"]}}, "replication": {"type": "integer", "minimum": 1, "description": "Number of replicas"}, "retention_bytes": {"type": "integer", "description": "This configuration controls the maximum size a partition (which consists of log segments) can grow to before we will discard old log segments to free up space if we are using the 'delete' retention policy. By default there is no size limit only a time limit. Since this limit is enforced at the partition level, multiply it by the number of partitions to compute the topic retention in bytes.", "title": "DEPRECATED: use config.retention_bytes"}, "retention_hours": {"type": "integer", "maximum": 2562047788015, "description": "DEPRECATED: use config.retention_ms"}, "state": {"type": "string", "description": "Topic state", "enum": ["ACTIVE", "CONFIGURING", "DELETING"]}, "tags": {"type": "array", "minItems": 0, "maxItems": 25, "description": "Topic tags", "items": {"type": "object", "properties": {"key": {"type": "string", "minLength": 1, "maxLength": 64, "description": "Tag key"}, "value": {"type": "string", "minLength": 0, "maxLength": 256, "description": "Tag value"}}, "required": ["key", "value"]}}, "topic_description": {"type": "string", "minLength": 1, "maxLength": 256, "description": "Topic description"}, "topic_name": {"type": "string", "minLength": 1, "maxLength": 249, "description": "Topic name"}}, "required": ["cleanup_policy", "config", "min_insync_replicas", "owner_user_group_id", "partitions", "replication", "retention_bytes", "retention_hours", "state", "tags", "topic_description", "topic_name"]}}, "required": ["topic"]}, "ServiceKafkaTopicListResponse": {"type": "object", "description": "ServiceKafkaTopicListResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "topics": {"type": "array", "description": "List of Kafka topics", "items": {"type": "object", "properties": {"cleanup_policy": {"type": "string", "maxLength": 64, "description": "The retention policy to use on old segments. Possible values include 'delete', 'compact', or a comma-separated list of them. The default policy ('delete') will discard old segments when their retention time or size limit has been reached. The 'compact' setting will enable log compaction on the topic.", "title": "cleanup.policy"}, "diskless_enable": {"type": "boolean", "description": "Indicates whether diskless should be enabled. This is only available for BYOC services with Diskless feature enabled.", "title": "diskless.enable"}, "min_insync_replicas": {"type": "integer", "minimum": 1, "description": "When a producer sets acks to 'all' (or '-1'), this configuration specifies the minimum number of replicas that must acknowledge a write for the write to be considered successful. If this minimum cannot be met, then the producer will raise an exception (either NotEnoughReplicas or NotEnoughReplicasAfterAppend). When used together, min.insync.replicas and acks allow you to enforce greater durability guarantees. A typical scenario would be to create a topic with a replication factor of 3, set min.insync.replicas to 2, and produce with acks of 'all'. This will ensure that the producer raises an exception if a majority of replicas do not receive a write.", "title": "min.insync.replicas"}, "owner_user_group_id": {"type": "string", "minLength": 1, "maxLength": 36, "description": "The user group that owns this topic"}, "partitions": {"type": "integer", "minimum": 1, "maximum": 1000000, "description": "Number of partitions"}, "remote_storage_enable": {"type": "boolean", "description": "Indicates whether tiered storage should be enabled. This is only available for services with Tiered Storage feature enabled.", "title": "remote.storage.enable"}, "replication": {"type": "integer", "minimum": 1, "description": "Number of replicas"}, "retention_bytes": {"type": "integer", "description": "This configuration controls the maximum size a partition (which consists of log segments) can grow to before we will discard old log segments to free up space if we are using the 'delete' retention policy. By default there is no size limit only a time limit. Since this limit is enforced at the partition level, multiply it by the number of partitions to compute the topic retention in bytes.", "title": "retention.bytes"}, "retention_hours": {"type": "integer", "maximum": 2562047788015, "description": "Retention period (hours)"}, "state": {"type": "string", "description": "Topic state", "enum": ["ACTIVE", "CONFIGURING", "DELETING"]}, "tags": {"type": "array", "minItems": 0, "maxItems": 25, "description": "Topic tags", "items": {"type": "object", "properties": {"key": {"type": "string", "minLength": 1, "maxLength": 64, "description": "Tag key"}, "value": {"type": "string", "minLength": 0, "maxLength": 256, "description": "Tag value"}}, "required": ["key", "value"]}}, "topic_description": {"type": "string", "minLength": 1, "maxLength": 256, "description": "Topic description"}, "topic_name": {"type": "string", "minLength": 1, "maxLength": 249, "description": "Topic name"}}, "required": ["cleanup_policy", "min_insync_replicas", "owner_user_group_id", "partitions", "replication", "retention_bytes", "retention_hours", "state", "tags", "topic_description", "topic_name"]}}}, "required": ["topics"]}, "ServiceKafkaTopicMessageListRequestBody": {"type": "object", "description": "ServiceKafkaTopicMessageListRequestBody", "properties": {"format": {"type": "string", "description": "The format of consumed messages, which is used to convert messages into a JSON-compatible form. If unspecified, defaults to binary", "enum": ["binary", "json", "avro", "protobuf", "jsonschema"]}, "max_bytes": {"type": "integer", "minimum": 1024, "maximum": 1000000000, "description": "The maximum number of bytes of unencoded keys and values that should be included in the response. This provides approximate control over the size of responses and the amount of memory required to store the decoded response. The actual limit will be the minimum of this setting and the server-side configuration consumer.request.max.bytes. Default is unlimited"}, "partitions": {"type": "object", "description": "Object of desired partition / offset mappings", "properties": {}}, "timeout": {"type": "integer", "minimum": 3000, "maximum": 40000, "description": "The maximum total time to wait for messages for a request if the maximum request size has not yet been reached"}}, "required": ["partitions"]}, "ServiceKafkaTopicMessageListResponse": {"type": "object", "description": "ServiceKafkaTopicMessageListResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "messages": {"type": "array", "description": "List of messages from topic", "items": {"type": "object", "properties": {"key": {"type": "object", "description": "The message key, formatted according to the embedded format", "properties": {}}, "offset": {"type": "integer", "description": "Offset of the message"}, "partition": {"type": "integer", "description": "Partition of the message"}, "topic": {"type": "string", "description": "The name of the topic"}, "value": {"type": "object", "description": "The message value, formatted according to the embedded format", "properties": {}}}}}}}, "ServiceKafkaTopicMessageProduceRequestBody": {"type": "object", "description": "ServiceKafkaTopicMessageProduceRequestBody", "properties": {"format": {"type": "string", "description": "The format of the content.", "enum": ["binary", "json", "avro", "protobuf", "jsonschema"]}, "key_schema": {"type": "string", "minLength": 18, "maxLength": 2048, "description": "Full schema encoded as a string (e.g. JSON serialized for Avro data)"}, "key_schema_id": {"type": "integer", "minimum": 1, "maximum": 50000, "description": "ID returned by a previous request using the same schema. This ID corresponds to the ID of the schema in the registry."}, "records": {"type": "array", "maxItems": 32, "description": "List of records to produce to the topic", "items": {"type": "object", "properties": {"key": {"type": "object", "description": "Key for the produced record", "properties": {}}, "partition": {"type": "integer", "minimum": 0, "maximum": 10000, "description": "Optionally specify the partition where to produce the record"}, "value": {"type": "object", "description": "Value for the produced record", "properties": {}}}}}, "value_schema": {"type": "string", "minLength": 18, "maxLength": 2048, "description": "Full schema encoded as a string (e.g. JSON serialized for Avro data)"}, "value_schema_id": {"type": "integer", "minimum": 1, "maximum": 50000, "description": "ID returned by a previous request using the same schema. This ID corresponds to the ID of the schema in the registry."}}, "required": ["format", "records"]}, "ServiceKafkaTopicMessageProduceResponse": {"type": "object", "description": "ServiceKafkaTopicMessageProduceResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "key_schema_id": {"type": "integer", "description": "The ID for the schema used to produce keys, or null if keys were not used"}, "message": {"type": "string", "description": "Printable result of the request"}, "offsets": {"type": "array", "description": "List of offsets for the produced record", "items": {"type": "object", "properties": {"error": {"type": "string", "description": "An error message describing why the operation failed, or null if it succeeded"}, "error_code": {"type": "integer", "description": "An error code classifying the reason this operation failed, or null if it succeeded. 1 = Non-retriable Kafka exception, 2 = Retriable Kafka exception; the message might be sent successfully if retried"}, "offset": {"type": "integer", "description": "Offset of the message, or null if publishing the message failed"}, "partition": {"type": "integer", "description": "Partition the message was published to, or null if publishing the message failed"}}}}, "value_schema_id": {"type": "integer", "description": "The ID for the schema used to produce values"}}}, "ServiceKafkaTopicUpdateRequestBody": {"type": "object", "description": "ServiceKafkaTopicUpdateRequestBody", "properties": {"config": {"type": "object", "description": "Kafka topic configuration", "properties": {"cleanup_policy": {"type": "string", "description": "The retention policy to use on old segments. Possible values include 'delete', 'compact', or a comma-separated list of them. The default policy ('delete') will discard old segments when their retention time or size limit has been reached. The 'compact' setting will enable log compaction on the topic.", "title": "cleanup.policy", "enum": ["delete", "compact", "compact,delete"]}, "compression_type": {"type": "string", "description": "Specify the final compression type for a given topic. This configuration accepts the standard compression codecs ('gzip', 'snappy', 'lz4', 'zstd'). It additionally accepts 'uncompressed' which is equivalent to no compression; and 'producer' which means retain the original compression codec set by the producer.", "title": "compression.type", "enum": ["snappy", "gzip", "lz4", "producer", "uncompressed", "zstd"]}, "delete_retention_ms": {"type": "integer", "minimum": 0, "description": "The amount of time to retain delete tombstone markers for log compacted topics. This setting also gives a bound on the time in which a consumer must complete a read if they begin from offset 0 to ensure that they get a valid snapshot of the final stage (otherwise delete tombstones may be collected before they complete their scan).", "title": "delete.retention.ms"}, "diskless_enable": {"type": "boolean", "description": "Indicates whether diskless should be enabled. This is only available for BYOC services with Diskless feature enabled.", "title": "diskless.enable"}, "file_delete_delay_ms": {"type": "integer", "minimum": 0, "description": "The time to wait before deleting a file from the filesystem.", "title": "file.delete.delay.ms"}, "flush_messages": {"type": "integer", "minimum": 0, "description": "This setting allows specifying an interval at which we will force an fsync of data written to the log. For example if this was set to 1 we would fsync after every message; if it were 5 we would fsync after every five messages. In general we recommend you not set this and use replication for durability and allow the operating system's background flush capabilities as it is more efficient.", "title": "flush.messages"}, "flush_ms": {"type": "integer", "minimum": 0, "description": "This setting allows specifying a time interval at which we will force an fsync of data written to the log. For example if this was set to 1000 we would fsync after 1000 ms had passed. In general we recommend you not set this and use replication for durability and allow the operating system's background flush capabilities as it is more efficient.", "title": "flush.ms"}, "index_interval_bytes": {"type": "integer", "minimum": 0, "description": "This setting controls how frequently Kafka adds an index entry to its offset index. The default setting ensures that we index a message roughly every 4096 bytes. More indexing allows reads to jump closer to the exact position in the log but makes the index larger. You probably don't need to change this.", "title": "index.interval.bytes"}, "local_retention_bytes": {"type": "integer", "description": "This configuration controls the maximum bytes tiered storage will retain segment files locally before it will discard old log segments to free up space. If set to -2, the limit is equal to overall retention time. If set to -1, no limit is applied but it's possible only if overall retention is also -1.", "title": "local.retention.bytes"}, "local_retention_ms": {"type": "integer", "description": "This configuration controls the maximum time tiered storage will retain segment files locally before it will discard old log segments to free up space. If set to -2, the time limit is equal to overall retention time. If set to -1, no time limit is applied but it's possible only if overall retention is also -1.", "title": "local.retention.ms"}, "max_compaction_lag_ms": {"type": "integer", "minimum": 0, "description": "The maximum time a message will remain ineligible for compaction in the log. Only applicable for logs that are being compacted.", "title": "max.compaction.lag.ms"}, "max_message_bytes": {"type": "integer", "minimum": 0, "description": "The largest record batch size allowed by Kafka (after compression if compression is enabled). If this is increased and there are consumers older than 0.10.2, the consumers' fetch size must also be increased so that the they can fetch record batches this large. In the latest message format version, records are always grouped into batches for efficiency. In previous message format versions, uncompressed records are not grouped into batches and this limit only applies to a single record in that case.", "title": "max.message.bytes"}, "message_downconversion_enable": {"type": "boolean", "description": "This configuration controls whether down-conversion of message formats is enabled to satisfy consume requests. When set to false, broker will not perform down-conversion for consumers expecting an older message format. The broker responds with UNSUPPORTED_VERSION error for consume requests from such older clients. This configuration does not apply to any message format conversion that might be required for replication to followers.", "title": "message.downconversion.enable"}, "message_format_version": {"type": "string", "description": "Specify the message format version the broker will use to append messages to the logs. The value should be a valid ApiVersion. Some examples are: 0.8.2, 0.9.0.0, 0.10.0, check ApiVersion for more details. By setting a particular message format version, the user is certifying that all the existing messages on disk are smaller or equal than the specified version. Setting this value incorrectly will cause consumers with older versions to break as they will receive messages with a format that they don't understand. Deprecated in Kafka 4.0+: this configuration is removed and any supplied value will be ignored; for services upgraded to 4.0+, the returned value may be 'None'.", "title": "message.format.version", "enum": ["0.8.0", "0.8.1", "0.8.2", "0.9.0", "0.10.0", "0.10.0-IV0", "0.10.0-IV1", "0.10.1", "0.10.1-IV0", "0.10.1-IV1", "0.10.1-IV2", "0.10.2", "0.10.2-IV0", "0.11.0", "0.11.0-IV0", "0.11.0-IV1", "0.11.0-IV2", "1.0", "1.0-IV0", "1.1", "1.1-IV0", "2.0", "2.0-IV0", "2.0-IV1", "2.1", "2.1-IV0", "2.1-IV1", "2.1-IV2", "2.2", "2.2-IV0", "2.2-IV1", "2.3", "2.3-IV0", "2.3-IV1", "2.4", "2.4-IV0", "2.4-IV1", "2.5", "2.5-IV0", "2.6", "2.6-IV0", "2.7", "2.7-IV0", "2.7-IV1", "2.7-IV2", "2.8", "2.8-IV0", "2.8-IV1", "3.0", "3.0-IV0", "3.0-IV1", "3.1", "3.1-IV0", "3.2", "3.2-IV0", "3.3", "3.3-IV0", "3.3-IV1", "3.3-IV2", "3.3-IV3", "3.4", "3.4-IV0", "3.5", "3.5-IV0", "3.5-IV1", "3.5-IV2", "3.6", "3.6-IV0", "3.6-IV1", "3.6-IV2", "3.7", "3.7-IV0", "3.7-IV1", "3.7-IV2", "3.7-IV3", "3.7-IV4", "3.8", "3.8-IV0", "3.9", "3.9-IV0", "3.9-IV1", "4.0", "4.0-IV0", "4.1", "4.1-IV0"]}, "message_timestamp_after_max_ms": {"type": "integer", "minimum": 0, "description": "The maximum difference allowed between the timestamp when a broker receives a message and the timestamp specified in the message. If message.timestamp.type=CreateTime, a message will be rejected if the difference in timestamp exceeds this threshold. Applies only for messages with timestamps later than the broker's timestamp.", "title": "message.timestamp.after.max.ms"}, "message_timestamp_before_max_ms": {"type": "integer", "minimum": 0, "description": "The maximum difference allowed between the timestamp when a broker receives a message and the timestamp specified in the message. If message.timestamp.type=CreateTime, a message will be rejected if the difference in timestamp exceeds this threshold. Applies only for messages with timestamps earlier than the broker's timestamp.", "title": "message.timestamp.before.max.ms"}, "message_timestamp_difference_max_ms": {"type": "integer", "minimum": 0, "description": "The maximum difference allowed between the timestamp when a broker receives a message and the timestamp specified in the message. If message.timestamp.type=CreateTime, a message will be rejected if the difference in timestamp exceeds this threshold. This configuration is ignored if message.timestamp.type=LogAppendTime.", "title": "message.timestamp.difference.max.ms"}, "message_timestamp_type": {"type": "string", "description": "Define whether the timestamp in the message is message create time or log append time.", "title": "message.timestamp.type", "enum": ["CreateTime", "LogAppendTime"]}, "min_cleanable_dirty_ratio": {"type": "number", "minimum": 0, "maximum": 1, "description": "This configuration controls how frequently the log compactor will attempt to clean the log (assuming log compaction is enabled). By default we will avoid cleaning a log where more than 50% of the log has been compacted. This ratio bounds the maximum space wasted in the log by duplicates (at 50% at most 50% of the log could be duplicates). A higher ratio will mean fewer, more efficient cleanings but will mean more wasted space in the log. If the max.compaction.lag.ms or the min.compaction.lag.ms configurations are also specified, then the log compactor considers the log to be eligible for compaction as soon as either: (i) the dirty ratio threshold has been met and the log has had dirty (uncompacted) records for at least the min.compaction.lag.ms duration, or (ii) if the log has had dirty (uncompacted) records for at most the max.compaction.lag.ms period.", "title": "min.cleanable.dirty.ratio"}, "min_compaction_lag_ms": {"type": "integer", "minimum": 0, "description": "The minimum time a message will remain uncompacted in the log. Only applicable for logs that are being compacted.", "title": "min.compaction.lag.ms"}, "min_insync_replicas": {"type": "integer", "minimum": 1, "description": "When a producer sets acks to 'all' (or '-1'), this configuration specifies the minimum number of replicas that must acknowledge a write for the write to be considered successful. If this minimum cannot be met, then the producer will raise an exception (either NotEnoughReplicas or NotEnoughReplicasAfterAppend). When used together, min.insync.replicas and acks allow you to enforce greater durability guarantees. A typical scenario would be to create a topic with a replication factor of 3, set min.insync.replicas to 2, and produce with acks of 'all'. This will ensure that the producer raises an exception if a majority of replicas do not receive a write.", "title": "min.insync.replicas"}, "preallocate": {"type": "boolean", "description": "True if we should preallocate the file on disk when creating a new log segment.", "title": "preallocate"}, "remote_storage_enable": {"type": "boolean", "description": "Indicates whether tiered storage should be enabled. This is only available for services with Tiered Storage feature enabled.", "title": "remote.storage.enable"}, "retention_bytes": {"type": "integer", "description": "This configuration controls the maximum size a partition (which consists of log segments) can grow to before we will discard old log segments to free up space if we are using the 'delete' retention policy. By default there is no size limit only a time limit. Since this limit is enforced at the partition level, multiply it by the number of partitions to compute the topic retention in bytes.", "title": "retention.bytes"}, "retention_ms": {"type": "integer", "description": "This configuration controls the maximum time we will retain a log before we will discard old log segments to free up space if we are using the 'delete' retention policy. This represents an SLA on how soon consumers must read their data. If set to -1, no time limit is applied.", "title": "retention.ms"}, "segment_bytes": {"type": "integer", "minimum": 14, "description": "This configuration controls the segment file size for the log. Retention and cleaning is always done a file at a time so a larger segment size means fewer files but less granular control over retention. Setting this to a very low value has consequences, and the Aiven management plane ignores values less than 10 megabytes.", "title": "segment.bytes"}, "segment_index_bytes": {"type": "integer", "minimum": 0, "description": "This configuration controls the size of the index that maps offsets to file positions. We preallocate this index file and shrink it only after log rolls. You generally should not need to change this setting.", "title": "segment.index.bytes"}, "segment_jitter_ms": {"type": "integer", "minimum": 0, "description": "The maximum random jitter subtracted from the scheduled segment roll time to avoid thundering herds of segment rolling", "title": "segment.jitter.ms"}, "segment_ms": {"type": "integer", "minimum": 1, "description": "This configuration controls the period of time after which Kafka will force the log to roll even if the segment file isn't full to ensure that retention can delete or compact old data. Setting this to a very low value has consequences, and the Aiven management plane ignores values less than 10 seconds.", "title": "segment.ms"}, "unclean_leader_election_enable": {"type": "boolean", "description": "Indicates whether to enable replicas not in the ISR set to be elected as leader as a last resort, even though doing so may result in data loss.", "title": "unclean.leader.election.enable"}}}, "min_insync_replicas": {"type": "integer", "minimum": 1, "description": "When a producer sets acks to 'all' (or '-1'), this configuration specifies the minimum number of replicas that must acknowledge a write for the write to be considered successful. If this minimum cannot be met, then the producer will raise an exception (either NotEnoughReplicas or NotEnoughReplicasAfterAppend). When used together, min.insync.replicas and acks allow you to enforce greater durability guarantees. A typical scenario would be to create a topic with a replication factor of 3, set min.insync.replicas to 2, and produce with acks of 'all'. This will ensure that the producer raises an exception if a majority of replicas do not receive a write.", "title": "DEPRECATED: use config.min_insync_replicas"}, "owner_user_group_id": {"type": "string", "minLength": 1, "maxLength": 36, "description": "The user group that owns this topic"}, "partitions": {"type": "integer", "minimum": 1, "maximum": 1000000, "description": "Number of partitions"}, "replication": {"type": "integer", "minimum": 1, "description": "Number of replicas"}, "retention_bytes": {"type": "integer", "description": "This configuration controls the maximum size a partition (which consists of log segments) can grow to before we will discard old log segments to free up space if we are using the 'delete' retention policy. By default there is no size limit only a time limit. Since this limit is enforced at the partition level, multiply it by the number of partitions to compute the topic retention in bytes.", "title": "DEPRECATED: use config.retention_bytes"}, "retention_hours": {"type": "integer", "maximum": 2562047788015, "description": "DEPRECATED: use config.retention_ms"}, "tags": {"type": "array", "minItems": 0, "maxItems": 25, "description": "Topic tags", "items": {"type": "object", "properties": {"key": {"type": "string", "minLength": 1, "maxLength": 64, "description": "Tag key"}, "value": {"type": "string", "minLength": 0, "maxLength": 256, "description": "Tag value"}}, "required": ["key", "value"]}}, "topic_description": {"type": "string", "minLength": 1, "maxLength": 256, "description": "Topic description"}}}, "ServiceKafkaTopicUpdateResponse": {"type": "object", "description": "ServiceKafkaTopicUpdateResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}}, "ServiceSchemaRegistryAclAddRequestBody": {"type": "object", "description": "ServiceSchemaRegistryAclAddRequestBody", "properties": {"permission": {"type": "string", "description": "ACL entry for Schema Registry", "enum": ["schema_registry_read", "schema_registry_write"]}, "resource": {"type": "string", "minLength": 1, "maxLength": 249, "description": "Schema Registry ACL entry resource name pattern"}, "username": {"type": "string", "minLength": 1, "maxLength": 64, "description": "Username"}}, "required": ["permission", "resource", "username"]}, "ServiceSchemaRegistryAclAddResponse": {"type": "object", "description": "ServiceSchemaRegistryAclAddResponse", "properties": {"acl": {"type": "array", "description": "List of Schema Registry ACL entries", "items": {"type": "object", "properties": {"id": {"type": "string", "maxLength": 40, "description": "ID"}, "permission": {"type": "string", "description": "ACL entry for Schema Registry", "enum": ["schema_registry_read", "schema_registry_write"]}, "resource": {"type": "string", "minLength": 1, "maxLength": 249, "description": "Schema Registry ACL entry resource name pattern"}, "username": {"type": "string", "minLength": 1, "maxLength": 64, "description": "Username"}}, "required": ["permission", "resource", "username"]}}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}, "required": ["acl"]}, "ServiceSchemaRegistryAclDeleteResponse": {"type": "object", "description": "ServiceSchemaRegistryAclDeleteResponse", "properties": {"acl": {"type": "array", "description": "List of Schema Registry ACL entries", "items": {"type": "object", "properties": {"id": {"type": "string", "maxLength": 40, "description": "ID"}, "permission": {"type": "string", "description": "ACL entry for Schema Registry", "enum": ["schema_registry_read", "schema_registry_write"]}, "resource": {"type": "string", "minLength": 1, "maxLength": 249, "description": "Schema Registry ACL entry resource name pattern"}, "username": {"type": "string", "minLength": 1, "maxLength": 64, "description": "Username"}}, "required": ["permission", "resource", "username"]}}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}, "required": ["acl"]}, "ServiceSchemaRegistryAclListResponse": {"type": "object", "description": "ServiceSchemaRegistryAclListResponse", "properties": {"acl": {"type": "array", "description": "List of Schema Registry ACL entries", "items": {"type": "object", "properties": {"id": {"type": "string", "maxLength": 40, "description": "ID"}, "permission": {"type": "string", "description": "ACL entry for Schema Registry", "enum": ["schema_registry_read", "schema_registry_write"]}, "resource": {"type": "string", "minLength": 1, "maxLength": 249, "description": "Schema Registry ACL entry resource name pattern"}, "username": {"type": "string", "minLength": 1, "maxLength": 64, "description": "Username"}}, "required": ["permission", "resource", "username"]}}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}, "required": ["acl"]}, "ServiceSchemaRegistryCompatibilityRequestBody": {"type": "object", "description": "ServiceSchemaRegistryCompatibilityRequestBody", "properties": {"schema": {"type": "string", "maxLength": 1048576, "description": "Schema"}, "schemaType": {"type": "string", "description": "Schema type", "enum": ["AVRO", "JSON", "PROTOBUF"]}}, "required": ["schema"]}, "ServiceSchemaRegistryCompatibilityResponse": {"type": "object", "description": "ServiceSchemaRegistryCompatibilityResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "is_compatible": {"type": "boolean", "description": "Compatibility"}, "message": {"type": "string", "description": "Printable result of the request"}, "messages": {"type": "array", "maxItems": 128, "description": "Compatibility check messages", "items": {"type": "string"}}}, "required": ["is_compatible"]}, "ServiceSchemaRegistryGlobalConfigGetResponse": {"type": "object", "description": "ServiceSchemaRegistryGlobalConfigGetResponse", "properties": {"compatibilityLevel": {"type": "string", "description": "Compatibility level", "enum": ["BACKWARD", "BACKWARD_TRANSITIVE", "FORWARD", "FORWARD_TRANSITIVE", "FULL", "FULL_TRANSITIVE", "NONE"]}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}, "required": ["compatibilityLevel"]}, "ServiceSchemaRegistryGlobalConfigPutRequestBody": {"type": "object", "description": "ServiceSchemaRegistryGlobalConfigPutRequestBody", "properties": {"compatibility": {"type": "string", "description": "Compatibility level", "enum": ["BACKWARD", "BACKWARD_TRANSITIVE", "FORWARD", "FORWARD_TRANSITIVE", "FULL", "FULL_TRANSITIVE", "NONE"]}}, "required": ["compatibility"]}, "ServiceSchemaRegistryGlobalConfigPutResponse": {"type": "object", "description": "ServiceSchemaRegistryGlobalConfigPutResponse", "properties": {"compatibility": {"type": "string", "description": "Compatibility level", "enum": ["BACKWARD", "BACKWARD_TRANSITIVE", "FORWARD", "FORWARD_TRANSITIVE", "FULL", "FULL_TRANSITIVE", "NONE"]}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}, "required": ["compatibility"]}, "ServiceSchemaRegistrySchemaGetResponse": {"type": "object", "description": "ServiceSchemaRegistrySchemaGetResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}}, "ServiceSchemaRegistrySubjectConfigGetResponse": {"type": "object", "description": "ServiceSchemaRegistrySubjectConfigGetResponse", "properties": {"compatibilityLevel": {"type": "string", "description": "Compatibility level", "enum": ["BACKWARD", "BACKWARD_TRANSITIVE", "FORWARD", "FORWARD_TRANSITIVE", "FULL", "FULL_TRANSITIVE", "NONE"]}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}, "required": ["compatibilityLevel"]}, "ServiceSchemaRegistrySubjectConfigPutRequestBody": {"type": "object", "description": "ServiceSchemaRegistrySubjectConfigPutRequestBody", "properties": {"compatibility": {"type": "string", "description": "Compatibility level", "enum": ["BACKWARD", "BACKWARD_TRANSITIVE", "FORWARD", "FORWARD_TRANSITIVE", "FULL", "FULL_TRANSITIVE", "NONE"]}}, "required": ["compatibility"]}, "ServiceSchemaRegistrySubjectConfigPutResponse": {"type": "object", "description": "ServiceSchemaRegistrySubjectConfigPutResponse", "properties": {"compatibility": {"type": "string", "description": "Compatibility level", "enum": ["BACKWARD", "BACKWARD_TRANSITIVE", "FORWARD", "FORWARD_TRANSITIVE", "FULL", "FULL_TRANSITIVE", "NONE"]}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}, "required": ["compatibility"]}, "ServiceSchemaRegistrySubjectDeleteResponse": {"type": "object", "description": "ServiceSchemaRegistrySubjectDeleteResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}}, "ServiceSchemaRegistrySubjectVersionDeleteResponse": {"type": "object", "description": "ServiceSchemaRegistrySubjectVersionDeleteResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}}, "ServiceSchemaRegistrySubjectVersionGetResponse": {"type": "object", "description": "ServiceSchemaRegistrySubjectVersionGetResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "version": {"type": "object", "description": "Version", "properties": {"id": {"type": "integer", "minimum": 0, "description": "Schema Id"}, "references": {"type": "array", "maxItems": 128, "description": "Schema references", "items": {"type": "object", "properties": {"name": {"type": "string", "maxLength": 1024, "description": "The name used to reference the provided subject and version", "title": "Name"}, "subject": {"type": "string", "maxLength": 1024, "description": "Subject"}, "version": {"type": "integer", "minimum": 0, "description": "Version"}}, "required": ["name", "subject", "version"]}}, "schema": {"type": "string", "maxLength": 1048576, "description": "Schema"}, "schemaType": {"type": "string", "description": "Schema type", "enum": ["AVRO", "JSON", "PROTOBUF"]}, "subject": {"type": "string", "maxLength": 1024, "description": "Subject"}, "version": {"type": "integer", "minimum": 0, "description": "Version"}}, "required": ["id", "schema", "subject", "version"]}}, "required": ["version"]}, "ServiceSchemaRegistrySubjectVersionPostRequestBody": {"type": "object", "description": "ServiceSchemaRegistrySubjectVersionPostRequestBody", "properties": {"references": {"type": "array", "maxItems": 128, "description": "Schema references", "items": {"type": "object", "properties": {"name": {"type": "string", "maxLength": 1024, "description": "The name used to reference the provided subject and version", "title": "Name"}, "subject": {"type": "string", "maxLength": 1024, "description": "Subject"}, "version": {"type": "integer", "minimum": 0, "description": "Version"}}, "required": ["name", "subject", "version"]}}, "schema": {"type": "string", "maxLength": 1048576, "description": "Schema"}, "schemaType": {"type": "string", "description": "Schema type", "enum": ["AVRO", "JSON", "PROTOBUF"]}}, "required": ["schema"]}, "ServiceSchemaRegistrySubjectVersionPostResponse": {"type": "object", "description": "ServiceSchemaRegistrySubjectVersionPostResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "id": {"type": "integer", "minimum": 0, "description": "Schema Id"}, "message": {"type": "string", "description": "Printable result of the request"}}, "required": ["id"]}, "ServiceSchemaRegistrySubjectVersionSchemaGetResponse": {"type": "object", "description": "ServiceSchemaRegistrySubjectVersionSchemaGetResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}}, "ServiceSchemaRegistrySubjectVersionsGetResponse": {"type": "object", "description": "ServiceSchemaRegistrySubjectVersionsGetResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "versions": {"type": "array", "description": "List of available versions for a Schema Registry subject", "items": {"type": "integer"}}}, "required": ["versions"]}, "ServiceSchemaRegistrySubjectsResponse": {"type": "object", "description": "ServiceSchemaRegistrySubjectsResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "subjects": {"type": "array", "description": "List of available Schema Registry subjects", "items": {"type": "string"}}}, "required": ["subjects"]}, "ServiceKafkaMirrorMakerCreateReplicationFlowRequestBody": {"type": "object", "description": "ServiceKafkaMirrorMakerCreateReplicationFlowRequestBody", "properties": {"config_properties_exclude": {"type": "string", "maxLength": 2048, "description": "A comma separated list of topic configuration properties and/or regexes that should not be replicated. If omitted, MirrorMaker will use default list of exclusions. For stability reasons, we always include the unclean.leader.election.enable field in the excluded parameters. If you have specific requirements for this configuration, please reach out to our support team for assistance.", "title": "Topic configuration properties that should not be replicated"}, "emit_backward_heartbeats_enabled": {"type": "boolean", "description": "Whether to emit heartbeats to the direction opposite to the flow, i.e. to the source cluster", "title": "Emit backward heartbeats enabled"}, "emit_heartbeats_enabled": {"type": "boolean", "description": "Whether to emit heartbeats to the target cluster", "title": "Emit heartbeats enabled"}, "enabled": {"type": "boolean", "description": "Is replication flow enabled"}, "exactly_once_delivery_enabled": {"type": "boolean", "description": "Whether to enable exactly-once message delivery. We recommend you set this to enabled for new replications.", "title": "Enable exactly-once message delivery"}, "follower_fetching_enabled": {"type": "boolean", "description": "Assigns a Rack ID based on the availability-zone to enable follower fetching and rack awareness per replication flow.", "title": "Enable follower fetching"}, "offset_lag_max": {"type": "integer", "minimum": 0, "description": "How out-of-sync a remote partition can be before it is resynced (default: 100)", "title": "How out-of-sync a remote partition can be before it is resynced"}, "offset_syncs_topic_location": {"type": "string", "description": "The location of the offset-syncs topic", "title": "Offset syncs topic location", "enum": ["source", "target"]}, "replication_factor": {"type": "integer", "minimum": 1, "description": "Replication factor used when creating the remote topics. If the replication factor surpasses the number of nodes in the target cluster, topic creation will fail.", "title": "Replication factor"}, "replication_policy_class": {"type": "string", "description": "Class which defines the remote topic naming convention", "title": "Replication policy class", "enum": ["org.apache.kafka.connect.mirror.DefaultReplicationPolicy", "org.apache.kafka.connect.mirror.IdentityReplicationPolicy"]}, "source_cluster": {"type": "string", "maxLength": 128, "description": "The alias of the source cluster to use in this replication flow. Can contain the following symbols: ASCII alphanumerics, '.', '_', and '-'.", "title": "Source cluster alias"}, "sync_group_offsets_enabled": {"type": "boolean", "description": "Whether to periodically write the translated offsets of replicated consumer groups (in the source cluster) to __consumer_offsets topic in target cluster, as long as no active consumers in that group are connected to the target cluster", "title": "Sync consumer group offsets"}, "sync_group_offsets_interval_seconds": {"type": "integer", "minimum": 1, "description": "Frequency at which consumer group offsets are synced (default: 60, every minute)", "title": "Frequency of consumer group offset sync"}, "target_cluster": {"type": "string", "maxLength": 128, "description": "The alias of the target cluster to use in this replication flow. Can contain the following symbols: ASCII alphanumerics, '.', '_', and '-'.", "title": "Target cluster alias"}, "topics": {"type": "array", "maxItems": 8192, "description": "Topic names and regular expressions that match topic names that should be replicated. MirrorMaker will replicate these topics if they are not matched by &quot;topics.exclude&quot;. Currently defaults to [&quot;.*&quot;].", "title": "List of topics and/or regular expressions to replicate.", "items": {"type": "string"}}, "topics.blacklist": {"type": "array", "maxItems": 8192, "description": "Topic names and regular expressions that match topic names that should not be replicated. MirrorMaker will not replicate these topics even if they are matched by &quot;topics&quot;. If not set, MM2 uses the default exclusion.", "title": "List of topics and/or regular expressions to not replicate. Deprecated property, use 'topics_exclude instead'.", "items": {"type": "string"}}, "topics.exclude": {"type": "array", "maxItems": 8192, "description": "Topic names and regular expressions that match topic names that should not be replicated. MirrorMaker will not replicate these topics even if they are matched by &quot;topics&quot;. If not set, MM2 uses the default exclusion.", "title": "List of topics and/or regular expressions to not replicate. Deprecated property, use 'topics_exclude instead'.", "items": {"type": "string"}}, "topics_exclude": {"type": "array", "maxItems": 8192, "description": "Topic names and regular expressions that match topic names that should not be replicated. MirrorMaker will not replicate these topics even if they are matched by &quot;topics&quot;. If not set, MM2 uses the default exclusion.", "title": "List of topics and/or regular expressions to not replicate.", "items": {"type": "string"}}}, "required": ["enabled", "source_cluster", "target_cluster"]}, "ServiceKafkaMirrorMakerCreateReplicationFlowResponse": {"type": "object", "description": "ServiceKafkaMirrorMakerCreateReplicationFlowResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}}, "ServiceKafkaMirrorMakerDeleteReplicationFlowResponse": {"type": "object", "description": "ServiceKafkaMirrorMakerDeleteReplicationFlowResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}}, "ServiceKafkaMirrorMakerGetReplicationFlowResponse": {"type": "object", "description": "ServiceKafkaMirrorMakerGetReplicationFlowResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "replication_flow": {"type": "object", "description": "Replication flow", "properties": {"config_properties_exclude": {"type": "string", "maxLength": 2048, "description": "A comma separated list of topic configuration properties and/or regexes that should not be replicated. If omitted, MirrorMaker will use default list of exclusions. For stability reasons, we always include the unclean.leader.election.enable field in the excluded parameters. If you have specific requirements for this configuration, please reach out to our support team for assistance.", "title": "Topic configuration properties that should not be replicated"}, "emit_backward_heartbeats_enabled": {"type": "boolean", "description": "Whether to emit heartbeats to the direction opposite to the flow, i.e. to the source cluster", "title": "Emit backward heartbeats enabled"}, "emit_heartbeats_enabled": {"type": "boolean", "description": "Whether to emit heartbeats to the target cluster", "title": "Emit heartbeats enabled"}, "enabled": {"type": "boolean", "description": "Is replication flow enabled"}, "exactly_once_delivery_enabled": {"type": "boolean", "description": "Whether to enable exactly-once message delivery. We recommend you set this to enabled for new replications.", "title": "Enable exactly-once message delivery"}, "follower_fetching_enabled": {"type": "boolean", "description": "Assigns a Rack ID based on the availability-zone to enable follower fetching and rack awareness per replication flow.", "title": "Enable follower fetching"}, "offset_lag_max": {"type": "integer", "minimum": 0, "description": "How out-of-sync a remote partition can be before it is resynced (default: 100)", "title": "How out-of-sync a remote partition can be before it is resynced"}, "offset_syncs_topic_location": {"type": "string", "description": "The location of the offset-syncs topic", "title": "Offset syncs topic location", "enum": ["source", "target"]}, "replication_factor": {"type": "integer", "minimum": 1, "description": "Replication factor used when creating the remote topics. If the replication factor surpasses the number of nodes in the target cluster, topic creation will fail.", "title": "Replication factor"}, "replication_policy_class": {"type": "string", "description": "Class which defines the remote topic naming convention", "title": "Replication policy class", "enum": ["org.apache.kafka.connect.mirror.DefaultReplicationPolicy", "org.apache.kafka.connect.mirror.IdentityReplicationPolicy"]}, "replication_progress": {"type": "number", "minimum": 0, "maximum": 1, "description": "The overall progress of replication across topics", "title": "Replication progress"}, "source_cluster": {"type": "string", "maxLength": 128, "description": "The alias of the source cluster to use in this replication flow. Can contain the following symbols: ASCII alphanumerics, '.', '_', and '-'.", "title": "Source cluster alias"}, "sync_group_offsets_enabled": {"type": "boolean", "description": "Whether to periodically write the translated offsets of replicated consumer groups (in the source cluster) to __consumer_offsets topic in target cluster, as long as no active consumers in that group are connected to the target cluster", "title": "Sync consumer group offsets"}, "sync_group_offsets_interval_seconds": {"type": "integer", "minimum": 1, "description": "Frequency at which consumer group offsets are synced (default: 60, every minute)", "title": "Frequency of consumer group offset sync"}, "target_cluster": {"type": "string", "maxLength": 128, "description": "The alias of the target cluster to use in this replication flow. Can contain the following symbols: ASCII alphanumerics, '.', '_', and '-'.", "title": "Target cluster alias"}, "topics": {"type": "array", "maxItems": 8192, "description": "Topic names and regular expressions that match topic names that should be replicated. MirrorMaker will replicate these topics if they are not matched by &quot;topics.exclude&quot;. Currently defaults to [&quot;.*&quot;].", "title": "List of topics and/or regular expressions to replicate.", "items": {"type": "string"}}, "topics.blacklist": {"type": "array", "maxItems": 8192, "description": "Topic names and regular expressions that match topic names that should not be replicated. MirrorMaker will not replicate these topics even if they are matched by &quot;topics&quot;. If not set, MM2 uses the default exclusion.", "title": "List of topics and/or regular expressions to not replicate. Deprecated property, use 'topics_exclude instead'.", "items": {"type": "string"}}, "topics.exclude": {"type": "array", "maxItems": 8192, "description": "Topic names and regular expressions that match topic names that should not be replicated. MirrorMaker will not replicate these topics even if they are matched by &quot;topics&quot;. If not set, MM2 uses the default exclusion.", "title": "List of topics and/or regular expressions to not replicate. Deprecated property, use 'topics_exclude instead'.", "items": {"type": "string"}}, "topics_exclude": {"type": "array", "maxItems": 8192, "description": "Topic names and regular expressions that match topic names that should not be replicated. MirrorMaker will not replicate these topics even if they are matched by &quot;topics&quot;. If not set, MM2 uses the default exclusion.", "title": "List of topics and/or regular expressions to not replicate.", "items": {"type": "string"}}}, "required": ["enabled", "source_cluster", "target_cluster"]}}, "required": ["replication_flow"]}, "ServiceKafkaMirrorMakerGetReplicationFlowsResponse": {"type": "object", "description": "ServiceKafkaMirrorMakerGetReplicationFlowsResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "replication_flows": {"type": "array", "maxItems": 256, "description": "Describes data replication flows between Kafka clusters", "title": "Replication flows", "items": {"type": "object", "properties": {"config_properties_exclude": {"type": "string", "maxLength": 2048, "description": "A comma separated list of topic configuration properties and/or regexes that should not be replicated. If omitted, MirrorMaker will use default list of exclusions. For stability reasons, we always include the unclean.leader.election.enable field in the excluded parameters. If you have specific requirements for this configuration, please reach out to our support team for assistance.", "title": "Topic configuration properties that should not be replicated"}, "emit_backward_heartbeats_enabled": {"type": "boolean", "description": "Whether to emit heartbeats to the direction opposite to the flow, i.e. to the source cluster", "title": "Emit backward heartbeats enabled"}, "emit_heartbeats_enabled": {"type": "boolean", "description": "Whether to emit heartbeats to the target cluster", "title": "Emit heartbeats enabled"}, "enabled": {"type": "boolean", "description": "Is replication flow enabled"}, "exactly_once_delivery_enabled": {"type": "boolean", "description": "Whether to enable exactly-once message delivery. We recommend you set this to enabled for new replications.", "title": "Enable exactly-once message delivery"}, "follower_fetching_enabled": {"type": "boolean", "description": "Assigns a Rack ID based on the availability-zone to enable follower fetching and rack awareness per replication flow.", "title": "Enable follower fetching"}, "offset_lag_max": {"type": "integer", "minimum": 0, "description": "How out-of-sync a remote partition can be before it is resynced (default: 100)", "title": "How out-of-sync a remote partition can be before it is resynced"}, "offset_syncs_topic_location": {"type": "string", "description": "The location of the offset-syncs topic", "title": "Offset syncs topic location", "enum": ["source", "target"]}, "replication_factor": {"type": "integer", "minimum": 1, "description": "Replication factor used when creating the remote topics. If the replication factor surpasses the number of nodes in the target cluster, topic creation will fail.", "title": "Replication factor"}, "replication_policy_class": {"type": "string", "description": "Class which defines the remote topic naming convention", "title": "Replication policy class", "enum": ["org.apache.kafka.connect.mirror.DefaultReplicationPolicy", "org.apache.kafka.connect.mirror.IdentityReplicationPolicy"]}, "replication_progress": {"type": "number", "minimum": 0, "maximum": 1, "description": "The overall progress of replication across topics", "title": "Replication progress"}, "source_cluster": {"type": "string", "maxLength": 128, "description": "The alias of the source cluster to use in this replication flow. Can contain the following symbols: ASCII alphanumerics, '.', '_', and '-'.", "title": "Source cluster alias"}, "sync_group_offsets_enabled": {"type": "boolean", "description": "Whether to periodically write the translated offsets of replicated consumer groups (in the source cluster) to __consumer_offsets topic in target cluster, as long as no active consumers in that group are connected to the target cluster", "title": "Sync consumer group offsets"}, "sync_group_offsets_interval_seconds": {"type": "integer", "minimum": 1, "description": "Frequency at which consumer group offsets are synced (default: 60, every minute)", "title": "Frequency of consumer group offset sync"}, "target_cluster": {"type": "string", "maxLength": 128, "description": "The alias of the target cluster to use in this replication flow. Can contain the following symbols: ASCII alphanumerics, '.', '_', and '-'.", "title": "Target cluster alias"}, "topics": {"type": "array", "maxItems": 8192, "description": "Topic names and regular expressions that match topic names that should be replicated. MirrorMaker will replicate these topics if they are not matched by &quot;topics.exclude&quot;. Currently defaults to [&quot;.*&quot;].", "title": "List of topics and/or regular expressions to replicate.", "items": {"type": "string"}}, "topics.blacklist": {"type": "array", "maxItems": 8192, "description": "Topic names and regular expressions that match topic names that should not be replicated. MirrorMaker will not replicate these topics even if they are matched by &quot;topics&quot;. If not set, MM2 uses the default exclusion.", "title": "List of topics and/or regular expressions to not replicate. Deprecated property, use 'topics_exclude instead'.", "items": {"type": "string"}}, "topics.exclude": {"type": "array", "maxItems": 8192, "description": "Topic names and regular expressions that match topic names that should not be replicated. MirrorMaker will not replicate these topics even if they are matched by &quot;topics&quot;. If not set, MM2 uses the default exclusion.", "title": "List of topics and/or regular expressions to not replicate. Deprecated property, use 'topics_exclude instead'.", "items": {"type": "string"}}, "topics_exclude": {"type": "array", "maxItems": 8192, "description": "Topic names and regular expressions that match topic names that should not be replicated. MirrorMaker will not replicate these topics even if they are matched by &quot;topics&quot;. If not set, MM2 uses the default exclusion.", "title": "List of topics and/or regular expressions to not replicate.", "items": {"type": "string"}}}, "required": ["enabled", "source_cluster", "target_cluster"]}}}, "required": ["replication_flows"]}, "ServiceKafkaMirrorMakerPatchReplicationFlowRequestBody": {"type": "object", "description": "ServiceKafkaMirrorMakerPatchReplicationFlowRequestBody", "properties": {"config_properties_exclude": {"type": "string", "maxLength": 2048, "description": "A comma separated list of topic configuration properties and/or regexes that should not be replicated. If omitted, MirrorMaker will use default list of exclusions. For stability reasons, we always include the unclean.leader.election.enable field in the excluded parameters. If you have specific requirements for this configuration, please reach out to our support team for assistance.", "title": "Topic configuration properties that should not be replicated"}, "emit_backward_heartbeats_enabled": {"type": "boolean", "description": "Whether to emit heartbeats to the direction opposite to the flow, i.e. to the source cluster", "title": "Emit backward heartbeats enabled"}, "emit_heartbeats_enabled": {"type": "boolean", "description": "Whether to emit heartbeats to the target cluster", "title": "Emit heartbeats enabled"}, "enabled": {"type": "boolean", "description": "Is replication flow enabled"}, "exactly_once_delivery_enabled": {"type": "boolean", "description": "Whether to enable exactly-once message delivery. We recommend you set this to enabled for new replications.", "title": "Enable exactly-once message delivery"}, "follower_fetching_enabled": {"type": "boolean", "description": "Assigns a Rack ID based on the availability-zone to enable follower fetching and rack awareness per replication flow.", "title": "Enable follower fetching"}, "offset_lag_max": {"type": "integer", "minimum": 0, "description": "How out-of-sync a remote partition can be before it is resynced (default: 100)", "title": "How out-of-sync a remote partition can be before it is resynced"}, "offset_syncs_topic_location": {"type": "string", "description": "The location of the offset-syncs topic", "title": "Offset syncs topic location", "enum": ["source", "target"]}, "replication_factor": {"type": "integer", "minimum": 1, "description": "Replication factor used when creating the remote topics. If the replication factor surpasses the number of nodes in the target cluster, topic creation will fail.", "title": "Replication factor"}, "replication_policy_class": {"type": "string", "description": "Class which defines the remote topic naming convention", "title": "Replication policy class", "enum": ["org.apache.kafka.connect.mirror.DefaultReplicationPolicy", "org.apache.kafka.connect.mirror.IdentityReplicationPolicy"]}, "sync_group_offsets_enabled": {"type": "boolean", "description": "Whether to periodically write the translated offsets of replicated consumer groups (in the source cluster) to __consumer_offsets topic in target cluster, as long as no active consumers in that group are connected to the target cluster", "title": "Sync consumer group offsets"}, "sync_group_offsets_interval_seconds": {"type": "integer", "minimum": 1, "description": "Frequency at which consumer group offsets are synced (default: 60, every minute)", "title": "Frequency of consumer group offset sync"}, "topics": {"type": "array", "maxItems": 8192, "description": "Topic names and regular expressions that match topic names that should be replicated. MirrorMaker will replicate these topics if they are not matched by &quot;topics.exclude&quot;. Currently defaults to [&quot;.*&quot;].", "title": "List of topics and/or regular expressions to replicate.", "items": {"type": "string"}}, "topics.blacklist": {"type": "array", "maxItems": 8192, "description": "Topic names and regular expressions that match topic names that should not be replicated. MirrorMaker will not replicate these topics even if they are matched by &quot;topics&quot;. If not set, MM2 uses the default exclusion.", "title": "List of topics and/or regular expressions to not replicate. Deprecated property, use 'topics_exclude instead'.", "items": {"type": "string"}}, "topics.exclude": {"type": "array", "maxItems": 8192, "description": "Topic names and regular expressions that match topic names that should not be replicated. MirrorMaker will not replicate these topics even if they are matched by &quot;topics&quot;. If not set, MM2 uses the default exclusion.", "title": "List of topics and/or regular expressions to not replicate. Deprecated property, use 'topics_exclude instead'.", "items": {"type": "string"}}, "topics_exclude": {"type": "array", "maxItems": 8192, "description": "Topic names and regular expressions that match topic names that should not be replicated. MirrorMaker will not replicate these topics even if they are matched by &quot;topics&quot;. If not set, MM2 uses the default exclusion.", "title": "List of topics and/or regular expressions to not replicate.", "items": {"type": "string"}}}}, "ServiceKafkaMirrorMakerPatchReplicationFlowResponse": {"type": "object", "description": "ServiceKafkaMirrorMakerPatchReplicationFlowResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "replication_flow": {"type": "object", "description": "Replication flow", "properties": {"config_properties_exclude": {"type": "string", "maxLength": 2048, "description": "A comma separated list of topic configuration properties and/or regexes that should not be replicated. If omitted, MirrorMaker will use default list of exclusions. For stability reasons, we always include the unclean.leader.election.enable field in the excluded parameters. If you have specific requirements for this configuration, please reach out to our support team for assistance.", "title": "Topic configuration properties that should not be replicated"}, "emit_backward_heartbeats_enabled": {"type": "boolean", "description": "Whether to emit heartbeats to the direction opposite to the flow, i.e. to the source cluster", "title": "Emit backward heartbeats enabled"}, "emit_heartbeats_enabled": {"type": "boolean", "description": "Whether to emit heartbeats to the target cluster", "title": "Emit heartbeats enabled"}, "enabled": {"type": "boolean", "description": "Is replication flow enabled"}, "exactly_once_delivery_enabled": {"type": "boolean", "description": "Whether to enable exactly-once message delivery. We recommend you set this to enabled for new replications.", "title": "Enable exactly-once message delivery"}, "follower_fetching_enabled": {"type": "boolean", "description": "Assigns a Rack ID based on the availability-zone to enable follower fetching and rack awareness per replication flow.", "title": "Enable follower fetching"}, "offset_lag_max": {"type": "integer", "minimum": 0, "description": "How out-of-sync a remote partition can be before it is resynced (default: 100)", "title": "How out-of-sync a remote partition can be before it is resynced"}, "offset_syncs_topic_location": {"type": "string", "description": "The location of the offset-syncs topic", "title": "Offset syncs topic location", "enum": ["source", "target"]}, "replication_factor": {"type": "integer", "minimum": 1, "description": "Replication factor used when creating the remote topics. If the replication factor surpasses the number of nodes in the target cluster, topic creation will fail.", "title": "Replication factor"}, "replication_policy_class": {"type": "string", "description": "Class which defines the remote topic naming convention", "title": "Replication policy class", "enum": ["org.apache.kafka.connect.mirror.DefaultReplicationPolicy", "org.apache.kafka.connect.mirror.IdentityReplicationPolicy"]}, "replication_progress": {"type": "number", "minimum": 0, "maximum": 1, "description": "The overall progress of replication across topics", "title": "Replication progress"}, "source_cluster": {"type": "string", "maxLength": 128, "description": "The alias of the source cluster to use in this replication flow. Can contain the following symbols: ASCII alphanumerics, '.', '_', and '-'.", "title": "Source cluster alias"}, "sync_group_offsets_enabled": {"type": "boolean", "description": "Whether to periodically write the translated offsets of replicated consumer groups (in the source cluster) to __consumer_offsets topic in target cluster, as long as no active consumers in that group are connected to the target cluster", "title": "Sync consumer group offsets"}, "sync_group_offsets_interval_seconds": {"type": "integer", "minimum": 1, "description": "Frequency at which consumer group offsets are synced (default: 60, every minute)", "title": "Frequency of consumer group offset sync"}, "target_cluster": {"type": "string", "maxLength": 128, "description": "The alias of the target cluster to use in this replication flow. Can contain the following symbols: ASCII alphanumerics, '.', '_', and '-'.", "title": "Target cluster alias"}, "topics": {"type": "array", "maxItems": 8192, "description": "Topic names and regular expressions that match topic names that should be replicated. MirrorMaker will replicate these topics if they are not matched by &quot;topics.exclude&quot;. Currently defaults to [&quot;.*&quot;].", "title": "List of topics and/or regular expressions to replicate.", "items": {"type": "string"}}, "topics.blacklist": {"type": "array", "maxItems": 8192, "description": "Topic names and regular expressions that match topic names that should not be replicated. MirrorMaker will not replicate these topics even if they are matched by &quot;topics&quot;. If not set, MM2 uses the default exclusion.", "title": "List of topics and/or regular expressions to not replicate. Deprecated property, use 'topics_exclude instead'.", "items": {"type": "string"}}, "topics.exclude": {"type": "array", "maxItems": 8192, "description": "Topic names and regular expressions that match topic names that should not be replicated. MirrorMaker will not replicate these topics even if they are matched by &quot;topics&quot;. If not set, MM2 uses the default exclusion.", "title": "List of topics and/or regular expressions to not replicate. Deprecated property, use 'topics_exclude instead'.", "items": {"type": "string"}}, "topics_exclude": {"type": "array", "maxItems": 8192, "description": "Topic names and regular expressions that match topic names that should not be replicated. MirrorMaker will not replicate these topics even if they are matched by &quot;topics&quot;. If not set, MM2 uses the default exclusion.", "title": "List of topics and/or regular expressions to not replicate.", "items": {"type": "string"}}}, "required": ["enabled", "source_cluster", "target_cluster"]}}, "required": ["replication_flow"]}, "MySQLAccountQueryOptimizeRequestBody": {"type": "object", "description": "MySQLAccountQueryOptimizeRequestBody", "properties": {"do_not_store": {"type": "boolean", "description": "Do not store details", "default": false}, "flags": {"type": "array", "description": "Optimization flags", "items": {"type": "string"}}, "mysql_version": {"type": "string", "description": "An enumeration.", "title": "MySQL version", "enum": ["5.0", "5.1", "5.5", "5.6", "5.7", "8.0", "8.1", "8.2", "8.3", "8.4"]}, "query": {"type": "string", "description": "Query"}, "schema_metadata": {"type": "string", "description": "Schema metadata"}}, "required": ["flags", "mysql_version", "query"]}, "MySQLAccountQueryOptimizeResponse": {"type": "object", "description": "MySQLAccountQueryOptimizeResponse", "properties": {"optimize": {"type": "object", "description": "Optimize", "properties": {"existing_recommended_indexes": {"type": "array", "description": "Existing Recommended Indexes", "items": {"type": "object", "properties": {"index_definition": {"type": "string", "description": "Index definition"}}, "required": ["index_definition"]}}, "index_recommendations": {"type": "array", "description": "Index Recommendations", "items": {"type": "object", "properties": {"creation_cmd": {"type": "string", "description": "Creation command"}, "table_name": {"type": "string", "description": "Table name"}}, "required": ["creation_cmd", "table_name"]}}, "optimization_id": {"type": "string", "description": "Optimization ID"}, "optimized_query": {"type": "string", "description": "Optimized query in base64 format"}, "original_query": {"type": "string", "description": "Original query in base64 format"}, "recommendations": {"type": "array", "description": "Recommendations", "items": {"type": "object", "properties": {"bad_practice_sample": {"type": "string", "description": "Bad practice sample"}, "best_practice_sample": {"type": "string", "description": "Best practice sample"}, "description": {"type": "string", "description": "Description"}, "fixable": {"type": "boolean", "description": "Fixable"}, "line_number": {"type": "integer", "description": "Line number"}, "priority": {"type": "integer", "description": "Priority"}, "title": {"type": "string", "description": "Title"}, "type": {"type": "integer", "description": "Type"}}, "required": ["bad_practice_sample", "best_practice_sample", "description", "fixable", "line_number", "priority", "title", "type"]}}}, "required": ["existing_recommended_indexes", "index_recommendations", "optimized_query", "original_query", "recommendations"]}}, "required": ["optimize"]}, "MySQLServiceDatabaseMetadataQueryResponse": {"type": "object", "description": "MySQLServiceDatabaseMetadataQueryResponse", "properties": {"metadata_query": {"type": "string", "description": "Database metadata retrieval query"}}, "required": ["metadata_query"]}, "MySQLServiceMetadataValidateRequestBody": {"type": "object", "description": "MySQLServiceMetadataValidateRequestBody", "properties": {"db_version": {"type": "string", "description": "Database version"}, "metadata": {"type": "string", "description": "Metadata to validate"}}, "required": ["db_version", "metadata"]}, "MySQLServiceMetadataValidateResponse": {"type": "object", "description": "MySQLServiceMetadataValidateResponse", "properties": {"status": {"type": "string", "description": "Status"}}, "required": ["status"]}, "MySQLServiceQueryStatisticsRequestBody": {"type": "object", "description": "MySQLServiceQueryStatisticsRequestBody", "properties": {"limit": {"type": "integer", "minimum": 1, "maximum": 5000, "description": "Limit for number of results", "default": 100}, "offset": {"type": "integer", "minimum": 0, "description": "Offset for retrieved results based on sort order", "default": 0}, "order_by": {"type": "string", "maxLength": 256, "description": "Sort order can be either asc or desc and multiple comma separated columns with their own order can be specified: :asc,:desc. Accepted sort columns are: avg_timer_wait, count_star, digest, digest_text, first_seen, last_seen, max_timer_wait, min_timer_wait, query_sample_seen, query_sample_text, query_sample_timer_wait, quantile_95, quantile_99, quantile_999, schema_name, sum_created_tmp_disk_tables, sum_created_tmp_tables, sum_errors, sum_lock_time, sum_no_good_index_used, sum_no_index_used, sum_rows_affected, sum_rows_examined, sum_rows_sent, sum_select_full_join, sum_select_full_range_join, sum_select_range, sum_select_range_check, sum_select_scan, sum_sort_merge_passes, sum_sort_range, sum_sort_rows, sum_sort_scan, sum_timer_wait, sum_warnings", "title": "Order in which to sort retrieved results", "default": "count_star:desc"}}}, "MySQLServiceQueryStatisticsResponse": {"type": "object", "description": "MySQLServiceQueryStatisticsResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "queries": {"type": "array", "description": "List of query statistics", "items": {"type": "object", "properties": {"avg_timer_wait": {"type": "number", "description": "Query statistic"}, "count_star": {"type": "number", "description": "Query statistic"}, "digest": {"type": "string", "description": "Query statistic"}, "digest_text": {"type": "string", "description": "Query statistic"}, "first_seen": {"type": "string", "description": "Query statistic"}, "last_seen": {"type": "string", "description": "Query statistic"}, "max_timer_wait": {"type": "number", "description": "Query statistic"}, "min_timer_wait": {"type": "number", "description": "Query statistic"}, "quantile_95": {"type": "number", "description": "Query statistic"}, "quantile_99": {"type": "number", "description": "Query statistic"}, "quantile_999": {"type": "number", "description": "Query statistic"}, "query_sample_seen": {"type": "string", "description": "Query statistic"}, "query_sample_text": {"type": "string", "description": "Query statistic"}, "query_sample_timer_wait": {"type": "string", "description": "Query statistic"}, "schema_name": {"type": "string", "description": "Query statistic"}, "sum_created_tmp_disk_tables": {"type": "number", "description": "Query statistic"}, "sum_created_tmp_tables": {"type": "number", "description": "Query statistic"}, "sum_errors": {"type": "number", "description": "Query statistic"}, "sum_lock_time": {"type": "number", "description": "Query statistic"}, "sum_no_good_index_used": {"type": "number", "description": "Query statistic"}, "sum_no_index_used": {"type": "number", "description": "Query statistic"}, "sum_rows_affected": {"type": "number", "description": "Query statistic"}, "sum_rows_examined": {"type": "number", "description": "Query statistic"}, "sum_rows_sent": {"type": "number", "description": "Query statistic"}, "sum_select_full_join": {"type": "number", "description": "Query statistic"}, "sum_select_full_range_join": {"type": "number", "description": "Query statistic"}, "sum_select_range": {"type": "number", "description": "Query statistic"}, "sum_select_range_check": {"type": "number", "description": "Query statistic"}, "sum_select_scan": {"type": "number", "description": "Query statistic"}, "sum_sort_merge_passes": {"type": "number", "description": "Query statistic"}, "sum_sort_range": {"type": "number", "description": "Query statistic"}, "sum_sort_rows": {"type": "number", "description": "Query statistic"}, "sum_sort_scan": {"type": "number", "description": "Query statistic"}, "sum_timer_wait": {"type": "number", "description": "Query statistic"}, "sum_warnings": {"type": "number", "description": "Query statistic"}}}}}, "required": ["queries"]}, "MySQLServiceQueryValidateRequestBody": {"type": "object", "description": "MySQLServiceQueryValidateRequestBody", "properties": {"do_not_store": {"type": "boolean", "description": "Do not store details", "default": false}, "query": {"type": "string", "description": "Query"}}, "required": ["query"]}, "MySQLServiceQueryValidateResponse": {"type": "object", "description": "MySQLServiceQueryValidateResponse", "properties": {"status": {"type": "string", "description": "Status"}}, "required": ["status"]}, "ServiceOpenSearchAclGetResponse": {"type": "object", "description": "ServiceOpenSearchAclGetResponse", "properties": {"elasticsearch_version": {"type": "string", "description": "Elasticsearch version", "enum": ["7", "1", "2", "2.19", "3.3"]}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "opensearch_acl_config": {"type": "object", "description": "OpenSearch ACL configuration", "properties": {"acls": {"type": "array", "maxItems": 512, "description": "List of OpenSearch ACLs", "items": {"type": "object", "properties": {"rules": {"type": "array", "maxItems": 256, "description": "OpenSearch rules", "items": {"type": "object", "properties": {"index": {"type": "string", "minLength": 1, "maxLength": 249, "description": "OpenSearch index pattern"}, "permission": {"type": "string", "description": "OpenSearch permission", "enum": ["deny", "admin", "read", "readwrite", "write"]}}, "required": ["index", "permission"]}}, "username": {"type": "string", "minLength": 1, "maxLength": 64, "description": "Username"}}, "required": ["rules", "username"]}}, "enabled": {"type": "boolean", "description": "Enable OpenSearch ACLs. When disabled authenticated service users have unrestricted access."}}, "required": ["acls", "enabled"]}}, "required": ["opensearch_acl_config"]}, "ServiceOpenSearchAclSetRequestBody": {"type": "object", "description": "ServiceOpenSearchAclSetRequestBody", "properties": {"elasticsearch_version": {"type": "string", "description": "Elasticsearch version", "enum": ["7", "1", "2", "2.19", "3.3"]}, "opensearch_acl_config": {"type": "object", "description": "OpenSearch ACL configuration", "properties": {"acls": {"type": "array", "maxItems": 512, "description": "List of OpenSearch ACLs", "items": {"type": "object", "properties": {"rules": {"type": "array", "maxItems": 256, "description": "OpenSearch rules", "items": {"type": "object", "properties": {"index": {"type": "string", "minLength": 1, "maxLength": 249, "description": "OpenSearch index pattern"}, "permission": {"type": "string", "description": "OpenSearch permission", "enum": ["deny", "admin", "read", "readwrite", "write"]}}, "required": ["index", "permission"]}}, "username": {"type": "string", "minLength": 1, "maxLength": 64, "description": "Username"}}, "required": ["rules", "username"]}}, "enabled": {"type": "boolean", "description": "Enable OpenSearch ACLs. When disabled authenticated service users have unrestricted access.", "default": false}}, "required": ["acls", "enabled"]}}, "required": ["opensearch_acl_config"]}, "ServiceOpenSearchAclSetResponse": {"type": "object", "description": "ServiceOpenSearchAclSetResponse", "properties": {"elasticsearch_version": {"type": "string", "description": "Elasticsearch version", "enum": ["7", "1", "2", "2.19", "3.3"]}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "opensearch_acl_config": {"type": "object", "description": "OpenSearch ACL configuration", "properties": {"acls": {"type": "array", "maxItems": 512, "description": "List of OpenSearch ACLs", "items": {"type": "object", "properties": {"rules": {"type": "array", "maxItems": 256, "description": "OpenSearch rules", "items": {"type": "object", "properties": {"index": {"type": "string", "minLength": 1, "maxLength": 249, "description": "OpenSearch index pattern"}, "permission": {"type": "string", "description": "OpenSearch permission", "enum": ["deny", "admin", "read", "readwrite", "write"]}}, "required": ["index", "permission"]}}, "username": {"type": "string", "minLength": 1, "maxLength": 64, "description": "Username"}}, "required": ["rules", "username"]}}, "enabled": {"type": "boolean", "description": "Enable OpenSearch ACLs. When disabled authenticated service users have unrestricted access."}}, "required": ["acls", "enabled"]}}, "required": ["opensearch_acl_config"]}, "ServiceOpenSearchAclUpdateRequestBody": {"type": "object", "description": "ServiceOpenSearchAclUpdateRequestBody", "properties": {"elasticsearch_version": {"type": "string", "description": "Elasticsearch version", "enum": ["7", "1", "2", "2.19", "3.3"]}, "opensearch_acl_config": {"type": "object", "description": "OpenSearch ACL configuration", "properties": {"acls": {"type": "array", "maxItems": 512, "description": "List of OpenSearch ACLs", "items": {"type": "object", "properties": {"rules": {"type": "array", "maxItems": 256, "description": "OpenSearch rules", "items": {"type": "object", "properties": {"index": {"type": "string", "minLength": 1, "maxLength": 249, "description": "OpenSearch index pattern"}, "permission": {"type": "string", "description": "OpenSearch permission", "enum": ["deny", "admin", "read", "readwrite", "write"]}}, "required": ["index", "permission"]}}, "username": {"type": "string", "minLength": 1, "maxLength": 64, "description": "Username"}}, "required": ["rules", "username"]}}, "enabled": {"type": "boolean", "description": "Enable OpenSearch ACLs. When disabled authenticated service users have unrestricted access.", "default": false}}}}, "required": ["opensearch_acl_config"]}, "ServiceOpenSearchAclUpdateResponse": {"type": "object", "description": "ServiceOpenSearchAclUpdateResponse", "properties": {"elasticsearch_version": {"type": "string", "description": "Elasticsearch version", "enum": ["7", "1", "2", "2.19", "3.3"]}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "opensearch_acl_config": {"type": "object", "description": "OpenSearch ACL configuration", "properties": {"acls": {"type": "array", "maxItems": 512, "description": "List of OpenSearch ACLs", "items": {"type": "object", "properties": {"rules": {"type": "array", "maxItems": 256, "description": "OpenSearch rules", "items": {"type": "object", "properties": {"index": {"type": "string", "minLength": 1, "maxLength": 249, "description": "OpenSearch index pattern"}, "permission": {"type": "string", "description": "OpenSearch permission", "enum": ["deny", "admin", "read", "readwrite", "write"]}}, "required": ["index", "permission"]}}, "username": {"type": "string", "minLength": 1, "maxLength": 64, "description": "Username"}}, "required": ["rules", "username"]}}, "enabled": {"type": "boolean", "description": "Enable OpenSearch ACLs. When disabled authenticated service users have unrestricted access."}}, "required": ["acls", "enabled"]}}, "required": ["opensearch_acl_config"]}, "ServiceOpenSearchIndexCloseResponse": {"type": "object", "description": "ServiceOpenSearchIndexCloseResponse", "properties": {"acknowledged": {"type": "boolean", "description": "Closing index acknowledged"}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}, "required": ["acknowledged"]}, "ServiceOpenSearchIndexCloseMultipleRequestBody": {"type": "object", "description": "ServiceOpenSearchIndexCloseMultipleRequestBody", "properties": {"indices": {"type": "array", "maxItems": 10000, "description": "Indices list to close", "items": {"type": "string"}}}, "required": ["indices"]}, "ServiceOpenSearchIndexCloseMultipleResponse": {"type": "object", "description": "ServiceOpenSearchIndexCloseMultipleResponse", "properties": {"closed_indices": {"type": "array", "maxItems": 10000, "description": "Successfully closed indices", "items": {"type": "string"}}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}, "required": ["closed_indices"]}, "ServiceOpenSearchIndexDeleteResponse": {"type": "object", "description": "ServiceOpenSearchIndexDeleteResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}}, "ServiceOpenSearchIndexListResponse": {"type": "object", "description": "ServiceOpenSearchIndexListResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "indexes": {"type": "array", "description": "List of OpenSearch indexes", "items": {"type": "object", "properties": {"create_time": {"type": "string", "maxLength": 36, "description": "Timestamp in ISO 8601 format, always in UTC"}, "docs": {"type": "integer", "description": "Number of documents in index. -1 means not available."}, "health": {"type": "string", "description": "Index health", "enum": ["green", "yellow", "red", "red*", "unknown"]}, "index_name": {"type": "string", "description": "Index name"}, "number_of_replicas": {"type": "integer", "minimum": 0, "description": "Number of replicas for an index"}, "number_of_shards": {"type": "integer", "minimum": 1, "description": "Number of shards in an index"}, "read_only_allow_delete": {"type": "boolean", "description": "Whether an index is set as read-only (but allows deletion). null means unknown."}, "replication": {"type": "object", "description": "Index replication", "properties": {"leader_index": {"type": "string", "description": "Leader index name"}, "leader_project": {"type": "string", "description": "Leader project name"}, "leader_service": {"type": "string", "description": "Leader service name"}}}, "size": {"type": "integer", "description": "Index size in bytes. -1 means not available."}, "status": {"type": "string", "description": "Index status", "enum": ["unknown", "open", "close", "none"]}}, "required": ["create_time", "index_name", "number_of_replicas", "number_of_shards"]}}, "message": {"type": "string", "description": "Printable result of the request"}}, "required": ["indexes"]}, "ServiceOpenSearchIndexOpenResponse": {"type": "object", "description": "ServiceOpenSearchIndexOpenResponse", "properties": {"acknowledged": {"type": "boolean", "description": "Opening index acknowledged"}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}, "required": ["acknowledged"]}, "ServiceOpenSearchIndexOpenMultipleRequestBody": {"type": "object", "description": "ServiceOpenSearchIndexOpenMultipleRequestBody", "properties": {"indices": {"type": "array", "maxItems": 10000, "description": "Indices list to open", "items": {"type": "string"}}}, "required": ["indices"]}, "ServiceOpenSearchIndexOpenMultipleResponse": {"type": "object", "description": "ServiceOpenSearchIndexOpenMultipleResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "opened_indices": {"type": "array", "maxItems": 10000, "description": "Successfully opened indices", "items": {"type": "string"}}}, "required": ["opened_indices"]}, "ServiceOpenSearchSecurityGetResponse": {"type": "object", "description": "ServiceOpenSearchSecurityGetResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "security_plugin_admin_enabled": {"type": "boolean", "description": "security plugin admin defined"}, "security_plugin_available": {"type": "boolean", "description": "Opensearch security available for the service"}, "security_plugin_enabled": {"type": "boolean", "description": "Opensearch security enabled for the service"}}, "required": ["security_plugin_admin_enabled", "security_plugin_available"]}, "ServiceOpenSearchSecurityResetRequestBody": {"type": "object", "description": "ServiceOpenSearchSecurityResetRequestBody", "properties": {"admin_password": {"type": "string", "minLength": 8, "maxLength": 256, "description": "Current os-sec-admin password"}, "new_password": {"type": "string", "minLength": 8, "maxLength": 256, "description": "New os-sec-admin password"}}, "required": ["admin_password", "new_password"]}, "ServiceOpenSearchSecurityResetResponse": {"type": "object", "description": "ServiceOpenSearchSecurityResetResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "security_plugin_admin_enabled": {"type": "boolean", "description": "security plugin admin defined"}, "security_plugin_available": {"type": "boolean", "description": "Opensearch security available for the service"}, "security_plugin_enabled": {"type": "boolean", "description": "Opensearch security enabled for the service"}}, "required": ["security_plugin_admin_enabled", "security_plugin_available"]}, "ServiceOpenSearchSecuritySetRequestBody": {"type": "object", "description": "ServiceOpenSearchSecuritySetRequestBody", "properties": {"admin_password": {"type": "string", "minLength": 8, "maxLength": 256, "description": "os-sec-admin password"}}, "required": ["admin_password"]}, "ServiceOpenSearchSecuritySetResponse": {"type": "object", "description": "ServiceOpenSearchSecuritySetResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "security_plugin_admin_enabled": {"type": "boolean", "description": "security plugin admin defined"}, "security_plugin_available": {"type": "boolean", "description": "Opensearch security available for the service"}, "security_plugin_enabled": {"type": "boolean", "description": "Opensearch security enabled for the service"}}, "required": ["security_plugin_admin_enabled", "security_plugin_available"]}, "ServiceOpensearchCustomRepoCreateSnapshotRequestBody": {"type": "object", "description": "ServiceOpensearchCustomRepoCreateSnapshotRequestBody", "properties": {"ignore_unavailable": {"type": "boolean", "description": "Ignore indices that do not exist", "default": false}, "include_global_state": {"type": "boolean", "description": "Include global state", "default": true}, "indices": {"type": "string", "maxLength": 4096, "description": "Comma separated list of index patterns to snapshot"}, "partial": {"type": "boolean", "description": "Allow partial snapshots", "default": false}}}, "ServiceOpensearchCustomRepoCreateSnapshotResponse": {"type": "object", "description": "ServiceOpensearchCustomRepoCreateSnapshotResponse", "properties": {"accepted": {"type": "boolean", "description": "Snapshot creation accepted"}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}, "required": ["accepted"]}, "ServiceOpensearchCustomRepoDeleteSnapshotResponse": {"type": "object", "description": "ServiceOpensearchCustomRepoDeleteSnapshotResponse", "properties": {"acknowledged": {"type": "boolean", "description": "Snapshot deletion acknowledged"}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}, "required": ["acknowledged"]}, "ServiceOpensearchCustomRepoListSnapshotsResponse": {"type": "object", "description": "ServiceOpensearchCustomRepoListSnapshotsResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "snapshots": {"type": "array", "description": "List of running snapshots", "items": {"type": "object", "properties": {"snapshot": {"type": "string", "description": "Snapshot name"}}, "required": ["snapshot"]}}}, "required": ["snapshots"]}, "ServiceOpensearchCustomRepoNameVerifyResponse": {"type": "object", "description": "ServiceOpensearchCustomRepoNameVerifyResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "nodes": {"type": "object", "description": "Nodes connected to the snapshot repository", "properties": {}}}}, "ServiceOpensearchCustomRepoRestoreSnapshotRequestBody": {"type": "object", "description": "ServiceOpensearchCustomRepoRestoreSnapshotRequestBody", "properties": {"ignore_index_settings": {"type": "string", "maxLength": 4096, "description": "Comma-delimited list of index settings to ignore"}, "ignore_unavailable": {"type": "boolean", "description": "Ignore indices that are missing or closed"}, "include_aliases": {"type": "boolean", "description": "Include aliases"}, "include_global_state": {"type": "boolean", "description": "Restore global state"}, "index_settings": {"type": "string", "maxLength": 4096, "description": "Comma-delimited list of index settings to override."}, "indices": {"type": "string", "maxLength": 4096, "description": "Comma-separated list of index patterns to restore"}, "partial": {"type": "boolean", "description": "Allows to restore snapshot of indices with unavailable shards"}, "rename_alias_pattern": {"type": "string", "maxLength": 4096, "description": "Rename pattern for aliases"}, "rename_alias_replacement": {"type": "string", "maxLength": 4096, "description": "Rename replacement for aliases"}, "rename_pattern": {"type": "string", "maxLength": 4096, "description": "Rename pattern for indices"}, "rename_replacement": {"type": "string", "maxLength": 4096, "description": "Rename replacement for indices"}}, "required": ["indices"]}, "ServiceOpensearchCustomRepoRestoreSnapshotResponse": {"type": "object", "description": "ServiceOpensearchCustomRepoRestoreSnapshotResponse", "properties": {"accepted": {"type": "boolean", "description": "Snapshot creation accepted"}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}, "required": ["accepted"]}, "ServiceOpensearchCustomRepoRestoreSnapshotCheckRequestBody": {"type": "object", "description": "ServiceOpensearchCustomRepoRestoreSnapshotCheckRequestBody", "properties": {"ignore_unavailable": {"type": "boolean", "description": "Ignore indices that are missing or closed"}, "include_aliases": {"type": "boolean", "description": "Include aliases"}, "indices": {"type": "string", "maxLength": 4096, "description": "Comma-separated list of index patterns to check"}, "rename_pattern": {"type": "string", "maxLength": 4096, "description": "Rename pattern for indices"}, "rename_replacement": {"type": "string", "maxLength": 4096, "description": "Rename replacement for indices"}}, "required": ["indices"]}, "ServiceOpensearchCustomRepoRestoreSnapshotCheckResponse": {"type": "object", "description": "ServiceOpensearchCustomRepoRestoreSnapshotCheckResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "indices_to_close": {"type": "array", "description": "List of indices to close before restoration", "items": {"type": "string"}}, "matched_indices": {"type": "array", "description": "List of matched indices for closing", "items": {"type": "string"}}, "message": {"type": "string", "description": "Printable result of the request"}, "target_indices": {"type": "array", "description": "List of target indices for restoration", "items": {"type": "string"}}}, "required": ["indices_to_close", "matched_indices", "target_indices"]}, "ServiceOpensearchCustomRepoShowSnapshotResponse": {"type": "object", "description": "ServiceOpensearchCustomRepoShowSnapshotResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "snapshots": {"type": "array", "description": "List of running snapshots", "items": {"type": "object", "properties": {"snapshot": {"type": "string", "description": "Snapshot name"}}, "required": ["snapshot"]}}}, "required": ["snapshots"]}, "ServiceOpensearchCustomRepoShowSnapshotStatusResponse": {"type": "object", "description": "ServiceOpensearchCustomRepoShowSnapshotStatusResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "snapshots": {"type": "array", "description": "List of running snapshots", "items": {"type": "object", "properties": {"snapshot": {"type": "string", "description": "Snapshot name"}}, "required": ["snapshot"]}}}, "required": ["snapshots"]}, "ServiceOpensearchCustomRepoSnapshotsInProgressResponse": {"type": "object", "description": "ServiceOpensearchCustomRepoSnapshotsInProgressResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "snapshots": {"type": "array", "description": "List of running snapshots", "items": {"type": "object", "properties": {"snapshot": {"type": "string", "description": "Snapshot name"}}, "required": ["snapshot"]}}}, "required": ["snapshots"]}, "ServiceOpensearchListCustomReposResponse": {"type": "object", "description": "ServiceOpensearchListCustomReposResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "repositories": {"type": "array", "description": "List of custom repositories", "items": {"type": "object", "properties": {"name": {"type": "string", "description": "Repository name"}, "settings": {"type": "object", "description": "Repository settings", "properties": {"base_path": {"type": "string", "description": "Base path"}}, "required": ["base_path"]}, "type": {"type": "string", "description": "Repository type"}}, "required": ["name", "settings", "type"]}}}, "required": ["repositories"]}, "ServiceOpensearchListRestorationsInProgressResponse": {"type": "object", "description": "ServiceOpensearchListRestorationsInProgressResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "snapshots": {"type": "array", "description": "List of running restorations", "items": {"type": "object", "properties": {"repo_name": {"type": "string", "description": "Repository name"}, "running_time_in_nanos": {"type": "integer", "description": "Running time in nanoseconds"}, "snapshot_name": {"type": "string", "description": "Snapshot name"}, "start_time_in_millis": {"type": "integer", "description": "Restoration start time in milliseconds"}}, "required": ["snapshot_name"]}}}}, "ServiceOpensearchTieredStorageSummaryResponse": {"type": "object", "description": "ServiceOpensearchTieredStorageSummaryResponse", "properties": {"current_cost": {"type": "string", "description": "The current cost in USD of tiered storage since the beginning of the billing period"}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "forecasted_cost": {"type": "string", "description": "The forecasted cost in USD of tiered storage in the billing period"}, "forecasted_rate": {"type": "string", "description": "The rate on GBs/hour used to calculate the forecasted cost"}, "message": {"type": "string", "description": "Printable result of the request"}, "storage_usage_history": {"type": "object", "description": "History of usage and cumulative costs in the billing period", "properties": {"hourly": {"type": "array", "description": "History by hour", "items": {"type": "object", "properties": {"estimated_cost": {"type": "string", "description": "The estimated cost in USD of tiered storage for this hour"}, "hour_start": {"type": "string", "maxLength": 36, "description": "Timestamp in ISO 8601 format, always in UTC"}, "peak_stored_bytes": {"type": "integer", "minimum": 0, "description": "Peak bytes stored on object storage at this hour"}}, "required": ["hour_start", "peak_stored_bytes"]}}}, "required": ["hourly"]}, "total_storage_usage": {"type": "integer", "minimum": 0, "description": "Total storage usage by tiered storage, in bytes"}}, "required": ["current_cost", "forecasted_cost", "storage_usage_history", "total_storage_usage"]}, "PGAccountQueryOptimizeRequestBody": {"type": "object", "description": "PGAccountQueryOptimizeRequestBody", "properties": {"do_not_store": {"type": "boolean", "description": "Do not store details", "default": false}, "flags": {"type": "array", "description": "Optimization flags", "items": {"type": "string"}}, "pg_version": {"type": "string", "description": "An enumeration.", "title": "PostgreSQL version", "enum": ["18", "17", "16", "15", "14", "13", "12", "11", "10", "9", "8", "7"]}, "query": {"type": "string", "description": "Query"}, "schema_metadata": {"type": "string", "description": "Schema metadata"}}, "required": ["flags", "pg_version", "query"]}, "PGAccountQueryOptimizeResponse": {"type": "object", "description": "PGAccountQueryOptimizeResponse", "properties": {"optimize": {"type": "object", "description": "Optimize", "properties": {"existing_recommended_indexes": {"type": "array", "description": "Existing Recommended Indexes", "items": {"type": "object", "properties": {"index_definition": {"type": "string", "description": "Index definition"}}, "required": ["index_definition"]}}, "index_recommendations": {"type": "array", "description": "Index Recommendations", "items": {"type": "object", "properties": {"creation_cmd": {"type": "string", "description": "Creation command"}, "table_name": {"type": "string", "description": "Table name"}}, "required": ["creation_cmd", "table_name"]}}, "optimization_id": {"type": "string", "description": "Optimization ID"}, "optimized_query": {"type": "string", "description": "Optimized query in base64 format"}, "original_query": {"type": "string", "description": "Original query in base64 format"}, "recommendations": {"type": "array", "description": "Recommendations", "items": {"type": "object", "properties": {"bad_practice_sample": {"type": "string", "description": "Bad practice sample"}, "best_practice_sample": {"type": "string", "description": "Best practice sample"}, "description": {"type": "string", "description": "Description"}, "fixable": {"type": "boolean", "description": "Fixable"}, "line_number": {"type": "integer", "description": "Line number"}, "priority": {"type": "integer", "description": "Priority"}, "title": {"type": "string", "description": "Title"}, "type": {"type": "integer", "description": "Type"}}, "required": ["bad_practice_sample", "best_practice_sample", "description", "fixable", "line_number", "priority", "title", "type"]}}}, "required": ["existing_recommended_indexes", "index_recommendations", "optimized_query", "original_query", "recommendations"]}}, "required": ["optimize"]}, "PGServiceAvailableExtensionsResponse": {"type": "object", "description": "PGServiceAvailableExtensionsResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "extensions": {"type": "array", "description": "Extensions available for loading with CREATE EXTENSION in this service", "items": {"type": "object", "properties": {"default_version": {"type": "string", "description": "Default version"}, "name": {"type": "string", "description": "Extension name"}, "versions": {"type": "array", "description": "Extension versions available", "items": {"type": "string"}}}, "required": ["name"]}}, "message": {"type": "string", "description": "Printable result of the request"}}, "required": ["extensions"]}, "PGServiceDatabaseMetadataQueryResponse": {"type": "object", "description": "PGServiceDatabaseMetadataQueryResponse", "properties": {"metadata_query": {"type": "string", "description": "Database metadata retrieval query"}}, "required": ["metadata_query"]}, "PGServiceMetadataValidateRequestBody": {"type": "object", "description": "PGServiceMetadataValidateRequestBody", "properties": {"db_version": {"type": "string", "description": "Database version"}, "metadata": {"type": "string", "description": "Metadata to validate"}}, "required": ["db_version", "metadata"]}, "PGServiceMetadataValidateResponse": {"type": "object", "description": "PGServiceMetadataValidateResponse", "properties": {"status": {"type": "string", "description": "Status"}}, "required": ["status"]}, "PGServiceQueryStatisticsRequestBody": {"type": "object", "description": "PGServiceQueryStatisticsRequestBody", "properties": {"limit": {"type": "integer", "minimum": 1, "maximum": 5000, "description": "Limit for number of results", "default": 100}, "offset": {"type": "integer", "minimum": 0, "description": "Offset for retrieved results based on sort order", "default": 0}, "order_by": {"type": "string", "maxLength": 256, "description": "Sort order can be either asc or desc and multiple comma separated columns with their own order can be specified: :asc,:desc. Accepted sort columns are: blk_read_time, blk_write_time, calls, database_name, local_blks_dirtied, local_blks_hit, local_blks_read, local_blks_written, max_plan_time, max_time, mean_plan_time, mean_time, min_plan_time, min_time, query, queryid, rows, shared_blks_dirtied, shared_blks_hit, shared_blks_read, shared_blks_written, stddev_plan_time, stddev_time, temp_blks_read, temp_blks_written, total_plan_time, total_time, user_name, wal_bytes, wal_fpi, wal_records", "title": "Order in which to sort retrieved results", "default": "calls:desc"}}}, "PGServiceQueryStatisticsResponse": {"type": "object", "description": "PGServiceQueryStatisticsResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "queries": {"type": "array", "description": "List of query statistics", "items": {"type": "object", "properties": {"blk_read_time": {"type": "number", "description": "Query statistic"}, "blk_write_time": {"type": "number", "description": "Query statistic"}, "calls": {"type": "number", "description": "Query statistic"}, "database_name": {"type": "string", "description": "Query statistic"}, "local_blks_dirtied": {"type": "number", "description": "Query statistic"}, "local_blks_hit": {"type": "number", "description": "Query statistic"}, "local_blks_read": {"type": "number", "description": "Query statistic"}, "local_blks_written": {"type": "number", "description": "Query statistic"}, "max_plan_time": {"type": "number", "description": "Query statistic"}, "max_time": {"type": "number", "description": "Query statistic"}, "mean_plan_time": {"type": "number", "description": "Query statistic"}, "mean_time": {"type": "number", "description": "Query statistic"}, "min_plan_time": {"type": "number", "description": "Query statistic"}, "min_time": {"type": "number", "description": "Query statistic"}, "query": {"type": "string", "description": "Query statistic"}, "queryid": {"type": "number", "description": "Query statistic"}, "rows": {"type": "number", "description": "Query statistic"}, "shared_blks_dirtied": {"type": "number", "description": "Query statistic"}, "shared_blks_hit": {"type": "number", "description": "Query statistic"}, "shared_blks_read": {"type": "number", "description": "Query statistic"}, "shared_blks_written": {"type": "number", "description": "Query statistic"}, "stddev_plan_time": {"type": "number", "description": "Query statistic"}, "stddev_time": {"type": "number", "description": "Query statistic"}, "temp_blks_read": {"type": "number", "description": "Query statistic"}, "temp_blks_written": {"type": "number", "description": "Query statistic"}, "total_plan_time": {"type": "number", "description": "Query statistic"}, "total_time": {"type": "number", "description": "Query statistic"}, "user_name": {"type": "string", "description": "Query statistic"}, "wal_bytes": {"type": "string", "description": "Query statistic"}, "wal_fpi": {"type": "number", "description": "Query statistic"}, "wal_records": {"type": "number", "description": "Query statistic"}}}}}, "required": ["queries"]}, "PGServiceQueryStatisticsDeprecatedRequestBody": {"type": "object", "description": "PGServiceQueryStatisticsDeprecatedRequestBody", "properties": {"limit": {"type": "integer", "minimum": 1, "maximum": 5000, "description": "Limit for number of results", "default": 100}, "offset": {"type": "integer", "minimum": 0, "description": "Offset for retrieved results based on sort order", "default": 0}, "order_by": {"type": "string", "maxLength": 256, "description": "Sort order can be either asc or desc and multiple comma separated columns with their own order can be specified: :asc,:desc. Accepted sort columns are: blk_read_time, blk_write_time, calls, database_name, local_blks_dirtied, local_blks_hit, local_blks_read, local_blks_written, max_plan_time, max_time, mean_plan_time, mean_time, min_plan_time, min_time, query, queryid, rows, shared_blks_dirtied, shared_blks_hit, shared_blks_read, shared_blks_written, stddev_plan_time, stddev_time, temp_blks_read, temp_blks_written, total_plan_time, total_time, user_name, wal_bytes, wal_fpi, wal_records", "title": "Order in which to sort retrieved results", "default": "calls:desc"}}}, "PGServiceQueryStatisticsDeprecatedResponse": {"type": "object", "description": "PGServiceQueryStatisticsDeprecatedResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "queries": {"type": "array", "description": "List of query statistics", "items": {"type": "object", "properties": {"blk_read_time": {"type": "number", "description": "Query statistic"}, "blk_write_time": {"type": "number", "description": "Query statistic"}, "calls": {"type": "number", "description": "Query statistic"}, "database_name": {"type": "string", "description": "Query statistic"}, "local_blks_dirtied": {"type": "number", "description": "Query statistic"}, "local_blks_hit": {"type": "number", "description": "Query statistic"}, "local_blks_read": {"type": "number", "description": "Query statistic"}, "local_blks_written": {"type": "number", "description": "Query statistic"}, "max_plan_time": {"type": "number", "description": "Query statistic"}, "max_time": {"type": "number", "description": "Query statistic"}, "mean_plan_time": {"type": "number", "description": "Query statistic"}, "mean_time": {"type": "number", "description": "Query statistic"}, "min_plan_time": {"type": "number", "description": "Query statistic"}, "min_time": {"type": "number", "description": "Query statistic"}, "query": {"type": "string", "description": "Query statistic"}, "queryid": {"type": "number", "description": "Query statistic"}, "rows": {"type": "number", "description": "Query statistic"}, "shared_blks_dirtied": {"type": "number", "description": "Query statistic"}, "shared_blks_hit": {"type": "number", "description": "Query statistic"}, "shared_blks_read": {"type": "number", "description": "Query statistic"}, "shared_blks_written": {"type": "number", "description": "Query statistic"}, "stddev_plan_time": {"type": "number", "description": "Query statistic"}, "stddev_time": {"type": "number", "description": "Query statistic"}, "temp_blks_read": {"type": "number", "description": "Query statistic"}, "temp_blks_written": {"type": "number", "description": "Query statistic"}, "total_plan_time": {"type": "number", "description": "Query statistic"}, "total_time": {"type": "number", "description": "Query statistic"}, "user_name": {"type": "string", "description": "Query statistic"}, "wal_bytes": {"type": "string", "description": "Query statistic"}, "wal_fpi": {"type": "number", "description": "Query statistic"}, "wal_records": {"type": "number", "description": "Query statistic"}}}}}, "required": ["queries"]}, "PGServiceQueryValidateRequestBody": {"type": "object", "description": "PGServiceQueryValidateRequestBody", "properties": {"do_not_store": {"type": "boolean", "description": "Do not store details", "default": false}, "query": {"type": "string", "description": "Query"}}, "required": ["query"]}, "PGServiceQueryValidateResponse": {"type": "object", "description": "PGServiceQueryValidateResponse", "properties": {"status": {"type": "string", "description": "Status"}}, "required": ["status"]}, "ServicePGBouncerCreateRequestBody": {"type": "object", "description": "ServicePGBouncerCreateRequestBody", "properties": {"database": {"type": "string", "maxLength": 63, "description": "Service database name"}, "pool_mode": {"type": "string", "description": "PGBouncer pool mode", "default": "transaction", "enum": ["session", "transaction", "statement"]}, "pool_name": {"type": "string", "maxLength": 63, "description": "Connection pool name"}, "pool_size": {"type": "integer", "minimum": 1, "maximum": 10000, "description": "Size of PGBouncer's PostgreSQL side connection pool", "default": 10}, "username": {"type": "string", "maxLength": 64, "description": "Service username"}}, "required": ["database", "pool_name"]}, "ServicePGBouncerCreateResponse": {"type": "object", "description": "ServicePGBouncerCreateResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}}, "ServicePGBouncerDeleteResponse": {"type": "object", "description": "ServicePGBouncerDeleteResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}}, "ServicePGBouncerUpdateRequestBody": {"type": "object", "description": "ServicePGBouncerUpdateRequestBody", "properties": {"database": {"type": "string", "maxLength": 63, "description": "Service database name"}, "pool_mode": {"type": "string", "description": "PGBouncer pool mode", "enum": ["session", "transaction", "statement"]}, "pool_size": {"type": "integer", "minimum": 1, "maximum": 10000, "description": "Size of PGBouncer's PostgreSQL side connection pool"}, "username": {"type": "string", "maxLength": 64, "description": "Service username"}}}, "ServicePGBouncerUpdateResponse": {"type": "object", "description": "ServicePGBouncerUpdateResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}}, "ServiceThanosStorageSummaryResponse": {"type": "object", "description": "ServiceThanosStorageSummaryResponse", "properties": {"current_cost": {"type": "string", "description": "The current cost in USD of tiered storage since the beginning of the billing period"}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "forecasted_cost": {"type": "string", "description": "The forecasted cost in USD of tiered storage in the billing period"}, "forecasted_rate": {"type": "string", "description": "The rate on GBs/hour used to calculate the forecasted cost"}, "message": {"type": "string", "description": "Printable result of the request"}, "storage_usage_history": {"type": "object", "description": "History of usage and cumulative costs in the billing period", "properties": {"hourly": {"type": "array", "description": "History by hour", "items": {"type": "object", "properties": {"estimated_cost": {"type": "string", "description": "The estimated cost in USD of tiered storage for this hour"}, "hour_start": {"type": "string", "maxLength": 36, "description": "Timestamp in ISO 8601 format, always in UTC"}, "peak_stored_bytes": {"type": "integer", "minimum": 0, "description": "Peak bytes stored on object storage at this hour"}}, "required": ["hour_start", "peak_stored_bytes"]}}}, "required": ["hourly"]}, "total_storage_usage": {"type": "integer", "minimum": 0, "description": "Total storage usage by tiered storage, in bytes"}}, "required": ["current_cost", "forecasted_cost", "storage_usage_history", "total_storage_usage"]}, "ListProjectServiceTypesResponse": {"type": "object", "description": "ListProjectServiceTypesResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "service_types": {"type": "object", "description": "Service plans by service type", "properties": {"alloydbomni": {"type": "object", "description": "Service type information", "properties": {"default_version": {"type": "string", "description": "Default version of the service if no explicit version is defined"}, "description": {"type": "string", "description": "Single line description of the service"}, "latest_available_version": {"type": "string", "description": "Latest available version of the service"}, "service_plans": {"type": "array", "description": "List of plans available for this type of service", "items": {"type": "object", "properties": {"backup_config": {"type": "object", "description": "Backup configuration for this service plan", "properties": {"frequent_interval_minutes": {"type": "integer", "minimum": 0, "description": "Interval of taking a frequent backup in service types supporting different backup schedules"}, "frequent_oldest_age_minutes": {"type": "integer", "minimum": 0, "description": "Maximum age of the oldest frequent backup in service types supporting different backup schedules"}, "infrequent_interval_minutes": {"type": "integer", "minimum": 0, "description": "Interval of taking an infrequent backup in service types supporting different backup schedules"}, "infrequent_oldest_age_minutes": {"type": "integer", "minimum": 0, "description": "Maximum age of the oldest infrequent backup in service types supporting different backup schedules"}, "interval": {"type": "integer", "minimum": 0, "description": "The interval, in hours, at which backups are generated. For some services, like PostgreSQL, this is the interval at which full snapshots are taken and continuous incremental backup stream is maintained in addition to that."}, "max_count": {"type": "integer", "minimum": 0, "description": "Maximum number of backups to keep. Zero when no backups are created."}, "recovery_mode": {"type": "string", "description": "Mechanism how backups can be restored. 'basic' means a backup is restored as is so that the system is restored to the state it was when the backup was generated. 'pitr' means point-in-time-recovery, which allows restoring the system to any state since the first available full snapshot.", "enum": ["basic", "pitr"]}}, "required": ["interval", "max_count", "recovery_mode"]}, "max_memory_percent": {"type": "integer", "minimum": 0, "maximum": 100, "description": "Maximum amount of system memory as a percentage (0-100) the service can actually use after taking into account management overhead. This is relevant for memory bound services for which some service management operations require allocating proportional amount of memory on top the basic load."}, "node_count": {"type": "integer", "minimum": 1, "maximum": 100, "description": "Number of nodes in this service plan"}, "regions": {"type": "object", "description": "Service plan hourly price per cloud region", "properties": {}}, "service_plan": {"type": "string", "maxLength": 128, "description": "Subscription plan"}, "service_type": {"type": "string", "maxLength": 64, "description": "Service type code"}, "shard_count": {"type": "integer", "minimum": 1, "description": "Number of shards in this service plan"}}, "required": ["backup_config", "service_plan", "service_type"]}}, "user_config_schema": {"type": "object", "description": "JSON-Schema for the 'user_config' properties", "properties": {}}}, "required": ["description", "service_plans", "user_config_schema"]}, "cassandra": {"type": "object", "description": "Service type information", "properties": {"default_version": {"type": "string", "description": "Default version of the service if no explicit version is defined"}, "description": {"type": "string", "description": "Single line description of the service"}, "latest_available_version": {"type": "string", "description": "Latest available version of the service"}, "service_plans": {"type": "array", "description": "List of plans available for this type of service", "items": {"type": "object", "properties": {"backup_config": {"type": "object", "description": "Backup configuration for this service plan", "properties": {"frequent_interval_minutes": {"type": "integer", "minimum": 0, "description": "Interval of taking a frequent backup in service types supporting different backup schedules"}, "frequent_oldest_age_minutes": {"type": "integer", "minimum": 0, "description": "Maximum age of the oldest frequent backup in service types supporting different backup schedules"}, "infrequent_interval_minutes": {"type": "integer", "minimum": 0, "description": "Interval of taking an infrequent backup in service types supporting different backup schedules"}, "infrequent_oldest_age_minutes": {"type": "integer", "minimum": 0, "description": "Maximum age of the oldest infrequent backup in service types supporting different backup schedules"}, "interval": {"type": "integer", "minimum": 0, "description": "The interval, in hours, at which backups are generated. For some services, like PostgreSQL, this is the interval at which full snapshots are taken and continuous incremental backup stream is maintained in addition to that."}, "max_count": {"type": "integer", "minimum": 0, "description": "Maximum number of backups to keep. Zero when no backups are created."}, "recovery_mode": {"type": "string", "description": "Mechanism how backups can be restored. 'basic' means a backup is restored as is so that the system is restored to the state it was when the backup was generated. 'pitr' means point-in-time-recovery, which allows restoring the system to any state since the first available full snapshot.", "enum": ["basic", "pitr"]}}, "required": ["interval", "max_count", "recovery_mode"]}, "max_memory_percent": {"type": "integer", "minimum": 0, "maximum": 100, "description": "Maximum amount of system memory as a percentage (0-100) the service can actually use after taking into account management overhead. This is relevant for memory bound services for which some service management operations require allocating proportional amount of memory on top the basic load."}, "node_count": {"type": "integer", "minimum": 1, "maximum": 100, "description": "Number of nodes in this service plan"}, "regions": {"type": "object", "description": "Service plan hourly price per cloud region", "properties": {}}, "service_plan": {"type": "string", "maxLength": 128, "description": "Subscription plan"}, "service_type": {"type": "string", "maxLength": 64, "description": "Service type code"}, "shard_count": {"type": "integer", "minimum": 1, "description": "Number of shards in this service plan"}}, "required": ["backup_config", "service_plan", "service_type"]}}, "user_config_schema": {"type": "object", "description": "JSON-Schema for the 'user_config' properties", "properties": {}}}, "required": ["description", "service_plans", "user_config_schema"]}, "clickhouse": {"type": "object", "description": "Service type information", "properties": {"default_version": {"type": "string", "description": "Default version of the service if no explicit version is defined"}, "description": {"type": "string", "description": "Single line description of the service"}, "latest_available_version": {"type": "string", "description": "Latest available version of the service"}, "service_plans": {"type": "array", "description": "List of plans available for this type of service", "items": {"type": "object", "properties": {"backup_config": {"type": "object", "description": "Backup configuration for this service plan", "properties": {"frequent_interval_minutes": {"type": "integer", "minimum": 0, "description": "Interval of taking a frequent backup in service types supporting different backup schedules"}, "frequent_oldest_age_minutes": {"type": "integer", "minimum": 0, "description": "Maximum age of the oldest frequent backup in service types supporting different backup schedules"}, "infrequent_interval_minutes": {"type": "integer", "minimum": 0, "description": "Interval of taking an infrequent backup in service types supporting different backup schedules"}, "infrequent_oldest_age_minutes": {"type": "integer", "minimum": 0, "description": "Maximum age of the oldest infrequent backup in service types supporting different backup schedules"}, "interval": {"type": "integer", "minimum": 0, "description": "The interval, in hours, at which backups are generated. For some services, like PostgreSQL, this is the interval at which full snapshots are taken and continuous incremental backup stream is maintained in addition to that."}, "max_count": {"type": "integer", "minimum": 0, "description": "Maximum number of backups to keep. Zero when no backups are created."}, "recovery_mode": {"type": "string", "description": "Mechanism how backups can be restored. 'basic' means a backup is restored as is so that the system is restored to the state it was when the backup was generated. 'pitr' means point-in-time-recovery, which allows restoring the system to any state since the first available full snapshot.", "enum": ["basic", "pitr"]}}, "required": ["interval", "max_count", "recovery_mode"]}, "max_memory_percent": {"type": "integer", "minimum": 0, "maximum": 100, "description": "Maximum amount of system memory as a percentage (0-100) the service can actually use after taking into account management overhead. This is relevant for memory bound services for which some service management operations require allocating proportional amount of memory on top the basic load."}, "node_count": {"type": "integer", "minimum": 1, "maximum": 100, "description": "Number of nodes in this service plan"}, "regions": {"type": "object", "description": "Service plan hourly price per cloud region", "properties": {}}, "service_plan": {"type": "string", "maxLength": 128, "description": "Subscription plan"}, "service_type": {"type": "string", "maxLength": 64, "description": "Service type code"}, "shard_count": {"type": "integer", "minimum": 1, "description": "Number of shards in this service plan"}}, "required": ["backup_config", "service_plan", "service_type"]}}, "user_config_schema": {"type": "object", "description": "JSON-Schema for the 'user_config' properties", "properties": {}}}, "required": ["description", "service_plans", "user_config_schema"]}, "dragonfly": {"type": "object", "description": "Service type information", "properties": {"default_version": {"type": "string", "description": "Default version of the service if no explicit version is defined"}, "description": {"type": "string", "description": "Single line description of the service"}, "latest_available_version": {"type": "string", "description": "Latest available version of the service"}, "service_plans": {"type": "array", "description": "List of plans available for this type of service", "items": {"type": "object", "properties": {"backup_config": {"type": "object", "description": "Backup configuration for this service plan", "properties": {"frequent_interval_minutes": {"type": "integer", "minimum": 0, "description": "Interval of taking a frequent backup in service types supporting different backup schedules"}, "frequent_oldest_age_minutes": {"type": "integer", "minimum": 0, "description": "Maximum age of the oldest frequent backup in service types supporting different backup schedules"}, "infrequent_interval_minutes": {"type": "integer", "minimum": 0, "description": "Interval of taking an infrequent backup in service types supporting different backup schedules"}, "infrequent_oldest_age_minutes": {"type": "integer", "minimum": 0, "description": "Maximum age of the oldest infrequent backup in service types supporting different backup schedules"}, "interval": {"type": "integer", "minimum": 0, "description": "The interval, in hours, at which backups are generated. For some services, like PostgreSQL, this is the interval at which full snapshots are taken and continuous incremental backup stream is maintained in addition to that."}, "max_count": {"type": "integer", "minimum": 0, "description": "Maximum number of backups to keep. Zero when no backups are created."}, "recovery_mode": {"type": "string", "description": "Mechanism how backups can be restored. 'basic' means a backup is restored as is so that the system is restored to the state it was when the backup was generated. 'pitr' means point-in-time-recovery, which allows restoring the system to any state since the first available full snapshot.", "enum": ["basic", "pitr"]}}, "required": ["interval", "max_count", "recovery_mode"]}, "max_memory_percent": {"type": "integer", "minimum": 0, "maximum": 100, "description": "Maximum amount of system memory as a percentage (0-100) the service can actually use after taking into account management overhead. This is relevant for memory bound services for which some service management operations require allocating proportional amount of memory on top the basic load."}, "node_count": {"type": "integer", "minimum": 1, "maximum": 100, "description": "Number of nodes in this service plan"}, "regions": {"type": "object", "description": "Service plan hourly price per cloud region", "properties": {}}, "service_plan": {"type": "string", "maxLength": 128, "description": "Subscription plan"}, "service_type": {"type": "string", "maxLength": 64, "description": "Service type code"}, "shard_count": {"type": "integer", "minimum": 1, "description": "Number of shards in this service plan"}}, "required": ["backup_config", "service_plan", "service_type"]}}, "user_config_schema": {"type": "object", "description": "JSON-Schema for the 'user_config' properties", "properties": {}}}, "required": ["description", "service_plans", "user_config_schema"]}, "elasticsearch": {"type": "object", "description": "Service type information", "properties": {"default_version": {"type": "string", "description": "Default version of the service if no explicit version is defined"}, "description": {"type": "string", "description": "Single line description of the service"}, "latest_available_version": {"type": "string", "description": "Latest available version of the service"}, "service_plans": {"type": "array", "description": "List of plans available for this type of service", "items": {"type": "object", "properties": {"backup_config": {"type": "object", "description": "Backup configuration for this service plan", "properties": {"frequent_interval_minutes": {"type": "integer", "minimum": 0, "description": "Interval of taking a frequent backup in service types supporting different backup schedules"}, "frequent_oldest_age_minutes": {"type": "integer", "minimum": 0, "description": "Maximum age of the oldest frequent backup in service types supporting different backup schedules"}, "infrequent_interval_minutes": {"type": "integer", "minimum": 0, "description": "Interval of taking an infrequent backup in service types supporting different backup schedules"}, "infrequent_oldest_age_minutes": {"type": "integer", "minimum": 0, "description": "Maximum age of the oldest infrequent backup in service types supporting different backup schedules"}, "interval": {"type": "integer", "minimum": 0, "description": "The interval, in hours, at which backups are generated. For some services, like PostgreSQL, this is the interval at which full snapshots are taken and continuous incremental backup stream is maintained in addition to that."}, "max_count": {"type": "integer", "minimum": 0, "description": "Maximum number of backups to keep. Zero when no backups are created."}, "recovery_mode": {"type": "string", "description": "Mechanism how backups can be restored. 'basic' means a backup is restored as is so that the system is restored to the state it was when the backup was generated. 'pitr' means point-in-time-recovery, which allows restoring the system to any state since the first available full snapshot.", "enum": ["basic", "pitr"]}}, "required": ["interval", "max_count", "recovery_mode"]}, "max_memory_percent": {"type": "integer", "minimum": 0, "maximum": 100, "description": "Maximum amount of system memory as a percentage (0-100) the service can actually use after taking into account management overhead. This is relevant for memory bound services for which some service management operations require allocating proportional amount of memory on top the basic load."}, "node_count": {"type": "integer", "minimum": 1, "maximum": 100, "description": "Number of nodes in this service plan"}, "regions": {"type": "object", "description": "Service plan hourly price per cloud region", "properties": {}}, "service_plan": {"type": "string", "maxLength": 128, "description": "Subscription plan"}, "service_type": {"type": "string", "maxLength": 64, "description": "Service type code"}, "shard_count": {"type": "integer", "minimum": 1, "description": "Number of shards in this service plan"}}, "required": ["backup_config", "service_plan", "service_type"]}}, "user_config_schema": {"type": "object", "description": "JSON-Schema for the 'user_config' properties", "properties": {}}}, "required": ["description", "service_plans", "user_config_schema"]}, "flink": {"type": "object", "description": "Service type information", "properties": {"default_version": {"type": "string", "description": "Default version of the service if no explicit version is defined"}, "description": {"type": "string", "description": "Single line description of the service"}, "latest_available_version": {"type": "string", "description": "Latest available version of the service"}, "service_plans": {"type": "array", "description": "List of plans available for this type of service", "items": {"type": "object", "properties": {"backup_config": {"type": "object", "description": "Backup configuration for this service plan", "properties": {"frequent_interval_minutes": {"type": "integer", "minimum": 0, "description": "Interval of taking a frequent backup in service types supporting different backup schedules"}, "frequent_oldest_age_minutes": {"type": "integer", "minimum": 0, "description": "Maximum age of the oldest frequent backup in service types supporting different backup schedules"}, "infrequent_interval_minutes": {"type": "integer", "minimum": 0, "description": "Interval of taking an infrequent backup in service types supporting different backup schedules"}, "infrequent_oldest_age_minutes": {"type": "integer", "minimum": 0, "description": "Maximum age of the oldest infrequent backup in service types supporting different backup schedules"}, "interval": {"type": "integer", "minimum": 0, "description": "The interval, in hours, at which backups are generated. For some services, like PostgreSQL, this is the interval at which full snapshots are taken and continuous incremental backup stream is maintained in addition to that."}, "max_count": {"type": "integer", "minimum": 0, "description": "Maximum number of backups to keep. Zero when no backups are created."}, "recovery_mode": {"type": "string", "description": "Mechanism how backups can be restored. 'basic' means a backup is restored as is so that the system is restored to the state it was when the backup was generated. 'pitr' means point-in-time-recovery, which allows restoring the system to any state since the first available full snapshot.", "enum": ["basic", "pitr"]}}, "required": ["interval", "max_count", "recovery_mode"]}, "max_memory_percent": {"type": "integer", "minimum": 0, "maximum": 100, "description": "Maximum amount of system memory as a percentage (0-100) the service can actually use after taking into account management overhead. This is relevant for memory bound services for which some service management operations require allocating proportional amount of memory on top the basic load."}, "node_count": {"type": "integer", "minimum": 1, "maximum": 100, "description": "Number of nodes in this service plan"}, "regions": {"type": "object", "description": "Service plan hourly price per cloud region", "properties": {}}, "service_plan": {"type": "string", "maxLength": 128, "description": "Subscription plan"}, "service_type": {"type": "string", "maxLength": 64, "description": "Service type code"}, "shard_count": {"type": "integer", "minimum": 1, "description": "Number of shards in this service plan"}}, "required": ["backup_config", "service_plan", "service_type"]}}, "user_config_schema": {"type": "object", "description": "JSON-Schema for the 'user_config' properties", "properties": {}}}, "required": ["description", "service_plans", "user_config_schema"]}, "grafana": {"type": "object", "description": "Service type information", "properties": {"default_version": {"type": "string", "description": "Default version of the service if no explicit version is defined"}, "description": {"type": "string", "description": "Single line description of the service"}, "latest_available_version": {"type": "string", "description": "Latest available version of the service"}, "service_plans": {"type": "array", "description": "List of plans available for this type of service", "items": {"type": "object", "properties": {"backup_config": {"type": "object", "description": "Backup configuration for this service plan", "properties": {"frequent_interval_minutes": {"type": "integer", "minimum": 0, "description": "Interval of taking a frequent backup in service types supporting different backup schedules"}, "frequent_oldest_age_minutes": {"type": "integer", "minimum": 0, "description": "Maximum age of the oldest frequent backup in service types supporting different backup schedules"}, "infrequent_interval_minutes": {"type": "integer", "minimum": 0, "description": "Interval of taking an infrequent backup in service types supporting different backup schedules"}, "infrequent_oldest_age_minutes": {"type": "integer", "minimum": 0, "description": "Maximum age of the oldest infrequent backup in service types supporting different backup schedules"}, "interval": {"type": "integer", "minimum": 0, "description": "The interval, in hours, at which backups are generated. For some services, like PostgreSQL, this is the interval at which full snapshots are taken and continuous incremental backup stream is maintained in addition to that."}, "max_count": {"type": "integer", "minimum": 0, "description": "Maximum number of backups to keep. Zero when no backups are created."}, "recovery_mode": {"type": "string", "description": "Mechanism how backups can be restored. 'basic' means a backup is restored as is so that the system is restored to the state it was when the backup was generated. 'pitr' means point-in-time-recovery, which allows restoring the system to any state since the first available full snapshot.", "enum": ["basic", "pitr"]}}, "required": ["interval", "max_count", "recovery_mode"]}, "max_memory_percent": {"type": "integer", "minimum": 0, "maximum": 100, "description": "Maximum amount of system memory as a percentage (0-100) the service can actually use after taking into account management overhead. This is relevant for memory bound services for which some service management operations require allocating proportional amount of memory on top the basic load."}, "node_count": {"type": "integer", "minimum": 1, "maximum": 100, "description": "Number of nodes in this service plan"}, "regions": {"type": "object", "description": "Service plan hourly price per cloud region", "properties": {}}, "service_plan": {"type": "string", "maxLength": 128, "description": "Subscription plan"}, "service_type": {"type": "string", "maxLength": 64, "description": "Service type code"}, "shard_count": {"type": "integer", "minimum": 1, "description": "Number of shards in this service plan"}}, "required": ["backup_config", "service_plan", "service_type"]}}, "user_config_schema": {"type": "object", "description": "JSON-Schema for the 'user_config' properties", "properties": {}}}, "required": ["description", "service_plans", "user_config_schema"]}, "influxdb": {"type": "object", "description": "Service type information", "properties": {"default_version": {"type": "string", "description": "Default version of the service if no explicit version is defined"}, "description": {"type": "string", "description": "Single line description of the service"}, "latest_available_version": {"type": "string", "description": "Latest available version of the service"}, "service_plans": {"type": "array", "description": "List of plans available for this type of service", "items": {"type": "object", "properties": {"backup_config": {"type": "object", "description": "Backup configuration for this service plan", "properties": {"frequent_interval_minutes": {"type": "integer", "minimum": 0, "description": "Interval of taking a frequent backup in service types supporting different backup schedules"}, "frequent_oldest_age_minutes": {"type": "integer", "minimum": 0, "description": "Maximum age of the oldest frequent backup in service types supporting different backup schedules"}, "infrequent_interval_minutes": {"type": "integer", "minimum": 0, "description": "Interval of taking an infrequent backup in service types supporting different backup schedules"}, "infrequent_oldest_age_minutes": {"type": "integer", "minimum": 0, "description": "Maximum age of the oldest infrequent backup in service types supporting different backup schedules"}, "interval": {"type": "integer", "minimum": 0, "description": "The interval, in hours, at which backups are generated. For some services, like PostgreSQL, this is the interval at which full snapshots are taken and continuous incremental backup stream is maintained in addition to that."}, "max_count": {"type": "integer", "minimum": 0, "description": "Maximum number of backups to keep. Zero when no backups are created."}, "recovery_mode": {"type": "string", "description": "Mechanism how backups can be restored. 'basic' means a backup is restored as is so that the system is restored to the state it was when the backup was generated. 'pitr' means point-in-time-recovery, which allows restoring the system to any state since the first available full snapshot.", "enum": ["basic", "pitr"]}}, "required": ["interval", "max_count", "recovery_mode"]}, "max_memory_percent": {"type": "integer", "minimum": 0, "maximum": 100, "description": "Maximum amount of system memory as a percentage (0-100) the service can actually use after taking into account management overhead. This is relevant for memory bound services for which some service management operations require allocating proportional amount of memory on top the basic load."}, "node_count": {"type": "integer", "minimum": 1, "maximum": 100, "description": "Number of nodes in this service plan"}, "regions": {"type": "object", "description": "Service plan hourly price per cloud region", "properties": {}}, "service_plan": {"type": "string", "maxLength": 128, "description": "Subscription plan"}, "service_type": {"type": "string", "maxLength": 64, "description": "Service type code"}, "shard_count": {"type": "integer", "minimum": 1, "description": "Number of shards in this service plan"}}, "required": ["backup_config", "service_plan", "service_type"]}}, "user_config_schema": {"type": "object", "description": "JSON-Schema for the 'user_config' properties", "properties": {}}}, "required": ["description", "service_plans", "user_config_schema"]}, "kafka": {"type": "object", "description": "Service type information", "properties": {"default_version": {"type": "string", "description": "Default version of the service if no explicit version is defined"}, "description": {"type": "string", "description": "Single line description of the service"}, "latest_available_version": {"type": "string", "description": "Latest available version of the service"}, "service_plans": {"type": "array", "description": "List of plans available for this type of service", "items": {"type": "object", "properties": {"backup_config": {"type": "object", "description": "Backup configuration for this service plan", "properties": {"frequent_interval_minutes": {"type": "integer", "minimum": 0, "description": "Interval of taking a frequent backup in service types supporting different backup schedules"}, "frequent_oldest_age_minutes": {"type": "integer", "minimum": 0, "description": "Maximum age of the oldest frequent backup in service types supporting different backup schedules"}, "infrequent_interval_minutes": {"type": "integer", "minimum": 0, "description": "Interval of taking an infrequent backup in service types supporting different backup schedules"}, "infrequent_oldest_age_minutes": {"type": "integer", "minimum": 0, "description": "Maximum age of the oldest infrequent backup in service types supporting different backup schedules"}, "interval": {"type": "integer", "minimum": 0, "description": "The interval, in hours, at which backups are generated. For some services, like PostgreSQL, this is the interval at which full snapshots are taken and continuous incremental backup stream is maintained in addition to that."}, "max_count": {"type": "integer", "minimum": 0, "description": "Maximum number of backups to keep. Zero when no backups are created."}, "recovery_mode": {"type": "string", "description": "Mechanism how backups can be restored. 'basic' means a backup is restored as is so that the system is restored to the state it was when the backup was generated. 'pitr' means point-in-time-recovery, which allows restoring the system to any state since the first available full snapshot.", "enum": ["basic", "pitr"]}}, "required": ["interval", "max_count", "recovery_mode"]}, "max_memory_percent": {"type": "integer", "minimum": 0, "maximum": 100, "description": "Maximum amount of system memory as a percentage (0-100) the service can actually use after taking into account management overhead. This is relevant for memory bound services for which some service management operations require allocating proportional amount of memory on top the basic load."}, "node_count": {"type": "integer", "minimum": 1, "maximum": 100, "description": "Number of nodes in this service plan"}, "regions": {"type": "object", "description": "Service plan hourly price per cloud region", "properties": {}}, "service_plan": {"type": "string", "maxLength": 128, "description": "Subscription plan"}, "service_type": {"type": "string", "maxLength": 64, "description": "Service type code"}, "shard_count": {"type": "integer", "minimum": 1, "description": "Number of shards in this service plan"}}, "required": ["backup_config", "service_plan", "service_type"]}}, "user_config_schema": {"type": "object", "description": "JSON-Schema for the 'user_config' properties", "properties": {}}}, "required": ["description", "service_plans", "user_config_schema"]}, "kafka_connect": {"type": "object", "description": "Service type information", "properties": {"default_version": {"type": "string", "description": "Default version of the service if no explicit version is defined"}, "description": {"type": "string", "description": "Single line description of the service"}, "latest_available_version": {"type": "string", "description": "Latest available version of the service"}, "service_plans": {"type": "array", "description": "List of plans available for this type of service", "items": {"type": "object", "properties": {"backup_config": {"type": "object", "description": "Backup configuration for this service plan", "properties": {"frequent_interval_minutes": {"type": "integer", "minimum": 0, "description": "Interval of taking a frequent backup in service types supporting different backup schedules"}, "frequent_oldest_age_minutes": {"type": "integer", "minimum": 0, "description": "Maximum age of the oldest frequent backup in service types supporting different backup schedules"}, "infrequent_interval_minutes": {"type": "integer", "minimum": 0, "description": "Interval of taking an infrequent backup in service types supporting different backup schedules"}, "infrequent_oldest_age_minutes": {"type": "integer", "minimum": 0, "description": "Maximum age of the oldest infrequent backup in service types supporting different backup schedules"}, "interval": {"type": "integer", "minimum": 0, "description": "The interval, in hours, at which backups are generated. For some services, like PostgreSQL, this is the interval at which full snapshots are taken and continuous incremental backup stream is maintained in addition to that."}, "max_count": {"type": "integer", "minimum": 0, "description": "Maximum number of backups to keep. Zero when no backups are created."}, "recovery_mode": {"type": "string", "description": "Mechanism how backups can be restored. 'basic' means a backup is restored as is so that the system is restored to the state it was when the backup was generated. 'pitr' means point-in-time-recovery, which allows restoring the system to any state since the first available full snapshot.", "enum": ["basic", "pitr"]}}, "required": ["interval", "max_count", "recovery_mode"]}, "max_memory_percent": {"type": "integer", "minimum": 0, "maximum": 100, "description": "Maximum amount of system memory as a percentage (0-100) the service can actually use after taking into account management overhead. This is relevant for memory bound services for which some service management operations require allocating proportional amount of memory on top the basic load."}, "node_count": {"type": "integer", "minimum": 1, "maximum": 100, "description": "Number of nodes in this service plan"}, "regions": {"type": "object", "description": "Service plan hourly price per cloud region", "properties": {}}, "service_plan": {"type": "string", "maxLength": 128, "description": "Subscription plan"}, "service_type": {"type": "string", "maxLength": 64, "description": "Service type code"}, "shard_count": {"type": "integer", "minimum": 1, "description": "Number of shards in this service plan"}}, "required": ["backup_config", "service_plan", "service_type"]}}, "user_config_schema": {"type": "object", "description": "JSON-Schema for the 'user_config' properties", "properties": {}}}, "required": ["description", "service_plans", "user_config_schema"]}, "kafka_mirrormaker": {"type": "object", "description": "Service type information", "properties": {"default_version": {"type": "string", "description": "Default version of the service if no explicit version is defined"}, "description": {"type": "string", "description": "Single line description of the service"}, "latest_available_version": {"type": "string", "description": "Latest available version of the service"}, "service_plans": {"type": "array", "description": "List of plans available for this type of service", "items": {"type": "object", "properties": {"backup_config": {"type": "object", "description": "Backup configuration for this service plan", "properties": {"frequent_interval_minutes": {"type": "integer", "minimum": 0, "description": "Interval of taking a frequent backup in service types supporting different backup schedules"}, "frequent_oldest_age_minutes": {"type": "integer", "minimum": 0, "description": "Maximum age of the oldest frequent backup in service types supporting different backup schedules"}, "infrequent_interval_minutes": {"type": "integer", "minimum": 0, "description": "Interval of taking an infrequent backup in service types supporting different backup schedules"}, "infrequent_oldest_age_minutes": {"type": "integer", "minimum": 0, "description": "Maximum age of the oldest infrequent backup in service types supporting different backup schedules"}, "interval": {"type": "integer", "minimum": 0, "description": "The interval, in hours, at which backups are generated. For some services, like PostgreSQL, this is the interval at which full snapshots are taken and continuous incremental backup stream is maintained in addition to that."}, "max_count": {"type": "integer", "minimum": 0, "description": "Maximum number of backups to keep. Zero when no backups are created."}, "recovery_mode": {"type": "string", "description": "Mechanism how backups can be restored. 'basic' means a backup is restored as is so that the system is restored to the state it was when the backup was generated. 'pitr' means point-in-time-recovery, which allows restoring the system to any state since the first available full snapshot.", "enum": ["basic", "pitr"]}}, "required": ["interval", "max_count", "recovery_mode"]}, "max_memory_percent": {"type": "integer", "minimum": 0, "maximum": 100, "description": "Maximum amount of system memory as a percentage (0-100) the service can actually use after taking into account management overhead. This is relevant for memory bound services for which some service management operations require allocating proportional amount of memory on top the basic load."}, "node_count": {"type": "integer", "minimum": 1, "maximum": 100, "description": "Number of nodes in this service plan"}, "regions": {"type": "object", "description": "Service plan hourly price per cloud region", "properties": {}}, "service_plan": {"type": "string", "maxLength": 128, "description": "Subscription plan"}, "service_type": {"type": "string", "maxLength": 64, "description": "Service type code"}, "shard_count": {"type": "integer", "minimum": 1, "description": "Number of shards in this service plan"}}, "required": ["backup_config", "service_plan", "service_type"]}}, "user_config_schema": {"type": "object", "description": "JSON-Schema for the 'user_config' properties", "properties": {}}}, "required": ["description", "service_plans", "user_config_schema"]}, "m3aggregator": {"type": "object", "description": "Service type information", "properties": {"default_version": {"type": "string", "description": "Default version of the service if no explicit version is defined"}, "description": {"type": "string", "description": "Single line description of the service"}, "latest_available_version": {"type": "string", "description": "Latest available version of the service"}, "service_plans": {"type": "array", "description": "List of plans available for this type of service", "items": {"type": "object", "properties": {"backup_config": {"type": "object", "description": "Backup configuration for this service plan", "properties": {"frequent_interval_minutes": {"type": "integer", "minimum": 0, "description": "Interval of taking a frequent backup in service types supporting different backup schedules"}, "frequent_oldest_age_minutes": {"type": "integer", "minimum": 0, "description": "Maximum age of the oldest frequent backup in service types supporting different backup schedules"}, "infrequent_interval_minutes": {"type": "integer", "minimum": 0, "description": "Interval of taking an infrequent backup in service types supporting different backup schedules"}, "infrequent_oldest_age_minutes": {"type": "integer", "minimum": 0, "description": "Maximum age of the oldest infrequent backup in service types supporting different backup schedules"}, "interval": {"type": "integer", "minimum": 0, "description": "The interval, in hours, at which backups are generated. For some services, like PostgreSQL, this is the interval at which full snapshots are taken and continuous incremental backup stream is maintained in addition to that."}, "max_count": {"type": "integer", "minimum": 0, "description": "Maximum number of backups to keep. Zero when no backups are created."}, "recovery_mode": {"type": "string", "description": "Mechanism how backups can be restored. 'basic' means a backup is restored as is so that the system is restored to the state it was when the backup was generated. 'pitr' means point-in-time-recovery, which allows restoring the system to any state since the first available full snapshot.", "enum": ["basic", "pitr"]}}, "required": ["interval", "max_count", "recovery_mode"]}, "max_memory_percent": {"type": "integer", "minimum": 0, "maximum": 100, "description": "Maximum amount of system memory as a percentage (0-100) the service can actually use after taking into account management overhead. This is relevant for memory bound services for which some service management operations require allocating proportional amount of memory on top the basic load."}, "node_count": {"type": "integer", "minimum": 1, "maximum": 100, "description": "Number of nodes in this service plan"}, "regions": {"type": "object", "description": "Service plan hourly price per cloud region", "properties": {}}, "service_plan": {"type": "string", "maxLength": 128, "description": "Subscription plan"}, "service_type": {"type": "string", "maxLength": 64, "description": "Service type code"}, "shard_count": {"type": "integer", "minimum": 1, "description": "Number of shards in this service plan"}}, "required": ["backup_config", "service_plan", "service_type"]}}, "user_config_schema": {"type": "object", "description": "JSON-Schema for the 'user_config' properties", "properties": {}}}, "required": ["description", "service_plans", "user_config_schema"]}, "m3db": {"type": "object", "description": "Service type information", "properties": {"default_version": {"type": "string", "description": "Default version of the service if no explicit version is defined"}, "description": {"type": "string", "description": "Single line description of the service"}, "latest_available_version": {"type": "string", "description": "Latest available version of the service"}, "service_plans": {"type": "array", "description": "List of plans available for this type of service", "items": {"type": "object", "properties": {"backup_config": {"type": "object", "description": "Backup configuration for this service plan", "properties": {"frequent_interval_minutes": {"type": "integer", "minimum": 0, "description": "Interval of taking a frequent backup in service types supporting different backup schedules"}, "frequent_oldest_age_minutes": {"type": "integer", "minimum": 0, "description": "Maximum age of the oldest frequent backup in service types supporting different backup schedules"}, "infrequent_interval_minutes": {"type": "integer", "minimum": 0, "description": "Interval of taking an infrequent backup in service types supporting different backup schedules"}, "infrequent_oldest_age_minutes": {"type": "integer", "minimum": 0, "description": "Maximum age of the oldest infrequent backup in service types supporting different backup schedules"}, "interval": {"type": "integer", "minimum": 0, "description": "The interval, in hours, at which backups are generated. For some services, like PostgreSQL, this is the interval at which full snapshots are taken and continuous incremental backup stream is maintained in addition to that."}, "max_count": {"type": "integer", "minimum": 0, "description": "Maximum number of backups to keep. Zero when no backups are created."}, "recovery_mode": {"type": "string", "description": "Mechanism how backups can be restored. 'basic' means a backup is restored as is so that the system is restored to the state it was when the backup was generated. 'pitr' means point-in-time-recovery, which allows restoring the system to any state since the first available full snapshot.", "enum": ["basic", "pitr"]}}, "required": ["interval", "max_count", "recovery_mode"]}, "max_memory_percent": {"type": "integer", "minimum": 0, "maximum": 100, "description": "Maximum amount of system memory as a percentage (0-100) the service can actually use after taking into account management overhead. This is relevant for memory bound services for which some service management operations require allocating proportional amount of memory on top the basic load."}, "node_count": {"type": "integer", "minimum": 1, "maximum": 100, "description": "Number of nodes in this service plan"}, "regions": {"type": "object", "description": "Service plan hourly price per cloud region", "properties": {}}, "service_plan": {"type": "string", "maxLength": 128, "description": "Subscription plan"}, "service_type": {"type": "string", "maxLength": 64, "description": "Service type code"}, "shard_count": {"type": "integer", "minimum": 1, "description": "Number of shards in this service plan"}}, "required": ["backup_config", "service_plan", "service_type"]}}, "user_config_schema": {"type": "object", "description": "JSON-Schema for the 'user_config' properties", "properties": {}}}, "required": ["description", "service_plans", "user_config_schema"]}, "mysql": {"type": "object", "description": "Service type information", "properties": {"default_version": {"type": "string", "description": "Default version of the service if no explicit version is defined"}, "description": {"type": "string", "description": "Single line description of the service"}, "latest_available_version": {"type": "string", "description": "Latest available version of the service"}, "service_plans": {"type": "array", "description": "List of plans available for this type of service", "items": {"type": "object", "properties": {"backup_config": {"type": "object", "description": "Backup configuration for this service plan", "properties": {"frequent_interval_minutes": {"type": "integer", "minimum": 0, "description": "Interval of taking a frequent backup in service types supporting different backup schedules"}, "frequent_oldest_age_minutes": {"type": "integer", "minimum": 0, "description": "Maximum age of the oldest frequent backup in service types supporting different backup schedules"}, "infrequent_interval_minutes": {"type": "integer", "minimum": 0, "description": "Interval of taking an infrequent backup in service types supporting different backup schedules"}, "infrequent_oldest_age_minutes": {"type": "integer", "minimum": 0, "description": "Maximum age of the oldest infrequent backup in service types supporting different backup schedules"}, "interval": {"type": "integer", "minimum": 0, "description": "The interval, in hours, at which backups are generated. For some services, like PostgreSQL, this is the interval at which full snapshots are taken and continuous incremental backup stream is maintained in addition to that."}, "max_count": {"type": "integer", "minimum": 0, "description": "Maximum number of backups to keep. Zero when no backups are created."}, "recovery_mode": {"type": "string", "description": "Mechanism how backups can be restored. 'basic' means a backup is restored as is so that the system is restored to the state it was when the backup was generated. 'pitr' means point-in-time-recovery, which allows restoring the system to any state since the first available full snapshot.", "enum": ["basic", "pitr"]}}, "required": ["interval", "max_count", "recovery_mode"]}, "max_memory_percent": {"type": "integer", "minimum": 0, "maximum": 100, "description": "Maximum amount of system memory as a percentage (0-100) the service can actually use after taking into account management overhead. This is relevant for memory bound services for which some service management operations require allocating proportional amount of memory on top the basic load."}, "node_count": {"type": "integer", "minimum": 1, "maximum": 100, "description": "Number of nodes in this service plan"}, "regions": {"type": "object", "description": "Service plan hourly price per cloud region", "properties": {}}, "service_plan": {"type": "string", "maxLength": 128, "description": "Subscription plan"}, "service_type": {"type": "string", "maxLength": 64, "description": "Service type code"}, "shard_count": {"type": "integer", "minimum": 1, "description": "Number of shards in this service plan"}}, "required": ["backup_config", "service_plan", "service_type"]}}, "user_config_schema": {"type": "object", "description": "JSON-Schema for the 'user_config' properties", "properties": {}}}, "required": ["description", "service_plans", "user_config_schema"]}, "opensearch": {"type": "object", "description": "Service type information", "properties": {"default_version": {"type": "string", "description": "Default version of the service if no explicit version is defined"}, "description": {"type": "string", "description": "Single line description of the service"}, "latest_available_version": {"type": "string", "description": "Latest available version of the service"}, "service_plans": {"type": "array", "description": "List of plans available for this type of service", "items": {"type": "object", "properties": {"backup_config": {"type": "object", "description": "Backup configuration for this service plan", "properties": {"frequent_interval_minutes": {"type": "integer", "minimum": 0, "description": "Interval of taking a frequent backup in service types supporting different backup schedules"}, "frequent_oldest_age_minutes": {"type": "integer", "minimum": 0, "description": "Maximum age of the oldest frequent backup in service types supporting different backup schedules"}, "infrequent_interval_minutes": {"type": "integer", "minimum": 0, "description": "Interval of taking an infrequent backup in service types supporting different backup schedules"}, "infrequent_oldest_age_minutes": {"type": "integer", "minimum": 0, "description": "Maximum age of the oldest infrequent backup in service types supporting different backup schedules"}, "interval": {"type": "integer", "minimum": 0, "description": "The interval, in hours, at which backups are generated. For some services, like PostgreSQL, this is the interval at which full snapshots are taken and continuous incremental backup stream is maintained in addition to that."}, "max_count": {"type": "integer", "minimum": 0, "description": "Maximum number of backups to keep. Zero when no backups are created."}, "recovery_mode": {"type": "string", "description": "Mechanism how backups can be restored. 'basic' means a backup is restored as is so that the system is restored to the state it was when the backup was generated. 'pitr' means point-in-time-recovery, which allows restoring the system to any state since the first available full snapshot.", "enum": ["basic", "pitr"]}}, "required": ["interval", "max_count", "recovery_mode"]}, "max_memory_percent": {"type": "integer", "minimum": 0, "maximum": 100, "description": "Maximum amount of system memory as a percentage (0-100) the service can actually use after taking into account management overhead. This is relevant for memory bound services for which some service management operations require allocating proportional amount of memory on top the basic load."}, "node_count": {"type": "integer", "minimum": 1, "maximum": 100, "description": "Number of nodes in this service plan"}, "regions": {"type": "object", "description": "Service plan hourly price per cloud region", "properties": {}}, "service_plan": {"type": "string", "maxLength": 128, "description": "Subscription plan"}, "service_type": {"type": "string", "maxLength": 64, "description": "Service type code"}, "shard_count": {"type": "integer", "minimum": 1, "description": "Number of shards in this service plan"}}, "required": ["backup_config", "service_plan", "service_type"]}}, "user_config_schema": {"type": "object", "description": "JSON-Schema for the 'user_config' properties", "properties": {}}}, "required": ["description", "service_plans", "user_config_schema"]}, "pg": {"type": "object", "description": "Service type information", "properties": {"default_version": {"type": "string", "description": "Default version of the service if no explicit version is defined"}, "description": {"type": "string", "description": "Single line description of the service"}, "latest_available_version": {"type": "string", "description": "Latest available version of the service"}, "service_plans": {"type": "array", "description": "List of plans available for this type of service", "items": {"type": "object", "properties": {"backup_config": {"type": "object", "description": "Backup configuration for this service plan", "properties": {"frequent_interval_minutes": {"type": "integer", "minimum": 0, "description": "Interval of taking a frequent backup in service types supporting different backup schedules"}, "frequent_oldest_age_minutes": {"type": "integer", "minimum": 0, "description": "Maximum age of the oldest frequent backup in service types supporting different backup schedules"}, "infrequent_interval_minutes": {"type": "integer", "minimum": 0, "description": "Interval of taking an infrequent backup in service types supporting different backup schedules"}, "infrequent_oldest_age_minutes": {"type": "integer", "minimum": 0, "description": "Maximum age of the oldest infrequent backup in service types supporting different backup schedules"}, "interval": {"type": "integer", "minimum": 0, "description": "The interval, in hours, at which backups are generated. For some services, like PostgreSQL, this is the interval at which full snapshots are taken and continuous incremental backup stream is maintained in addition to that."}, "max_count": {"type": "integer", "minimum": 0, "description": "Maximum number of backups to keep. Zero when no backups are created."}, "recovery_mode": {"type": "string", "description": "Mechanism how backups can be restored. 'basic' means a backup is restored as is so that the system is restored to the state it was when the backup was generated. 'pitr' means point-in-time-recovery, which allows restoring the system to any state since the first available full snapshot.", "enum": ["basic", "pitr"]}}, "required": ["interval", "max_count", "recovery_mode"]}, "max_memory_percent": {"type": "integer", "minimum": 0, "maximum": 100, "description": "Maximum amount of system memory as a percentage (0-100) the service can actually use after taking into account management overhead. This is relevant for memory bound services for which some service management operations require allocating proportional amount of memory on top the basic load."}, "node_count": {"type": "integer", "minimum": 1, "maximum": 100, "description": "Number of nodes in this service plan"}, "regions": {"type": "object", "description": "Service plan hourly price per cloud region", "properties": {}}, "service_plan": {"type": "string", "maxLength": 128, "description": "Subscription plan"}, "service_type": {"type": "string", "maxLength": 64, "description": "Service type code"}, "shard_count": {"type": "integer", "minimum": 1, "description": "Number of shards in this service plan"}}, "required": ["backup_config", "service_plan", "service_type"]}}, "user_config_schema": {"type": "object", "description": "JSON-Schema for the 'user_config' properties", "properties": {}}}, "required": ["description", "service_plans", "user_config_schema"]}, "redis": {"type": "object", "description": "Service type information", "properties": {"default_version": {"type": "string", "description": "Default version of the service if no explicit version is defined"}, "description": {"type": "string", "description": "Single line description of the service"}, "latest_available_version": {"type": "string", "description": "Latest available version of the service"}, "service_plans": {"type": "array", "description": "List of plans available for this type of service", "items": {"type": "object", "properties": {"backup_config": {"type": "object", "description": "Backup configuration for this service plan", "properties": {"frequent_interval_minutes": {"type": "integer", "minimum": 0, "description": "Interval of taking a frequent backup in service types supporting different backup schedules"}, "frequent_oldest_age_minutes": {"type": "integer", "minimum": 0, "description": "Maximum age of the oldest frequent backup in service types supporting different backup schedules"}, "infrequent_interval_minutes": {"type": "integer", "minimum": 0, "description": "Interval of taking an infrequent backup in service types supporting different backup schedules"}, "infrequent_oldest_age_minutes": {"type": "integer", "minimum": 0, "description": "Maximum age of the oldest infrequent backup in service types supporting different backup schedules"}, "interval": {"type": "integer", "minimum": 0, "description": "The interval, in hours, at which backups are generated. For some services, like PostgreSQL, this is the interval at which full snapshots are taken and continuous incremental backup stream is maintained in addition to that."}, "max_count": {"type": "integer", "minimum": 0, "description": "Maximum number of backups to keep. Zero when no backups are created."}, "recovery_mode": {"type": "string", "description": "Mechanism how backups can be restored. 'basic' means a backup is restored as is so that the system is restored to the state it was when the backup was generated. 'pitr' means point-in-time-recovery, which allows restoring the system to any state since the first available full snapshot.", "enum": ["basic", "pitr"]}}, "required": ["interval", "max_count", "recovery_mode"]}, "max_memory_percent": {"type": "integer", "minimum": 0, "maximum": 100, "description": "Maximum amount of system memory as a percentage (0-100) the service can actually use after taking into account management overhead. This is relevant for memory bound services for which some service management operations require allocating proportional amount of memory on top the basic load."}, "node_count": {"type": "integer", "minimum": 1, "maximum": 100, "description": "Number of nodes in this service plan"}, "regions": {"type": "object", "description": "Service plan hourly price per cloud region", "properties": {}}, "service_plan": {"type": "string", "maxLength": 128, "description": "Subscription plan"}, "service_type": {"type": "string", "maxLength": 64, "description": "Service type code"}, "shard_count": {"type": "integer", "minimum": 1, "description": "Number of shards in this service plan"}}, "required": ["backup_config", "service_plan", "service_type"]}}, "user_config_schema": {"type": "object", "description": "JSON-Schema for the 'user_config' properties", "properties": {}}}, "required": ["description", "service_plans", "user_config_schema"]}, "thanos": {"type": "object", "description": "Service type information", "properties": {"default_version": {"type": "string", "description": "Default version of the service if no explicit version is defined"}, "description": {"type": "string", "description": "Single line description of the service"}, "latest_available_version": {"type": "string", "description": "Latest available version of the service"}, "service_plans": {"type": "array", "description": "List of plans available for this type of service", "items": {"type": "object", "properties": {"backup_config": {"type": "object", "description": "Backup configuration for this service plan", "properties": {"frequent_interval_minutes": {"type": "integer", "minimum": 0, "description": "Interval of taking a frequent backup in service types supporting different backup schedules"}, "frequent_oldest_age_minutes": {"type": "integer", "minimum": 0, "description": "Maximum age of the oldest frequent backup in service types supporting different backup schedules"}, "infrequent_interval_minutes": {"type": "integer", "minimum": 0, "description": "Interval of taking an infrequent backup in service types supporting different backup schedules"}, "infrequent_oldest_age_minutes": {"type": "integer", "minimum": 0, "description": "Maximum age of the oldest infrequent backup in service types supporting different backup schedules"}, "interval": {"type": "integer", "minimum": 0, "description": "The interval, in hours, at which backups are generated. For some services, like PostgreSQL, this is the interval at which full snapshots are taken and continuous incremental backup stream is maintained in addition to that."}, "max_count": {"type": "integer", "minimum": 0, "description": "Maximum number of backups to keep. Zero when no backups are created."}, "recovery_mode": {"type": "string", "description": "Mechanism how backups can be restored. 'basic' means a backup is restored as is so that the system is restored to the state it was when the backup was generated. 'pitr' means point-in-time-recovery, which allows restoring the system to any state since the first available full snapshot.", "enum": ["basic", "pitr"]}}, "required": ["interval", "max_count", "recovery_mode"]}, "max_memory_percent": {"type": "integer", "minimum": 0, "maximum": 100, "description": "Maximum amount of system memory as a percentage (0-100) the service can actually use after taking into account management overhead. This is relevant for memory bound services for which some service management operations require allocating proportional amount of memory on top the basic load."}, "node_count": {"type": "integer", "minimum": 1, "maximum": 100, "description": "Number of nodes in this service plan"}, "regions": {"type": "object", "description": "Service plan hourly price per cloud region", "properties": {}}, "service_plan": {"type": "string", "maxLength": 128, "description": "Subscription plan"}, "service_type": {"type": "string", "maxLength": 64, "description": "Service type code"}, "shard_count": {"type": "integer", "minimum": 1, "description": "Number of shards in this service plan"}}, "required": ["backup_config", "service_plan", "service_type"]}}, "user_config_schema": {"type": "object", "description": "JSON-Schema for the 'user_config' properties", "properties": {}}}, "required": ["description", "service_plans", "user_config_schema"]}, "valkey": {"type": "object", "description": "Service type information", "properties": {"default_version": {"type": "string", "description": "Default version of the service if no explicit version is defined"}, "description": {"type": "string", "description": "Single line description of the service"}, "latest_available_version": {"type": "string", "description": "Latest available version of the service"}, "service_plans": {"type": "array", "description": "List of plans available for this type of service", "items": {"type": "object", "properties": {"backup_config": {"type": "object", "description": "Backup configuration for this service plan", "properties": {"frequent_interval_minutes": {"type": "integer", "minimum": 0, "description": "Interval of taking a frequent backup in service types supporting different backup schedules"}, "frequent_oldest_age_minutes": {"type": "integer", "minimum": 0, "description": "Maximum age of the oldest frequent backup in service types supporting different backup schedules"}, "infrequent_interval_minutes": {"type": "integer", "minimum": 0, "description": "Interval of taking an infrequent backup in service types supporting different backup schedules"}, "infrequent_oldest_age_minutes": {"type": "integer", "minimum": 0, "description": "Maximum age of the oldest infrequent backup in service types supporting different backup schedules"}, "interval": {"type": "integer", "minimum": 0, "description": "The interval, in hours, at which backups are generated. For some services, like PostgreSQL, this is the interval at which full snapshots are taken and continuous incremental backup stream is maintained in addition to that."}, "max_count": {"type": "integer", "minimum": 0, "description": "Maximum number of backups to keep. Zero when no backups are created."}, "recovery_mode": {"type": "string", "description": "Mechanism how backups can be restored. 'basic' means a backup is restored as is so that the system is restored to the state it was when the backup was generated. 'pitr' means point-in-time-recovery, which allows restoring the system to any state since the first available full snapshot.", "enum": ["basic", "pitr"]}}, "required": ["interval", "max_count", "recovery_mode"]}, "max_memory_percent": {"type": "integer", "minimum": 0, "maximum": 100, "description": "Maximum amount of system memory as a percentage (0-100) the service can actually use after taking into account management overhead. This is relevant for memory bound services for which some service management operations require allocating proportional amount of memory on top the basic load."}, "node_count": {"type": "integer", "minimum": 1, "maximum": 100, "description": "Number of nodes in this service plan"}, "regions": {"type": "object", "description": "Service plan hourly price per cloud region", "properties": {}}, "service_plan": {"type": "string", "maxLength": 128, "description": "Subscription plan"}, "service_type": {"type": "string", "maxLength": 64, "description": "Service type code"}, "shard_count": {"type": "integer", "minimum": 1, "description": "Number of shards in this service plan"}}, "required": ["backup_config", "service_plan", "service_type"]}}, "user_config_schema": {"type": "object", "description": "JSON-Schema for the 'user_config' properties", "properties": {}}}, "required": ["description", "service_plans", "user_config_schema"]}}}}, "required": ["service_types"]}, "ListPublicServiceTypesResponse": {"type": "object", "description": "ListPublicServiceTypesResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "service_types": {"type": "object", "description": "Service plans by service type", "properties": {"alloydbomni": {"type": "object", "description": "Service type information", "properties": {"default_version": {"type": "string", "description": "Default version of the service if no explicit version is defined"}, "description": {"type": "string", "description": "Single line description of the service"}, "latest_available_version": {"type": "string", "description": "Latest available version of the service"}, "service_plans": {"type": "array", "description": "List of plans available for this type of service", "items": {"type": "object", "properties": {"backup_config": {"type": "object", "description": "Backup configuration for this service plan", "properties": {"frequent_interval_minutes": {"type": "integer", "minimum": 0, "description": "Interval of taking a frequent backup in service types supporting different backup schedules"}, "frequent_oldest_age_minutes": {"type": "integer", "minimum": 0, "description": "Maximum age of the oldest frequent backup in service types supporting different backup schedules"}, "infrequent_interval_minutes": {"type": "integer", "minimum": 0, "description": "Interval of taking an infrequent backup in service types supporting different backup schedules"}, "infrequent_oldest_age_minutes": {"type": "integer", "minimum": 0, "description": "Maximum age of the oldest infrequent backup in service types supporting different backup schedules"}, "interval": {"type": "integer", "minimum": 0, "description": "The interval, in hours, at which backups are generated. For some services, like PostgreSQL, this is the interval at which full snapshots are taken and continuous incremental backup stream is maintained in addition to that."}, "max_count": {"type": "integer", "minimum": 0, "description": "Maximum number of backups to keep. Zero when no backups are created."}, "recovery_mode": {"type": "string", "description": "Mechanism how backups can be restored. 'basic' means a backup is restored as is so that the system is restored to the state it was when the backup was generated. 'pitr' means point-in-time-recovery, which allows restoring the system to any state since the first available full snapshot.", "enum": ["basic", "pitr"]}}, "required": ["interval", "max_count", "recovery_mode"]}, "max_memory_percent": {"type": "integer", "minimum": 0, "maximum": 100, "description": "Maximum amount of system memory as a percentage (0-100) the service can actually use after taking into account management overhead. This is relevant for memory bound services for which some service management operations require allocating proportional amount of memory on top the basic load."}, "node_count": {"type": "integer", "minimum": 1, "maximum": 100, "description": "Number of nodes in this service plan"}, "regions": {"type": "object", "description": "Service plan hourly price per cloud region", "properties": {}}, "service_plan": {"type": "string", "maxLength": 128, "description": "Subscription plan"}, "service_type": {"type": "string", "maxLength": 64, "description": "Service type code"}, "shard_count": {"type": "integer", "minimum": 1, "description": "Number of shards in this service plan"}}, "required": ["backup_config", "service_plan", "service_type"]}}, "user_config_schema": {"type": "object", "description": "JSON-Schema for the 'user_config' properties", "properties": {}}}, "required": ["description", "service_plans", "user_config_schema"]}, "cassandra": {"type": "object", "description": "Service type information", "properties": {"default_version": {"type": "string", "description": "Default version of the service if no explicit version is defined"}, "description": {"type": "string", "description": "Single line description of the service"}, "latest_available_version": {"type": "string", "description": "Latest available version of the service"}, "service_plans": {"type": "array", "description": "List of plans available for this type of service", "items": {"type": "object", "properties": {"backup_config": {"type": "object", "description": "Backup configuration for this service plan", "properties": {"frequent_interval_minutes": {"type": "integer", "minimum": 0, "description": "Interval of taking a frequent backup in service types supporting different backup schedules"}, "frequent_oldest_age_minutes": {"type": "integer", "minimum": 0, "description": "Maximum age of the oldest frequent backup in service types supporting different backup schedules"}, "infrequent_interval_minutes": {"type": "integer", "minimum": 0, "description": "Interval of taking an infrequent backup in service types supporting different backup schedules"}, "infrequent_oldest_age_minutes": {"type": "integer", "minimum": 0, "description": "Maximum age of the oldest infrequent backup in service types supporting different backup schedules"}, "interval": {"type": "integer", "minimum": 0, "description": "The interval, in hours, at which backups are generated. For some services, like PostgreSQL, this is the interval at which full snapshots are taken and continuous incremental backup stream is maintained in addition to that."}, "max_count": {"type": "integer", "minimum": 0, "description": "Maximum number of backups to keep. Zero when no backups are created."}, "recovery_mode": {"type": "string", "description": "Mechanism how backups can be restored. 'basic' means a backup is restored as is so that the system is restored to the state it was when the backup was generated. 'pitr' means point-in-time-recovery, which allows restoring the system to any state since the first available full snapshot.", "enum": ["basic", "pitr"]}}, "required": ["interval", "max_count", "recovery_mode"]}, "max_memory_percent": {"type": "integer", "minimum": 0, "maximum": 100, "description": "Maximum amount of system memory as a percentage (0-100) the service can actually use after taking into account management overhead. This is relevant for memory bound services for which some service management operations require allocating proportional amount of memory on top the basic load."}, "node_count": {"type": "integer", "minimum": 1, "maximum": 100, "description": "Number of nodes in this service plan"}, "regions": {"type": "object", "description": "Service plan hourly price per cloud region", "properties": {}}, "service_plan": {"type": "string", "maxLength": 128, "description": "Subscription plan"}, "service_type": {"type": "string", "maxLength": 64, "description": "Service type code"}, "shard_count": {"type": "integer", "minimum": 1, "description": "Number of shards in this service plan"}}, "required": ["backup_config", "service_plan", "service_type"]}}, "user_config_schema": {"type": "object", "description": "JSON-Schema for the 'user_config' properties", "properties": {}}}, "required": ["description", "service_plans", "user_config_schema"]}, "clickhouse": {"type": "object", "description": "Service type information", "properties": {"default_version": {"type": "string", "description": "Default version of the service if no explicit version is defined"}, "description": {"type": "string", "description": "Single line description of the service"}, "latest_available_version": {"type": "string", "description": "Latest available version of the service"}, "service_plans": {"type": "array", "description": "List of plans available for this type of service", "items": {"type": "object", "properties": {"backup_config": {"type": "object", "description": "Backup configuration for this service plan", "properties": {"frequent_interval_minutes": {"type": "integer", "minimum": 0, "description": "Interval of taking a frequent backup in service types supporting different backup schedules"}, "frequent_oldest_age_minutes": {"type": "integer", "minimum": 0, "description": "Maximum age of the oldest frequent backup in service types supporting different backup schedules"}, "infrequent_interval_minutes": {"type": "integer", "minimum": 0, "description": "Interval of taking an infrequent backup in service types supporting different backup schedules"}, "infrequent_oldest_age_minutes": {"type": "integer", "minimum": 0, "description": "Maximum age of the oldest infrequent backup in service types supporting different backup schedules"}, "interval": {"type": "integer", "minimum": 0, "description": "The interval, in hours, at which backups are generated. For some services, like PostgreSQL, this is the interval at which full snapshots are taken and continuous incremental backup stream is maintained in addition to that."}, "max_count": {"type": "integer", "minimum": 0, "description": "Maximum number of backups to keep. Zero when no backups are created."}, "recovery_mode": {"type": "string", "description": "Mechanism how backups can be restored. 'basic' means a backup is restored as is so that the system is restored to the state it was when the backup was generated. 'pitr' means point-in-time-recovery, which allows restoring the system to any state since the first available full snapshot.", "enum": ["basic", "pitr"]}}, "required": ["interval", "max_count", "recovery_mode"]}, "max_memory_percent": {"type": "integer", "minimum": 0, "maximum": 100, "description": "Maximum amount of system memory as a percentage (0-100) the service can actually use after taking into account management overhead. This is relevant for memory bound services for which some service management operations require allocating proportional amount of memory on top the basic load."}, "node_count": {"type": "integer", "minimum": 1, "maximum": 100, "description": "Number of nodes in this service plan"}, "regions": {"type": "object", "description": "Service plan hourly price per cloud region", "properties": {}}, "service_plan": {"type": "string", "maxLength": 128, "description": "Subscription plan"}, "service_type": {"type": "string", "maxLength": 64, "description": "Service type code"}, "shard_count": {"type": "integer", "minimum": 1, "description": "Number of shards in this service plan"}}, "required": ["backup_config", "service_plan", "service_type"]}}, "user_config_schema": {"type": "object", "description": "JSON-Schema for the 'user_config' properties", "properties": {}}}, "required": ["description", "service_plans", "user_config_schema"]}, "dragonfly": {"type": "object", "description": "Service type information", "properties": {"default_version": {"type": "string", "description": "Default version of the service if no explicit version is defined"}, "description": {"type": "string", "description": "Single line description of the service"}, "latest_available_version": {"type": "string", "description": "Latest available version of the service"}, "service_plans": {"type": "array", "description": "List of plans available for this type of service", "items": {"type": "object", "properties": {"backup_config": {"type": "object", "description": "Backup configuration for this service plan", "properties": {"frequent_interval_minutes": {"type": "integer", "minimum": 0, "description": "Interval of taking a frequent backup in service types supporting different backup schedules"}, "frequent_oldest_age_minutes": {"type": "integer", "minimum": 0, "description": "Maximum age of the oldest frequent backup in service types supporting different backup schedules"}, "infrequent_interval_minutes": {"type": "integer", "minimum": 0, "description": "Interval of taking an infrequent backup in service types supporting different backup schedules"}, "infrequent_oldest_age_minutes": {"type": "integer", "minimum": 0, "description": "Maximum age of the oldest infrequent backup in service types supporting different backup schedules"}, "interval": {"type": "integer", "minimum": 0, "description": "The interval, in hours, at which backups are generated. For some services, like PostgreSQL, this is the interval at which full snapshots are taken and continuous incremental backup stream is maintained in addition to that."}, "max_count": {"type": "integer", "minimum": 0, "description": "Maximum number of backups to keep. Zero when no backups are created."}, "recovery_mode": {"type": "string", "description": "Mechanism how backups can be restored. 'basic' means a backup is restored as is so that the system is restored to the state it was when the backup was generated. 'pitr' means point-in-time-recovery, which allows restoring the system to any state since the first available full snapshot.", "enum": ["basic", "pitr"]}}, "required": ["interval", "max_count", "recovery_mode"]}, "max_memory_percent": {"type": "integer", "minimum": 0, "maximum": 100, "description": "Maximum amount of system memory as a percentage (0-100) the service can actually use after taking into account management overhead. This is relevant for memory bound services for which some service management operations require allocating proportional amount of memory on top the basic load."}, "node_count": {"type": "integer", "minimum": 1, "maximum": 100, "description": "Number of nodes in this service plan"}, "regions": {"type": "object", "description": "Service plan hourly price per cloud region", "properties": {}}, "service_plan": {"type": "string", "maxLength": 128, "description": "Subscription plan"}, "service_type": {"type": "string", "maxLength": 64, "description": "Service type code"}, "shard_count": {"type": "integer", "minimum": 1, "description": "Number of shards in this service plan"}}, "required": ["backup_config", "service_plan", "service_type"]}}, "user_config_schema": {"type": "object", "description": "JSON-Schema for the 'user_config' properties", "properties": {}}}, "required": ["description", "service_plans", "user_config_schema"]}, "elasticsearch": {"type": "object", "description": "Service type information", "properties": {"default_version": {"type": "string", "description": "Default version of the service if no explicit version is defined"}, "description": {"type": "string", "description": "Single line description of the service"}, "latest_available_version": {"type": "string", "description": "Latest available version of the service"}, "service_plans": {"type": "array", "description": "List of plans available for this type of service", "items": {"type": "object", "properties": {"backup_config": {"type": "object", "description": "Backup configuration for this service plan", "properties": {"frequent_interval_minutes": {"type": "integer", "minimum": 0, "description": "Interval of taking a frequent backup in service types supporting different backup schedules"}, "frequent_oldest_age_minutes": {"type": "integer", "minimum": 0, "description": "Maximum age of the oldest frequent backup in service types supporting different backup schedules"}, "infrequent_interval_minutes": {"type": "integer", "minimum": 0, "description": "Interval of taking an infrequent backup in service types supporting different backup schedules"}, "infrequent_oldest_age_minutes": {"type": "integer", "minimum": 0, "description": "Maximum age of the oldest infrequent backup in service types supporting different backup schedules"}, "interval": {"type": "integer", "minimum": 0, "description": "The interval, in hours, at which backups are generated. For some services, like PostgreSQL, this is the interval at which full snapshots are taken and continuous incremental backup stream is maintained in addition to that."}, "max_count": {"type": "integer", "minimum": 0, "description": "Maximum number of backups to keep. Zero when no backups are created."}, "recovery_mode": {"type": "string", "description": "Mechanism how backups can be restored. 'basic' means a backup is restored as is so that the system is restored to the state it was when the backup was generated. 'pitr' means point-in-time-recovery, which allows restoring the system to any state since the first available full snapshot.", "enum": ["basic", "pitr"]}}, "required": ["interval", "max_count", "recovery_mode"]}, "max_memory_percent": {"type": "integer", "minimum": 0, "maximum": 100, "description": "Maximum amount of system memory as a percentage (0-100) the service can actually use after taking into account management overhead. This is relevant for memory bound services for which some service management operations require allocating proportional amount of memory on top the basic load."}, "node_count": {"type": "integer", "minimum": 1, "maximum": 100, "description": "Number of nodes in this service plan"}, "regions": {"type": "object", "description": "Service plan hourly price per cloud region", "properties": {}}, "service_plan": {"type": "string", "maxLength": 128, "description": "Subscription plan"}, "service_type": {"type": "string", "maxLength": 64, "description": "Service type code"}, "shard_count": {"type": "integer", "minimum": 1, "description": "Number of shards in this service plan"}}, "required": ["backup_config", "service_plan", "service_type"]}}, "user_config_schema": {"type": "object", "description": "JSON-Schema for the 'user_config' properties", "properties": {}}}, "required": ["description", "service_plans", "user_config_schema"]}, "flink": {"type": "object", "description": "Service type information", "properties": {"default_version": {"type": "string", "description": "Default version of the service if no explicit version is defined"}, "description": {"type": "string", "description": "Single line description of the service"}, "latest_available_version": {"type": "string", "description": "Latest available version of the service"}, "service_plans": {"type": "array", "description": "List of plans available for this type of service", "items": {"type": "object", "properties": {"backup_config": {"type": "object", "description": "Backup configuration for this service plan", "properties": {"frequent_interval_minutes": {"type": "integer", "minimum": 0, "description": "Interval of taking a frequent backup in service types supporting different backup schedules"}, "frequent_oldest_age_minutes": {"type": "integer", "minimum": 0, "description": "Maximum age of the oldest frequent backup in service types supporting different backup schedules"}, "infrequent_interval_minutes": {"type": "integer", "minimum": 0, "description": "Interval of taking an infrequent backup in service types supporting different backup schedules"}, "infrequent_oldest_age_minutes": {"type": "integer", "minimum": 0, "description": "Maximum age of the oldest infrequent backup in service types supporting different backup schedules"}, "interval": {"type": "integer", "minimum": 0, "description": "The interval, in hours, at which backups are generated. For some services, like PostgreSQL, this is the interval at which full snapshots are taken and continuous incremental backup stream is maintained in addition to that."}, "max_count": {"type": "integer", "minimum": 0, "description": "Maximum number of backups to keep. Zero when no backups are created."}, "recovery_mode": {"type": "string", "description": "Mechanism how backups can be restored. 'basic' means a backup is restored as is so that the system is restored to the state it was when the backup was generated. 'pitr' means point-in-time-recovery, which allows restoring the system to any state since the first available full snapshot.", "enum": ["basic", "pitr"]}}, "required": ["interval", "max_count", "recovery_mode"]}, "max_memory_percent": {"type": "integer", "minimum": 0, "maximum": 100, "description": "Maximum amount of system memory as a percentage (0-100) the service can actually use after taking into account management overhead. This is relevant for memory bound services for which some service management operations require allocating proportional amount of memory on top the basic load."}, "node_count": {"type": "integer", "minimum": 1, "maximum": 100, "description": "Number of nodes in this service plan"}, "regions": {"type": "object", "description": "Service plan hourly price per cloud region", "properties": {}}, "service_plan": {"type": "string", "maxLength": 128, "description": "Subscription plan"}, "service_type": {"type": "string", "maxLength": 64, "description": "Service type code"}, "shard_count": {"type": "integer", "minimum": 1, "description": "Number of shards in this service plan"}}, "required": ["backup_config", "service_plan", "service_type"]}}, "user_config_schema": {"type": "object", "description": "JSON-Schema for the 'user_config' properties", "properties": {}}}, "required": ["description", "service_plans", "user_config_schema"]}, "grafana": {"type": "object", "description": "Service type information", "properties": {"default_version": {"type": "string", "description": "Default version of the service if no explicit version is defined"}, "description": {"type": "string", "description": "Single line description of the service"}, "latest_available_version": {"type": "string", "description": "Latest available version of the service"}, "service_plans": {"type": "array", "description": "List of plans available for this type of service", "items": {"type": "object", "properties": {"backup_config": {"type": "object", "description": "Backup configuration for this service plan", "properties": {"frequent_interval_minutes": {"type": "integer", "minimum": 0, "description": "Interval of taking a frequent backup in service types supporting different backup schedules"}, "frequent_oldest_age_minutes": {"type": "integer", "minimum": 0, "description": "Maximum age of the oldest frequent backup in service types supporting different backup schedules"}, "infrequent_interval_minutes": {"type": "integer", "minimum": 0, "description": "Interval of taking an infrequent backup in service types supporting different backup schedules"}, "infrequent_oldest_age_minutes": {"type": "integer", "minimum": 0, "description": "Maximum age of the oldest infrequent backup in service types supporting different backup schedules"}, "interval": {"type": "integer", "minimum": 0, "description": "The interval, in hours, at which backups are generated. For some services, like PostgreSQL, this is the interval at which full snapshots are taken and continuous incremental backup stream is maintained in addition to that."}, "max_count": {"type": "integer", "minimum": 0, "description": "Maximum number of backups to keep. Zero when no backups are created."}, "recovery_mode": {"type": "string", "description": "Mechanism how backups can be restored. 'basic' means a backup is restored as is so that the system is restored to the state it was when the backup was generated. 'pitr' means point-in-time-recovery, which allows restoring the system to any state since the first available full snapshot.", "enum": ["basic", "pitr"]}}, "required": ["interval", "max_count", "recovery_mode"]}, "max_memory_percent": {"type": "integer", "minimum": 0, "maximum": 100, "description": "Maximum amount of system memory as a percentage (0-100) the service can actually use after taking into account management overhead. This is relevant for memory bound services for which some service management operations require allocating proportional amount of memory on top the basic load."}, "node_count": {"type": "integer", "minimum": 1, "maximum": 100, "description": "Number of nodes in this service plan"}, "regions": {"type": "object", "description": "Service plan hourly price per cloud region", "properties": {}}, "service_plan": {"type": "string", "maxLength": 128, "description": "Subscription plan"}, "service_type": {"type": "string", "maxLength": 64, "description": "Service type code"}, "shard_count": {"type": "integer", "minimum": 1, "description": "Number of shards in this service plan"}}, "required": ["backup_config", "service_plan", "service_type"]}}, "user_config_schema": {"type": "object", "description": "JSON-Schema for the 'user_config' properties", "properties": {}}}, "required": ["description", "service_plans", "user_config_schema"]}, "influxdb": {"type": "object", "description": "Service type information", "properties": {"default_version": {"type": "string", "description": "Default version of the service if no explicit version is defined"}, "description": {"type": "string", "description": "Single line description of the service"}, "latest_available_version": {"type": "string", "description": "Latest available version of the service"}, "service_plans": {"type": "array", "description": "List of plans available for this type of service", "items": {"type": "object", "properties": {"backup_config": {"type": "object", "description": "Backup configuration for this service plan", "properties": {"frequent_interval_minutes": {"type": "integer", "minimum": 0, "description": "Interval of taking a frequent backup in service types supporting different backup schedules"}, "frequent_oldest_age_minutes": {"type": "integer", "minimum": 0, "description": "Maximum age of the oldest frequent backup in service types supporting different backup schedules"}, "infrequent_interval_minutes": {"type": "integer", "minimum": 0, "description": "Interval of taking an infrequent backup in service types supporting different backup schedules"}, "infrequent_oldest_age_minutes": {"type": "integer", "minimum": 0, "description": "Maximum age of the oldest infrequent backup in service types supporting different backup schedules"}, "interval": {"type": "integer", "minimum": 0, "description": "The interval, in hours, at which backups are generated. For some services, like PostgreSQL, this is the interval at which full snapshots are taken and continuous incremental backup stream is maintained in addition to that."}, "max_count": {"type": "integer", "minimum": 0, "description": "Maximum number of backups to keep. Zero when no backups are created."}, "recovery_mode": {"type": "string", "description": "Mechanism how backups can be restored. 'basic' means a backup is restored as is so that the system is restored to the state it was when the backup was generated. 'pitr' means point-in-time-recovery, which allows restoring the system to any state since the first available full snapshot.", "enum": ["basic", "pitr"]}}, "required": ["interval", "max_count", "recovery_mode"]}, "max_memory_percent": {"type": "integer", "minimum": 0, "maximum": 100, "description": "Maximum amount of system memory as a percentage (0-100) the service can actually use after taking into account management overhead. This is relevant for memory bound services for which some service management operations require allocating proportional amount of memory on top the basic load."}, "node_count": {"type": "integer", "minimum": 1, "maximum": 100, "description": "Number of nodes in this service plan"}, "regions": {"type": "object", "description": "Service plan hourly price per cloud region", "properties": {}}, "service_plan": {"type": "string", "maxLength": 128, "description": "Subscription plan"}, "service_type": {"type": "string", "maxLength": 64, "description": "Service type code"}, "shard_count": {"type": "integer", "minimum": 1, "description": "Number of shards in this service plan"}}, "required": ["backup_config", "service_plan", "service_type"]}}, "user_config_schema": {"type": "object", "description": "JSON-Schema for the 'user_config' properties", "properties": {}}}, "required": ["description", "service_plans", "user_config_schema"]}, "kafka": {"type": "object", "description": "Service type information", "properties": {"default_version": {"type": "string", "description": "Default version of the service if no explicit version is defined"}, "description": {"type": "string", "description": "Single line description of the service"}, "latest_available_version": {"type": "string", "description": "Latest available version of the service"}, "service_plans": {"type": "array", "description": "List of plans available for this type of service", "items": {"type": "object", "properties": {"backup_config": {"type": "object", "description": "Backup configuration for this service plan", "properties": {"frequent_interval_minutes": {"type": "integer", "minimum": 0, "description": "Interval of taking a frequent backup in service types supporting different backup schedules"}, "frequent_oldest_age_minutes": {"type": "integer", "minimum": 0, "description": "Maximum age of the oldest frequent backup in service types supporting different backup schedules"}, "infrequent_interval_minutes": {"type": "integer", "minimum": 0, "description": "Interval of taking an infrequent backup in service types supporting different backup schedules"}, "infrequent_oldest_age_minutes": {"type": "integer", "minimum": 0, "description": "Maximum age of the oldest infrequent backup in service types supporting different backup schedules"}, "interval": {"type": "integer", "minimum": 0, "description": "The interval, in hours, at which backups are generated. For some services, like PostgreSQL, this is the interval at which full snapshots are taken and continuous incremental backup stream is maintained in addition to that."}, "max_count": {"type": "integer", "minimum": 0, "description": "Maximum number of backups to keep. Zero when no backups are created."}, "recovery_mode": {"type": "string", "description": "Mechanism how backups can be restored. 'basic' means a backup is restored as is so that the system is restored to the state it was when the backup was generated. 'pitr' means point-in-time-recovery, which allows restoring the system to any state since the first available full snapshot.", "enum": ["basic", "pitr"]}}, "required": ["interval", "max_count", "recovery_mode"]}, "max_memory_percent": {"type": "integer", "minimum": 0, "maximum": 100, "description": "Maximum amount of system memory as a percentage (0-100) the service can actually use after taking into account management overhead. This is relevant for memory bound services for which some service management operations require allocating proportional amount of memory on top the basic load."}, "node_count": {"type": "integer", "minimum": 1, "maximum": 100, "description": "Number of nodes in this service plan"}, "regions": {"type": "object", "description": "Service plan hourly price per cloud region", "properties": {}}, "service_plan": {"type": "string", "maxLength": 128, "description": "Subscription plan"}, "service_type": {"type": "string", "maxLength": 64, "description": "Service type code"}, "shard_count": {"type": "integer", "minimum": 1, "description": "Number of shards in this service plan"}}, "required": ["backup_config", "service_plan", "service_type"]}}, "user_config_schema": {"type": "object", "description": "JSON-Schema for the 'user_config' properties", "properties": {}}}, "required": ["description", "service_plans", "user_config_schema"]}, "kafka_connect": {"type": "object", "description": "Service type information", "properties": {"default_version": {"type": "string", "description": "Default version of the service if no explicit version is defined"}, "description": {"type": "string", "description": "Single line description of the service"}, "latest_available_version": {"type": "string", "description": "Latest available version of the service"}, "service_plans": {"type": "array", "description": "List of plans available for this type of service", "items": {"type": "object", "properties": {"backup_config": {"type": "object", "description": "Backup configuration for this service plan", "properties": {"frequent_interval_minutes": {"type": "integer", "minimum": 0, "description": "Interval of taking a frequent backup in service types supporting different backup schedules"}, "frequent_oldest_age_minutes": {"type": "integer", "minimum": 0, "description": "Maximum age of the oldest frequent backup in service types supporting different backup schedules"}, "infrequent_interval_minutes": {"type": "integer", "minimum": 0, "description": "Interval of taking an infrequent backup in service types supporting different backup schedules"}, "infrequent_oldest_age_minutes": {"type": "integer", "minimum": 0, "description": "Maximum age of the oldest infrequent backup in service types supporting different backup schedules"}, "interval": {"type": "integer", "minimum": 0, "description": "The interval, in hours, at which backups are generated. For some services, like PostgreSQL, this is the interval at which full snapshots are taken and continuous incremental backup stream is maintained in addition to that."}, "max_count": {"type": "integer", "minimum": 0, "description": "Maximum number of backups to keep. Zero when no backups are created."}, "recovery_mode": {"type": "string", "description": "Mechanism how backups can be restored. 'basic' means a backup is restored as is so that the system is restored to the state it was when the backup was generated. 'pitr' means point-in-time-recovery, which allows restoring the system to any state since the first available full snapshot.", "enum": ["basic", "pitr"]}}, "required": ["interval", "max_count", "recovery_mode"]}, "max_memory_percent": {"type": "integer", "minimum": 0, "maximum": 100, "description": "Maximum amount of system memory as a percentage (0-100) the service can actually use after taking into account management overhead. This is relevant for memory bound services for which some service management operations require allocating proportional amount of memory on top the basic load."}, "node_count": {"type": "integer", "minimum": 1, "maximum": 100, "description": "Number of nodes in this service plan"}, "regions": {"type": "object", "description": "Service plan hourly price per cloud region", "properties": {}}, "service_plan": {"type": "string", "maxLength": 128, "description": "Subscription plan"}, "service_type": {"type": "string", "maxLength": 64, "description": "Service type code"}, "shard_count": {"type": "integer", "minimum": 1, "description": "Number of shards in this service plan"}}, "required": ["backup_config", "service_plan", "service_type"]}}, "user_config_schema": {"type": "object", "description": "JSON-Schema for the 'user_config' properties", "properties": {}}}, "required": ["description", "service_plans", "user_config_schema"]}, "kafka_mirrormaker": {"type": "object", "description": "Service type information", "properties": {"default_version": {"type": "string", "description": "Default version of the service if no explicit version is defined"}, "description": {"type": "string", "description": "Single line description of the service"}, "latest_available_version": {"type": "string", "description": "Latest available version of the service"}, "service_plans": {"type": "array", "description": "List of plans available for this type of service", "items": {"type": "object", "properties": {"backup_config": {"type": "object", "description": "Backup configuration for this service plan", "properties": {"frequent_interval_minutes": {"type": "integer", "minimum": 0, "description": "Interval of taking a frequent backup in service types supporting different backup schedules"}, "frequent_oldest_age_minutes": {"type": "integer", "minimum": 0, "description": "Maximum age of the oldest frequent backup in service types supporting different backup schedules"}, "infrequent_interval_minutes": {"type": "integer", "minimum": 0, "description": "Interval of taking an infrequent backup in service types supporting different backup schedules"}, "infrequent_oldest_age_minutes": {"type": "integer", "minimum": 0, "description": "Maximum age of the oldest infrequent backup in service types supporting different backup schedules"}, "interval": {"type": "integer", "minimum": 0, "description": "The interval, in hours, at which backups are generated. For some services, like PostgreSQL, this is the interval at which full snapshots are taken and continuous incremental backup stream is maintained in addition to that."}, "max_count": {"type": "integer", "minimum": 0, "description": "Maximum number of backups to keep. Zero when no backups are created."}, "recovery_mode": {"type": "string", "description": "Mechanism how backups can be restored. 'basic' means a backup is restored as is so that the system is restored to the state it was when the backup was generated. 'pitr' means point-in-time-recovery, which allows restoring the system to any state since the first available full snapshot.", "enum": ["basic", "pitr"]}}, "required": ["interval", "max_count", "recovery_mode"]}, "max_memory_percent": {"type": "integer", "minimum": 0, "maximum": 100, "description": "Maximum amount of system memory as a percentage (0-100) the service can actually use after taking into account management overhead. This is relevant for memory bound services for which some service management operations require allocating proportional amount of memory on top the basic load."}, "node_count": {"type": "integer", "minimum": 1, "maximum": 100, "description": "Number of nodes in this service plan"}, "regions": {"type": "object", "description": "Service plan hourly price per cloud region", "properties": {}}, "service_plan": {"type": "string", "maxLength": 128, "description": "Subscription plan"}, "service_type": {"type": "string", "maxLength": 64, "description": "Service type code"}, "shard_count": {"type": "integer", "minimum": 1, "description": "Number of shards in this service plan"}}, "required": ["backup_config", "service_plan", "service_type"]}}, "user_config_schema": {"type": "object", "description": "JSON-Schema for the 'user_config' properties", "properties": {}}}, "required": ["description", "service_plans", "user_config_schema"]}, "m3aggregator": {"type": "object", "description": "Service type information", "properties": {"default_version": {"type": "string", "description": "Default version of the service if no explicit version is defined"}, "description": {"type": "string", "description": "Single line description of the service"}, "latest_available_version": {"type": "string", "description": "Latest available version of the service"}, "service_plans": {"type": "array", "description": "List of plans available for this type of service", "items": {"type": "object", "properties": {"backup_config": {"type": "object", "description": "Backup configuration for this service plan", "properties": {"frequent_interval_minutes": {"type": "integer", "minimum": 0, "description": "Interval of taking a frequent backup in service types supporting different backup schedules"}, "frequent_oldest_age_minutes": {"type": "integer", "minimum": 0, "description": "Maximum age of the oldest frequent backup in service types supporting different backup schedules"}, "infrequent_interval_minutes": {"type": "integer", "minimum": 0, "description": "Interval of taking an infrequent backup in service types supporting different backup schedules"}, "infrequent_oldest_age_minutes": {"type": "integer", "minimum": 0, "description": "Maximum age of the oldest infrequent backup in service types supporting different backup schedules"}, "interval": {"type": "integer", "minimum": 0, "description": "The interval, in hours, at which backups are generated. For some services, like PostgreSQL, this is the interval at which full snapshots are taken and continuous incremental backup stream is maintained in addition to that."}, "max_count": {"type": "integer", "minimum": 0, "description": "Maximum number of backups to keep. Zero when no backups are created."}, "recovery_mode": {"type": "string", "description": "Mechanism how backups can be restored. 'basic' means a backup is restored as is so that the system is restored to the state it was when the backup was generated. 'pitr' means point-in-time-recovery, which allows restoring the system to any state since the first available full snapshot.", "enum": ["basic", "pitr"]}}, "required": ["interval", "max_count", "recovery_mode"]}, "max_memory_percent": {"type": "integer", "minimum": 0, "maximum": 100, "description": "Maximum amount of system memory as a percentage (0-100) the service can actually use after taking into account management overhead. This is relevant for memory bound services for which some service management operations require allocating proportional amount of memory on top the basic load."}, "node_count": {"type": "integer", "minimum": 1, "maximum": 100, "description": "Number of nodes in this service plan"}, "regions": {"type": "object", "description": "Service plan hourly price per cloud region", "properties": {}}, "service_plan": {"type": "string", "maxLength": 128, "description": "Subscription plan"}, "service_type": {"type": "string", "maxLength": 64, "description": "Service type code"}, "shard_count": {"type": "integer", "minimum": 1, "description": "Number of shards in this service plan"}}, "required": ["backup_config", "service_plan", "service_type"]}}, "user_config_schema": {"type": "object", "description": "JSON-Schema for the 'user_config' properties", "properties": {}}}, "required": ["description", "service_plans", "user_config_schema"]}, "m3db": {"type": "object", "description": "Service type information", "properties": {"default_version": {"type": "string", "description": "Default version of the service if no explicit version is defined"}, "description": {"type": "string", "description": "Single line description of the service"}, "latest_available_version": {"type": "string", "description": "Latest available version of the service"}, "service_plans": {"type": "array", "description": "List of plans available for this type of service", "items": {"type": "object", "properties": {"backup_config": {"type": "object", "description": "Backup configuration for this service plan", "properties": {"frequent_interval_minutes": {"type": "integer", "minimum": 0, "description": "Interval of taking a frequent backup in service types supporting different backup schedules"}, "frequent_oldest_age_minutes": {"type": "integer", "minimum": 0, "description": "Maximum age of the oldest frequent backup in service types supporting different backup schedules"}, "infrequent_interval_minutes": {"type": "integer", "minimum": 0, "description": "Interval of taking an infrequent backup in service types supporting different backup schedules"}, "infrequent_oldest_age_minutes": {"type": "integer", "minimum": 0, "description": "Maximum age of the oldest infrequent backup in service types supporting different backup schedules"}, "interval": {"type": "integer", "minimum": 0, "description": "The interval, in hours, at which backups are generated. For some services, like PostgreSQL, this is the interval at which full snapshots are taken and continuous incremental backup stream is maintained in addition to that."}, "max_count": {"type": "integer", "minimum": 0, "description": "Maximum number of backups to keep. Zero when no backups are created."}, "recovery_mode": {"type": "string", "description": "Mechanism how backups can be restored. 'basic' means a backup is restored as is so that the system is restored to the state it was when the backup was generated. 'pitr' means point-in-time-recovery, which allows restoring the system to any state since the first available full snapshot.", "enum": ["basic", "pitr"]}}, "required": ["interval", "max_count", "recovery_mode"]}, "max_memory_percent": {"type": "integer", "minimum": 0, "maximum": 100, "description": "Maximum amount of system memory as a percentage (0-100) the service can actually use after taking into account management overhead. This is relevant for memory bound services for which some service management operations require allocating proportional amount of memory on top the basic load."}, "node_count": {"type": "integer", "minimum": 1, "maximum": 100, "description": "Number of nodes in this service plan"}, "regions": {"type": "object", "description": "Service plan hourly price per cloud region", "properties": {}}, "service_plan": {"type": "string", "maxLength": 128, "description": "Subscription plan"}, "service_type": {"type": "string", "maxLength": 64, "description": "Service type code"}, "shard_count": {"type": "integer", "minimum": 1, "description": "Number of shards in this service plan"}}, "required": ["backup_config", "service_plan", "service_type"]}}, "user_config_schema": {"type": "object", "description": "JSON-Schema for the 'user_config' properties", "properties": {}}}, "required": ["description", "service_plans", "user_config_schema"]}, "mysql": {"type": "object", "description": "Service type information", "properties": {"default_version": {"type": "string", "description": "Default version of the service if no explicit version is defined"}, "description": {"type": "string", "description": "Single line description of the service"}, "latest_available_version": {"type": "string", "description": "Latest available version of the service"}, "service_plans": {"type": "array", "description": "List of plans available for this type of service", "items": {"type": "object", "properties": {"backup_config": {"type": "object", "description": "Backup configuration for this service plan", "properties": {"frequent_interval_minutes": {"type": "integer", "minimum": 0, "description": "Interval of taking a frequent backup in service types supporting different backup schedules"}, "frequent_oldest_age_minutes": {"type": "integer", "minimum": 0, "description": "Maximum age of the oldest frequent backup in service types supporting different backup schedules"}, "infrequent_interval_minutes": {"type": "integer", "minimum": 0, "description": "Interval of taking an infrequent backup in service types supporting different backup schedules"}, "infrequent_oldest_age_minutes": {"type": "integer", "minimum": 0, "description": "Maximum age of the oldest infrequent backup in service types supporting different backup schedules"}, "interval": {"type": "integer", "minimum": 0, "description": "The interval, in hours, at which backups are generated. For some services, like PostgreSQL, this is the interval at which full snapshots are taken and continuous incremental backup stream is maintained in addition to that."}, "max_count": {"type": "integer", "minimum": 0, "description": "Maximum number of backups to keep. Zero when no backups are created."}, "recovery_mode": {"type": "string", "description": "Mechanism how backups can be restored. 'basic' means a backup is restored as is so that the system is restored to the state it was when the backup was generated. 'pitr' means point-in-time-recovery, which allows restoring the system to any state since the first available full snapshot.", "enum": ["basic", "pitr"]}}, "required": ["interval", "max_count", "recovery_mode"]}, "max_memory_percent": {"type": "integer", "minimum": 0, "maximum": 100, "description": "Maximum amount of system memory as a percentage (0-100) the service can actually use after taking into account management overhead. This is relevant for memory bound services for which some service management operations require allocating proportional amount of memory on top the basic load."}, "node_count": {"type": "integer", "minimum": 1, "maximum": 100, "description": "Number of nodes in this service plan"}, "regions": {"type": "object", "description": "Service plan hourly price per cloud region", "properties": {}}, "service_plan": {"type": "string", "maxLength": 128, "description": "Subscription plan"}, "service_type": {"type": "string", "maxLength": 64, "description": "Service type code"}, "shard_count": {"type": "integer", "minimum": 1, "description": "Number of shards in this service plan"}}, "required": ["backup_config", "service_plan", "service_type"]}}, "user_config_schema": {"type": "object", "description": "JSON-Schema for the 'user_config' properties", "properties": {}}}, "required": ["description", "service_plans", "user_config_schema"]}, "opensearch": {"type": "object", "description": "Service type information", "properties": {"default_version": {"type": "string", "description": "Default version of the service if no explicit version is defined"}, "description": {"type": "string", "description": "Single line description of the service"}, "latest_available_version": {"type": "string", "description": "Latest available version of the service"}, "service_plans": {"type": "array", "description": "List of plans available for this type of service", "items": {"type": "object", "properties": {"backup_config": {"type": "object", "description": "Backup configuration for this service plan", "properties": {"frequent_interval_minutes": {"type": "integer", "minimum": 0, "description": "Interval of taking a frequent backup in service types supporting different backup schedules"}, "frequent_oldest_age_minutes": {"type": "integer", "minimum": 0, "description": "Maximum age of the oldest frequent backup in service types supporting different backup schedules"}, "infrequent_interval_minutes": {"type": "integer", "minimum": 0, "description": "Interval of taking an infrequent backup in service types supporting different backup schedules"}, "infrequent_oldest_age_minutes": {"type": "integer", "minimum": 0, "description": "Maximum age of the oldest infrequent backup in service types supporting different backup schedules"}, "interval": {"type": "integer", "minimum": 0, "description": "The interval, in hours, at which backups are generated. For some services, like PostgreSQL, this is the interval at which full snapshots are taken and continuous incremental backup stream is maintained in addition to that."}, "max_count": {"type": "integer", "minimum": 0, "description": "Maximum number of backups to keep. Zero when no backups are created."}, "recovery_mode": {"type": "string", "description": "Mechanism how backups can be restored. 'basic' means a backup is restored as is so that the system is restored to the state it was when the backup was generated. 'pitr' means point-in-time-recovery, which allows restoring the system to any state since the first available full snapshot.", "enum": ["basic", "pitr"]}}, "required": ["interval", "max_count", "recovery_mode"]}, "max_memory_percent": {"type": "integer", "minimum": 0, "maximum": 100, "description": "Maximum amount of system memory as a percentage (0-100) the service can actually use after taking into account management overhead. This is relevant for memory bound services for which some service management operations require allocating proportional amount of memory on top the basic load."}, "node_count": {"type": "integer", "minimum": 1, "maximum": 100, "description": "Number of nodes in this service plan"}, "regions": {"type": "object", "description": "Service plan hourly price per cloud region", "properties": {}}, "service_plan": {"type": "string", "maxLength": 128, "description": "Subscription plan"}, "service_type": {"type": "string", "maxLength": 64, "description": "Service type code"}, "shard_count": {"type": "integer", "minimum": 1, "description": "Number of shards in this service plan"}}, "required": ["backup_config", "service_plan", "service_type"]}}, "user_config_schema": {"type": "object", "description": "JSON-Schema for the 'user_config' properties", "properties": {}}}, "required": ["description", "service_plans", "user_config_schema"]}, "pg": {"type": "object", "description": "Service type information", "properties": {"default_version": {"type": "string", "description": "Default version of the service if no explicit version is defined"}, "description": {"type": "string", "description": "Single line description of the service"}, "latest_available_version": {"type": "string", "description": "Latest available version of the service"}, "service_plans": {"type": "array", "description": "List of plans available for this type of service", "items": {"type": "object", "properties": {"backup_config": {"type": "object", "description": "Backup configuration for this service plan", "properties": {"frequent_interval_minutes": {"type": "integer", "minimum": 0, "description": "Interval of taking a frequent backup in service types supporting different backup schedules"}, "frequent_oldest_age_minutes": {"type": "integer", "minimum": 0, "description": "Maximum age of the oldest frequent backup in service types supporting different backup schedules"}, "infrequent_interval_minutes": {"type": "integer", "minimum": 0, "description": "Interval of taking an infrequent backup in service types supporting different backup schedules"}, "infrequent_oldest_age_minutes": {"type": "integer", "minimum": 0, "description": "Maximum age of the oldest infrequent backup in service types supporting different backup schedules"}, "interval": {"type": "integer", "minimum": 0, "description": "The interval, in hours, at which backups are generated. For some services, like PostgreSQL, this is the interval at which full snapshots are taken and continuous incremental backup stream is maintained in addition to that."}, "max_count": {"type": "integer", "minimum": 0, "description": "Maximum number of backups to keep. Zero when no backups are created."}, "recovery_mode": {"type": "string", "description": "Mechanism how backups can be restored. 'basic' means a backup is restored as is so that the system is restored to the state it was when the backup was generated. 'pitr' means point-in-time-recovery, which allows restoring the system to any state since the first available full snapshot.", "enum": ["basic", "pitr"]}}, "required": ["interval", "max_count", "recovery_mode"]}, "max_memory_percent": {"type": "integer", "minimum": 0, "maximum": 100, "description": "Maximum amount of system memory as a percentage (0-100) the service can actually use after taking into account management overhead. This is relevant for memory bound services for which some service management operations require allocating proportional amount of memory on top the basic load."}, "node_count": {"type": "integer", "minimum": 1, "maximum": 100, "description": "Number of nodes in this service plan"}, "regions": {"type": "object", "description": "Service plan hourly price per cloud region", "properties": {}}, "service_plan": {"type": "string", "maxLength": 128, "description": "Subscription plan"}, "service_type": {"type": "string", "maxLength": 64, "description": "Service type code"}, "shard_count": {"type": "integer", "minimum": 1, "description": "Number of shards in this service plan"}}, "required": ["backup_config", "service_plan", "service_type"]}}, "user_config_schema": {"type": "object", "description": "JSON-Schema for the 'user_config' properties", "properties": {}}}, "required": ["description", "service_plans", "user_config_schema"]}, "redis": {"type": "object", "description": "Service type information", "properties": {"default_version": {"type": "string", "description": "Default version of the service if no explicit version is defined"}, "description": {"type": "string", "description": "Single line description of the service"}, "latest_available_version": {"type": "string", "description": "Latest available version of the service"}, "service_plans": {"type": "array", "description": "List of plans available for this type of service", "items": {"type": "object", "properties": {"backup_config": {"type": "object", "description": "Backup configuration for this service plan", "properties": {"frequent_interval_minutes": {"type": "integer", "minimum": 0, "description": "Interval of taking a frequent backup in service types supporting different backup schedules"}, "frequent_oldest_age_minutes": {"type": "integer", "minimum": 0, "description": "Maximum age of the oldest frequent backup in service types supporting different backup schedules"}, "infrequent_interval_minutes": {"type": "integer", "minimum": 0, "description": "Interval of taking an infrequent backup in service types supporting different backup schedules"}, "infrequent_oldest_age_minutes": {"type": "integer", "minimum": 0, "description": "Maximum age of the oldest infrequent backup in service types supporting different backup schedules"}, "interval": {"type": "integer", "minimum": 0, "description": "The interval, in hours, at which backups are generated. For some services, like PostgreSQL, this is the interval at which full snapshots are taken and continuous incremental backup stream is maintained in addition to that."}, "max_count": {"type": "integer", "minimum": 0, "description": "Maximum number of backups to keep. Zero when no backups are created."}, "recovery_mode": {"type": "string", "description": "Mechanism how backups can be restored. 'basic' means a backup is restored as is so that the system is restored to the state it was when the backup was generated. 'pitr' means point-in-time-recovery, which allows restoring the system to any state since the first available full snapshot.", "enum": ["basic", "pitr"]}}, "required": ["interval", "max_count", "recovery_mode"]}, "max_memory_percent": {"type": "integer", "minimum": 0, "maximum": 100, "description": "Maximum amount of system memory as a percentage (0-100) the service can actually use after taking into account management overhead. This is relevant for memory bound services for which some service management operations require allocating proportional amount of memory on top the basic load."}, "node_count": {"type": "integer", "minimum": 1, "maximum": 100, "description": "Number of nodes in this service plan"}, "regions": {"type": "object", "description": "Service plan hourly price per cloud region", "properties": {}}, "service_plan": {"type": "string", "maxLength": 128, "description": "Subscription plan"}, "service_type": {"type": "string", "maxLength": 64, "description": "Service type code"}, "shard_count": {"type": "integer", "minimum": 1, "description": "Number of shards in this service plan"}}, "required": ["backup_config", "service_plan", "service_type"]}}, "user_config_schema": {"type": "object", "description": "JSON-Schema for the 'user_config' properties", "properties": {}}}, "required": ["description", "service_plans", "user_config_schema"]}, "thanos": {"type": "object", "description": "Service type information", "properties": {"default_version": {"type": "string", "description": "Default version of the service if no explicit version is defined"}, "description": {"type": "string", "description": "Single line description of the service"}, "latest_available_version": {"type": "string", "description": "Latest available version of the service"}, "service_plans": {"type": "array", "description": "List of plans available for this type of service", "items": {"type": "object", "properties": {"backup_config": {"type": "object", "description": "Backup configuration for this service plan", "properties": {"frequent_interval_minutes": {"type": "integer", "minimum": 0, "description": "Interval of taking a frequent backup in service types supporting different backup schedules"}, "frequent_oldest_age_minutes": {"type": "integer", "minimum": 0, "description": "Maximum age of the oldest frequent backup in service types supporting different backup schedules"}, "infrequent_interval_minutes": {"type": "integer", "minimum": 0, "description": "Interval of taking an infrequent backup in service types supporting different backup schedules"}, "infrequent_oldest_age_minutes": {"type": "integer", "minimum": 0, "description": "Maximum age of the oldest infrequent backup in service types supporting different backup schedules"}, "interval": {"type": "integer", "minimum": 0, "description": "The interval, in hours, at which backups are generated. For some services, like PostgreSQL, this is the interval at which full snapshots are taken and continuous incremental backup stream is maintained in addition to that."}, "max_count": {"type": "integer", "minimum": 0, "description": "Maximum number of backups to keep. Zero when no backups are created."}, "recovery_mode": {"type": "string", "description": "Mechanism how backups can be restored. 'basic' means a backup is restored as is so that the system is restored to the state it was when the backup was generated. 'pitr' means point-in-time-recovery, which allows restoring the system to any state since the first available full snapshot.", "enum": ["basic", "pitr"]}}, "required": ["interval", "max_count", "recovery_mode"]}, "max_memory_percent": {"type": "integer", "minimum": 0, "maximum": 100, "description": "Maximum amount of system memory as a percentage (0-100) the service can actually use after taking into account management overhead. This is relevant for memory bound services for which some service management operations require allocating proportional amount of memory on top the basic load."}, "node_count": {"type": "integer", "minimum": 1, "maximum": 100, "description": "Number of nodes in this service plan"}, "regions": {"type": "object", "description": "Service plan hourly price per cloud region", "properties": {}}, "service_plan": {"type": "string", "maxLength": 128, "description": "Subscription plan"}, "service_type": {"type": "string", "maxLength": 64, "description": "Service type code"}, "shard_count": {"type": "integer", "minimum": 1, "description": "Number of shards in this service plan"}}, "required": ["backup_config", "service_plan", "service_type"]}}, "user_config_schema": {"type": "object", "description": "JSON-Schema for the 'user_config' properties", "properties": {}}}, "required": ["description", "service_plans", "user_config_schema"]}, "valkey": {"type": "object", "description": "Service type information", "properties": {"default_version": {"type": "string", "description": "Default version of the service if no explicit version is defined"}, "description": {"type": "string", "description": "Single line description of the service"}, "latest_available_version": {"type": "string", "description": "Latest available version of the service"}, "service_plans": {"type": "array", "description": "List of plans available for this type of service", "items": {"type": "object", "properties": {"backup_config": {"type": "object", "description": "Backup configuration for this service plan", "properties": {"frequent_interval_minutes": {"type": "integer", "minimum": 0, "description": "Interval of taking a frequent backup in service types supporting different backup schedules"}, "frequent_oldest_age_minutes": {"type": "integer", "minimum": 0, "description": "Maximum age of the oldest frequent backup in service types supporting different backup schedules"}, "infrequent_interval_minutes": {"type": "integer", "minimum": 0, "description": "Interval of taking an infrequent backup in service types supporting different backup schedules"}, "infrequent_oldest_age_minutes": {"type": "integer", "minimum": 0, "description": "Maximum age of the oldest infrequent backup in service types supporting different backup schedules"}, "interval": {"type": "integer", "minimum": 0, "description": "The interval, in hours, at which backups are generated. For some services, like PostgreSQL, this is the interval at which full snapshots are taken and continuous incremental backup stream is maintained in addition to that."}, "max_count": {"type": "integer", "minimum": 0, "description": "Maximum number of backups to keep. Zero when no backups are created."}, "recovery_mode": {"type": "string", "description": "Mechanism how backups can be restored. 'basic' means a backup is restored as is so that the system is restored to the state it was when the backup was generated. 'pitr' means point-in-time-recovery, which allows restoring the system to any state since the first available full snapshot.", "enum": ["basic", "pitr"]}}, "required": ["interval", "max_count", "recovery_mode"]}, "max_memory_percent": {"type": "integer", "minimum": 0, "maximum": 100, "description": "Maximum amount of system memory as a percentage (0-100) the service can actually use after taking into account management overhead. This is relevant for memory bound services for which some service management operations require allocating proportional amount of memory on top the basic load."}, "node_count": {"type": "integer", "minimum": 1, "maximum": 100, "description": "Number of nodes in this service plan"}, "regions": {"type": "object", "description": "Service plan hourly price per cloud region", "properties": {}}, "service_plan": {"type": "string", "maxLength": 128, "description": "Subscription plan"}, "service_type": {"type": "string", "maxLength": 64, "description": "Service type code"}, "shard_count": {"type": "integer", "minimum": 1, "description": "Number of shards in this service plan"}}, "required": ["backup_config", "service_plan", "service_type"]}}, "user_config_schema": {"type": "object", "description": "JSON-Schema for the 'user_config' properties", "properties": {}}}, "required": ["description", "service_plans", "user_config_schema"]}}}}, "required": ["service_types"]}, "ListServiceVersionsResponse": {"type": "object", "description": "ListServiceVersionsResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "service_versions": {"type": "array", "description": "Service versions", "items": {"type": "object", "properties": {"aiven_end_of_life_time": {"type": "string", "maxLength": 36, "description": "Aiven end-of-life timestamp (ISO 8601)"}, "availability_end_time": {"type": "string", "maxLength": 36, "description": "Availability end timestamp (ISO 8601)"}, "availability_start_time": {"type": "string", "maxLength": 36, "description": "Availability start timestamp (ISO 8601)"}, "end_of_life_help_article_url": {"type": "string", "description": "Link to the help article"}, "major_version": {"type": "string", "maxLength": 32, "description": "Service version"}, "service_type": {"type": "string", "maxLength": 64, "description": "Service type code"}, "state": {"type": "string", "description": "Service state", "enum": ["available", "eol", "preview", "terminated", "unavailable"]}, "termination_time": {"type": "string", "maxLength": 36, "description": "Termination timestamp (ISO 8601)"}, "upgrade_to_service_type": {"type": "string", "maxLength": 64, "description": "If the customer takes no action, the service is updated to this service type when end of life is reached on the Aiven platform. If it is the same as the service type, the platform only upgrades the version."}, "upgrade_to_version": {"type": "string", "maxLength": 32, "description": "The version to which the service will be updated at the end of life on the Aiven platform if the user does not take any action"}, "upstream_end_of_life_time": {"type": "string", "maxLength": 36, "description": "Upstream end-of-life timestamp (ISO 8601)"}}}}}, "required": ["service_versions"]}, "OsAvailablePluginsResponse": {"type": "object", "description": "OsAvailablePluginsResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "opensearch": {"type": "array", "description": "Supported OpenSearch versions", "items": {"type": "object", "properties": {"plugins": {"type": "array", "description": "Plugins available for this OpenSearch version", "items": {"type": "object", "properties": {"description": {"type": "string", "description": "Plugin description"}, "name": {"type": "string", "description": "Plugin name"}, "url": {"type": "string", "description": "Plugin URL"}, "version": {"type": "string", "description": "Plugin version"}}, "required": ["description", "name", "url", "version"]}}, "version": {"type": "string", "description": "OpenSearch version"}}, "required": ["plugins", "version"]}}}}, "PgAvailableExtensionsResponse": {"type": "object", "description": "PgAvailableExtensionsResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "pg": {"type": "array", "description": "Supported PostgreSQL versions", "items": {"type": "object", "properties": {"extensions": {"type": "array", "description": "Extensions available for loading with CREATE EXTENSION in this service", "items": {"type": "object", "properties": {"default_version": {"type": "string", "description": "Default version"}, "name": {"type": "string", "description": "Extension name"}, "versions": {"type": "array", "description": "Extension versions available", "items": {"type": "string"}}}, "required": ["name"]}}, "version": {"type": "string", "description": "PostgreSQL version"}}, "required": ["extensions", "version"]}}}}, "ProjectGetServiceLogsRequestBody": {"type": "object", "description": "ProjectGetServiceLogsRequestBody", "properties": {"limit": {"type": "integer", "minimum": 1, "maximum": 500, "description": "How many log entries to receive at most", "default": 100}, "offset": {"type": "string", "maxLength": 128, "description": "Opaque offset identifier"}, "sort_order": {"type": "string", "description": "Sort order for log messages", "default": "desc", "enum": ["desc", "asc"]}}}, "ProjectGetServiceLogsResponse": {"type": "object", "description": "ProjectGetServiceLogsResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "first_log_offset": {"type": "string", "description": "Opaque offset identifier of the first received log message. A null value is returned when there are no logs at all."}, "logs": {"type": "array", "description": "List of log entries", "items": {"type": "object", "properties": {"msg": {"type": "string", "description": "Log message"}, "time": {"type": "string", "maxLength": 36, "description": "Timestamp in ISO 8601 format, always in UTC"}, "unit": {"type": "string", "description": "SystemD unit name"}}, "required": ["msg"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "offset": {"type": "string", "description": "Opaque offset identifier. A null value is returned when there are no logs at all."}}, "required": ["first_log_offset", "logs", "offset"]}, "ProjectServiceTagsListResponse": {"type": "object", "description": "ProjectServiceTagsListResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "tags": {"type": "object", "description": "Set of resource tags", "properties": {}}}}, "ProjectServiceTagsReplaceRequestBody": {"type": "object", "description": "ProjectServiceTagsReplaceRequestBody", "properties": {"tags": {"type": "object", "description": "Set of resource tags", "properties": {}}}, "required": ["tags"]}, "ProjectServiceTagsReplaceResponse": {"type": "object", "description": "ProjectServiceTagsReplaceResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}}, "ProjectServiceTagsUpdateRequestBody": {"type": "object", "description": "ProjectServiceTagsUpdateRequestBody", "properties": {"tags": {"type": "object", "description": "Set of resource tags", "properties": {}}}, "required": ["tags"]}, "ProjectServiceTagsUpdateResponse": {"type": "object", "description": "ProjectServiceTagsUpdateResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}}, "ServiceAlertsListResponse": {"type": "object", "description": "ServiceAlertsListResponse", "properties": {"alerts": {"type": "array", "description": "List of active alerts for the service", "items": {"type": "object", "properties": {"create_time": {"type": "string", "maxLength": 36, "description": "Event creation timestamp (ISO 8601)"}, "event": {"type": "string", "description": "Name of the alerting event"}, "node_name": {"type": "string", "description": "Name of the service node"}, "project_name": {"type": "string", "maxLength": 63, "description": "Project name"}, "service_name": {"type": "string", "minLength": 1, "maxLength": 64, "description": "Service name"}, "service_type": {"type": "string", "maxLength": 64, "description": "Service type code"}, "severity": {"type": "string", "description": "Severity of the event"}}, "required": ["create_time", "event", "project_name", "severity"]}}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}, "required": ["alerts"]}, "ServiceBackupToAnotherRegionReportRequestBody": {"type": "object", "description": "ServiceBackupToAnotherRegionReportRequestBody", "properties": {"kafka_topic_name": {"type": "string", "maxLength": 249, "description": "Metrics at Kafka service topic level"}, "period": {"type": "string", "description": "Metrics time period", "default": "hour", "enum": ["hour", "day", "week", "month", "year"]}}}, "ServiceBackupToAnotherRegionReportResponse": {"type": "object", "description": "ServiceBackupToAnotherRegionReportResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "metrics": {"type": "object", "description": "Service metrics in Google chart compatible format", "properties": {}}}, "required": ["metrics"]}, "ServiceBackupsGetResponse": {"type": "object", "description": "ServiceBackupsGetResponse", "properties": {"backup_progress": {"type": "string", "description": "Scheduled time for the next backup"}, "backups": {"type": "array", "description": "List of backups for the service", "items": {"type": "object", "properties": {"additional_regions": {"type": "array", "description": "Additional backup regions, if available", "items": {"type": "object", "properties": {"cloud": {"type": "string", "maxLength": 256, "description": "Target cloud"}, "pause_reason": {"type": "string", "description": "Reason for pausing the backup synchronization"}, "paused": {"type": "boolean", "description": "Indicates additional backup synchronization is paused"}, "region": {"type": "string", "description": "Cloud storage region name"}}, "required": ["cloud"]}}, "backup_name": {"type": "string", "description": "Internal name of this backup"}, "backup_time": {"type": "string", "maxLength": 36, "description": "Backup timestamp (ISO 8601)"}, "data_size": {"type": "integer", "description": "Backup's original size before compression"}, "incremental": {"type": "boolean", "description": "Indicates if this backup is a full or an incremental one (available only for MySQL)"}, "storage_location": {"type": "string", "description": "Location where this backup is stored"}, "tiered_storage_data_size": {"type": "integer", "description": "The amount of tiered storage data in bytes referenced by this backup."}}, "required": ["backup_name", "backup_time", "data_size"]}}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "pitr": {"type": "object", "description": "Point-in-time-recovery metadata for the service. If not set, service type does not support PITR.", "title": "Backup PITR metadata", "properties": {"additional_regions": {"type": "array", "description": "Empty array if BTAR is not enabled or BTAR+PITR is not supported.", "title": "Backup PITR metadata for additional backup regions", "items": {"type": "object", "properties": {"cloud": {"type": "string", "maxLength": 256, "description": "Target cloud"}, "pitr_range_end": {"type": "string", "maxLength": 36, "description": "Latest timestamp usable for PITR (ISO 8601) (always set)"}, "pitr_range_start": {"type": "string", "maxLength": 36, "description": "Earliest timestamp usable for PITR (ISO 8601) (always set)"}, "region": {"type": "string", "description": "Cloud storage region name"}}, "required": ["cloud", "pitr_range_end", "pitr_range_start", "region"]}}, "primary_region": {"type": "object", "description": "Point-in-time-recovery metadata related to the primary backup location of the service.", "title": "Backup PITR metadata primary", "properties": {"pitr_range_end": {"type": "string", "maxLength": 36, "description": "Latest timestamp usable for PITR (ISO 8601) (null means current time)"}, "pitr_range_start": {"type": "string", "maxLength": 36, "description": "Earliest timestamp usable for PITR (ISO 8601) (null means no available backup for PITR)"}}, "required": ["pitr_range_end", "pitr_range_start"]}}, "required": ["additional_regions", "primary_region"]}, "scheduled_backup_time": {"type": "object", "description": "Scheduled time and frequency of service backups", "properties": {"backup_hour": {"type": "integer", "minimum": 0, "maximum": 23, "description": "The hour of day (in UTC) when backup for the service is started. New backup is only started if previous backup has already completed."}, "backup_interval_hours": {"type": "integer", "description": "Service backup interval in hours"}, "backup_minute": {"type": "integer", "minimum": 0, "maximum": 59, "description": "The minute of an hour when backup for the service is started. New backup is only started if previous backup has already completed."}}}}, "required": ["backups"]}, "ServiceCancelQueryRequestBody": {"type": "object", "description": "ServiceCancelQueryRequestBody", "properties": {"pid": {"type": "integer", "minimum": 0, "description": "Database server connection ID"}, "terminate": {"type": "boolean", "description": "Request immediate termination instead of soft cancel", "default": false}}}, "ServiceCancelQueryResponse": {"type": "object", "description": "ServiceCancelQueryResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "success": {"type": "boolean", "description": "Status reported by the database server"}}, "required": ["success"]}, "ServiceCreateRequestBody": {"type": "object", "description": "ServiceCreateRequestBody", "properties": {"cloud": {"type": "string", "maxLength": 256, "description": "Target cloud"}, "copy_tags": {"type": "boolean", "description": "If this is a forked service, copy tags from the source service. If request contains additional tags, the tags copied from source are updated with them.", "default": false}, "disk_space_mb": {"type": "integer", "minimum": 0, "description": "Megabytes of disk space for data storage"}, "group_name": {"type": "string", "maxLength": 256, "description": "Service group name (DEPRECATED: do not use)"}, "maintenance": {"type": "object", "description": "Automatic maintenance settings", "properties": {"dow": {"type": "string", "description": "Day of week for installing updates", "enum": ["monday", "tuesday", "wednesday", "thursday", "friday", "saturday", "sunday"]}, "time": {"type": "string", "minLength": 8, "maxLength": 8, "description": "Time for installing updates, UTC"}}}, "plan": {"type": "string", "maxLength": 128, "description": "Subscription plan"}, "project_vpc_id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "Project VPC ID"}, "service_integrations": {"type": "array", "maxItems": 64, "description": "Service integrations to enable for the service. Some integration types affect how a service is created and they must be provided as part of the creation call instead of being defined later.", "items": {"type": "object", "properties": {"dest_endpoint_id": {"type": "string", "maxLength": 36, "description": "Integration destination endpoint ID"}, "dest_project": {"type": "string", "maxLength": 63, "description": "Defaults to project in the request path", "title": "Destination project name"}, "dest_service": {"type": "string", "maxLength": 64, "description": "Destination service name"}, "integration_type": {"type": "string", "description": "Service integration type", "enum": ["alertmanager", "application_service_credential", "autoscaler", "autoscaler_service", "caching", "cassandra_cross_service_cluster", "clickhouse_credentials", "clickhouse_kafka", "clickhouse_postgresql", "dashboard", "datadog", "datasource", "disaster_recovery", "external_aws_cloudwatch_logs", "external_aws_cloudwatch_metrics", "external_elasticsearch_logs", "external_google_cloud_logging", "external_opensearch_logs", "flink", "flink_external_bigquery", "flink_external_kafka", "flink_external_postgresql", "internal_connectivity", "jolokia", "kafka_connect", "kafka_connect_postgresql", "kafka_inkless_postgresql", "kafka_logs", "kafka_mirrormaker", "logs", "m3aggregator", "m3coordinator", "metrics", "opensearch_cross_cluster_replication", "opensearch_cross_cluster_search", "prometheus", "read_replica", "rsyslog", "schema_registry_proxy", "stresstester", "thanos_distributed_query", "thanos_migrate", "thanoscompactor", "thanosquery", "thanosruler", "thanosstore", "vector", "vmalert"]}, "source_endpoint_id": {"type": "string", "maxLength": 36, "description": "Integration source endpoint ID"}, "source_project": {"type": "string", "maxLength": 63, "description": "Defaults to project in the request path", "title": "Source project name"}, "source_service": {"type": "string", "maxLength": 64, "description": "Source service name"}, "user_config": {"type": "object", "description": "Service type-specific settings", "properties": {}}}, "required": ["integration_type"]}}, "service_name": {"type": "string", "minLength": 1, "maxLength": 64, "description": "Service name"}, "service_type": {"type": "string", "maxLength": 64, "description": "Service type code"}, "static_ips": {"type": "array", "maxItems": 128, "description": "Static IP addresses to associate with the service", "items": {"type": "string"}}, "tags": {"type": "object", "description": "Set of resource tags", "properties": {}}, "tech_emails": {"type": "array", "maxItems": 10, "description": "List of service technical email addresses", "items": {"type": "object", "properties": {"email": {"type": "string", "maxLength": 254, "description": "User email address"}}, "required": ["email"]}}, "termination_protection": {"type": "boolean", "description": "Service is protected against termination and powering off"}, "user_config": {"type": "object", "description": "Service type-specific settings", "properties": {}}}, "required": ["plan", "service_name", "service_type"]}, "ServiceCreateResponse": {"type": "object", "description": "ServiceCreateResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "service": {"type": "object", "description": "Service information", "properties": {"acl": {"type": "array", "description": "List of Aiven ACL entries for Kafka service", "items": {"type": "object", "properties": {"id": {"type": "string", "maxLength": 40, "description": "ID"}, "permission": {"type": "string", "description": "Kafka permission", "enum": ["admin", "read", "readwrite", "write"]}, "topic": {"type": "string", "minLength": 1, "maxLength": 249, "description": "Topic name pattern"}, "username": {"type": "string", "minLength": 1, "maxLength": 64, "description": "Username"}}, "required": ["permission", "topic", "username"]}}, "backups": {"type": "array", "description": "List of backups for the service", "items": {"type": "object", "properties": {"additional_regions": {"type": "array", "description": "Additional backup regions, if available", "items": {"type": "object", "properties": {"cloud": {"type": "string", "maxLength": 256, "description": "Target cloud"}, "pause_reason": {"type": "string", "description": "Reason for pausing the backup synchronization"}, "paused": {"type": "boolean", "description": "Indicates additional backup synchronization is paused"}, "region": {"type": "string", "description": "Cloud storage region name"}}, "required": ["cloud"]}}, "backup_name": {"type": "string", "description": "Internal name of this backup"}, "backup_time": {"type": "string", "maxLength": 36, "description": "Backup timestamp (ISO 8601)"}, "data_size": {"type": "integer", "description": "Backup's original size before compression"}, "incremental": {"type": "boolean", "description": "Indicates if this backup is a full or an incremental one (available only for MySQL)"}, "storage_location": {"type": "string", "description": "Location where this backup is stored"}, "tiered_storage_data_size": {"type": "integer", "description": "The amount of tiered storage data in bytes referenced by this backup."}}, "required": ["backup_name", "backup_time", "data_size"]}}, "cloud_description": {"type": "string", "description": "Cloud provider and location"}, "cloud_name": {"type": "string", "maxLength": 256, "description": "Target cloud"}, "components": {"type": "array", "description": "Service component information objects", "items": {"type": "object", "properties": {"component": {"type": "string", "description": "Service component name"}, "host": {"type": "string", "description": "DNS name for connecting to the service component"}, "kafka_authentication_method": {"type": "string", "description": "Kafka authentication method. This is a value specific to the 'kafka' service component", "enum": ["certificate", "sasl"]}, "kafka_ssl_ca": {"type": "string", "description": "Specifies if this port uses Project CA or Letsencrypt. If not specified, the default is using Project CA.This is a value specific to the 'kafka' service component.", "enum": ["project_ca", "letsencrypt"]}, "path": {"type": "string", "description": "Path component of the service URL (useful only if service component is HTTP or HTTPS endpoint)"}, "port": {"type": "integer", "minimum": 0, "maximum": 65535, "description": "Port number for connecting to the service component"}, "privatelink_connection_id": {"type": "string", "description": "Privatelink connection ID"}, "route": {"type": "string", "description": "Network access route", "enum": ["dynamic", "public", "private", "privatelink"]}, "ssl": {"type": "boolean", "description": "Whether the endpoint is encrypted or accepts plaintext. By default endpoints are always encrypted andthis property is only included for service components that may disable encryption."}, "usage": {"type": "string", "description": "DNS usage name", "enum": ["disaster_recovery", "primary", "replica", "ha_replica"]}}, "required": ["component", "host", "port", "route", "usage"]}}, "connection_info": {"type": "object", "description": "Service-specific connection information properties", "properties": {}}, "connection_pools": {"type": "array", "description": "PostgreSQL PGBouncer connection pools", "items": {"type": "object", "properties": {"connection_uri": {"type": "string", "description": "Connection URI for the DB pool"}, "database": {"type": "string", "maxLength": 63, "description": "Database name"}, "pool_mode": {"type": "string", "description": "PGBouncer pool mode", "enum": ["session", "transaction", "statement"]}, "pool_name": {"type": "string", "maxLength": 63, "description": "Connection pool name"}, "pool_size": {"type": "integer", "minimum": 1, "maximum": 10000, "description": "Size of PGBouncer's PostgreSQL side connection pool"}, "username": {"type": "string", "maxLength": 64, "description": "Pool username"}}, "required": ["connection_uri", "database", "pool_mode", "pool_name", "pool_size"]}}, "create_time": {"type": "string", "maxLength": 36, "description": "Service creation timestamp (ISO 8601)"}, "databases": {"type": "array", "description": "List of service's user database names", "items": {"type": "string"}}, "disk_space_mb": {"type": "integer", "minimum": 0, "description": "Megabytes of disk space for data storage"}, "features": {"type": "object", "description": "Feature flags", "properties": {}}, "group_list": {"type": "array", "description": "List of service groups the service belongs to. This field is deprecated. It is always set to single element with value 'default'", "items": {"type": "string"}}, "kafka_acl": {"type": "array", "description": "List of Kafka-native ACL entries", "items": {"type": "object", "properties": {"host": {"type": "string", "minLength": 0, "maxLength": 256, "description": "the host or * for all hosts"}, "id": {"type": "string", "maxLength": 40, "description": "ID"}, "operation": {"type": "string", "description": "Kafka ACL operation represents an operation which an ACL grants or denies permission to perform", "enum": ["All", "Alter", "AlterConfigs", "ClusterAction", "Create", "CreateTokens", "Delete", "Describe", "DescribeConfigs", "DescribeTokens", "IdempotentWrite", "Read", "Write"]}, "pattern_type": {"type": "string", "description": "Kafka ACL pattern type of resource name", "enum": ["LITERAL", "PREFIXED"]}, "permission_type": {"type": "string", "description": "Kafka ACL permission type", "enum": ["ALLOW", "DENY"]}, "principal": {"type": "string", "minLength": 0, "maxLength": 256, "description": "principal is in 'principalType:name' format"}, "resource_name": {"type": "string", "minLength": 0, "maxLength": 256, "description": "Resource pattern used to match specified resources"}, "resource_type": {"type": "string", "description": "Kafka ACL resource type represents a type of resource which an ACL can be applied to", "enum": ["Cluster", "DelegationToken", "Group", "Topic", "TransactionalId", "User"]}}, "required": ["host", "id", "operation", "pattern_type", "permission_type", "principal", "resource_name", "resource_type"]}}, "maintenance": {"type": "object", "description": "Automatic maintenance settings", "properties": {"controlled_switchover": {"type": "object", "description": "Controlled switchover status", "properties": {"enabled": {"type": "boolean", "description": "Controlled switchover configured and enabled"}, "scheduled_start_time": {"type": "string", "description": "Scheduled start time of the switchover window, if enabled and active"}, "state": {"type": "string", "description": "Controlled switchover state", "enum": ["INACTIVE", "PENDING", "SCHEDULED", "RUNNING", "COMPLETED"]}}, "required": ["enabled", "scheduled_start_time", "state"]}, "dow": {"type": "string", "description": "Day of week for installing updates", "enum": ["monday", "tuesday", "wednesday", "thursday", "friday", "saturday", "sunday", "never"]}, "enabled": {"type": "boolean", "description": "Service maintenance enabled"}, "time": {"type": "string", "minLength": 8, "maxLength": 8, "description": "Time for installing updates, UTC"}, "updates": {"type": "array", "description": "List of updates waiting to be installed", "items": {"type": "object", "properties": {"deadline": {"type": "string", "description": "Deadline for installing the update"}, "description": {"type": "string", "description": "Description of the update"}, "documentation_link": {"type": "string", "description": "Optional link"}, "impact": {"type": "string", "description": "Impact statement of the update"}, "impact_portable_text": {"type": "string", "description": "Impact statement in portable text format"}, "start_after": {"type": "string", "description": "The earliest time the update will be automatically applied"}, "start_at": {"type": "string", "description": "The time when the update will be automatically applied"}}}}}, "required": ["dow", "enabled", "time", "updates"]}, "metadata": {"type": "object", "description": "Service type specific metadata", "properties": {}}, "node_count": {"type": "integer", "description": "Number of service nodes in the active plan"}, "node_cpu_count": {"type": "integer", "description": "Number of CPUs for each node"}, "node_memory_mb": {"type": "number", "description": "Megabytes of memory for each node"}, "node_states": {"type": "array", "description": "State of individual service nodes", "items": {"type": "object", "properties": {"availability_zone": {"type": "string", "description": "The availability zone in which the node is place. If there is no availability zone available this field will be missing."}, "name": {"type": "string", "description": "Name of the service node"}, "progress_updates": {"type": "array", "description": "Extra information regarding the progress for current state", "items": {"type": "object", "properties": {"completed": {"type": "boolean", "description": "Indicates whether this phase has been completed or not"}, "current": {"type": "integer", "description": "Current progress for this phase. May be missing or null."}, "max": {"type": "integer", "description": "Maximum progress value for this phase. May be missing or null. May change."}, "min": {"type": "integer", "description": "Minimum progress value for this phase. May be missing or null."}, "phase": {"type": "string", "description": "Key identifying this phase", "enum": ["prepare", "basebackup", "stream", "finalize"]}, "unit": {"type": "string", "description": "Unit for current/min/max values. New units may be added. If null should be treated as generic unit", "enum": ["binlogs", "bytes_compressed", "bytes_uncompressed", "wal_lsn"]}}, "required": ["completed", "phase"]}}, "role": {"type": "string", "description": "Role of this node. Only returned for a subset of service types", "enum": ["master", "standby", "read-replica"]}, "roles": {"type": "string", "description": "A role string indicating the node's roles in the OpenSearch cluster. Only populated for OpenSearch services using cluster plans. Format: first character is '*' (elected cluster manager) or '-' (not elected), followed by role letters: 'd' (data), 'i' (ingest), 'm' (cluster_manager eligible), 'c' (coordinating), 'L' (ML), 'D' (Dashboards). Example: '*mc' means elected cluster manager with cluster_manager and coordinating roles.", "title": "Roles of this node. Only returned for OpenSearch services with cluster plans"}, "shard": {"type": "object", "description": "Shard of this node. Only returned for a subset of service types", "properties": {"name": {"type": "string", "description": "Name of the shard."}, "position": {"type": "integer", "description": "Position of this shard within the service"}}}, "state": {"type": "string", "description": "Current state of the service node", "enum": ["leaving", "running", "setting_up_vm", "syncing_data", "timing_out", "unknown"]}}, "required": ["availability_zone", "name", "state"]}}, "plan": {"type": "string", "maxLength": 128, "description": "Subscription plan"}, "project_vpc_id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "Project VPC ID"}, "schema_registry_acl": {"type": "array", "description": "List of Schema Registry ACL entries", "items": {"type": "object", "properties": {"id": {"type": "string", "maxLength": 40, "description": "ID"}, "permission": {"type": "string", "description": "ACL entry for Schema Registry", "enum": ["schema_registry_read", "schema_registry_write"]}, "resource": {"type": "string", "minLength": 1, "maxLength": 249, "description": "Schema Registry ACL entry resource name pattern"}, "username": {"type": "string", "minLength": 1, "maxLength": 64, "description": "Username"}}, "required": ["permission", "resource", "username"]}}, "server_group": {"type": "object", "description": "Service IaaS server group", "properties": {"enabled": {"type": "boolean", "description": "Flag set if server group is in use for the service"}, "type": {"type": "string", "description": "IaaS server group type"}}}, "service_integrations": {"type": "array", "description": "Integrations with other services", "items": {"type": "object", "properties": {"active": {"type": "boolean", "description": "True when integration is active"}, "description": {"type": "string", "description": "Description of the integration"}, "dest_endpoint": {"type": "string", "description": "Destination endpoint name"}, "dest_endpoint_id": {"type": "string", "description": "Destination endpoint id"}, "dest_project": {"type": "string", "maxLength": 63, "description": "Project name"}, "dest_service": {"type": "string", "description": "Destination service name"}, "dest_service_type": {"type": "string", "maxLength": 64, "description": "Service type code"}, "enabled": {"type": "boolean", "description": "True when integration is enabled"}, "integration_status": {"type": "object", "description": "Integration status", "properties": {"state": {"type": "object", "description": "Service integration state", "properties": {"errors": {"type": "array", "description": "Errors", "items": {"type": "string"}}, "likely_error_cause": {"type": "string", "description": "Most likely cause of the errors", "enum": ["null", "destination", "integration", "source", "unknown"]}, "nodes": {"type": "object", "description": "Nodes", "properties": {}}, "status": {"type": "string", "description": "Service integration status", "enum": ["failed", "inactive", "running", "starting", "unknown"]}}, "required": ["errors", "nodes", "status"]}, "status_user_desc": {"type": "string", "description": "Integration status description"}}, "required": ["state", "status_user_desc"]}, "integration_type": {"type": "string", "description": "Type of the integration"}, "service_integration_id": {"type": "string", "description": "Integration ID"}, "source_endpoint": {"type": "string", "description": "Source endpoint name"}, "source_endpoint_id": {"type": "string", "description": "Source endpoint ID"}, "source_project": {"type": "string", "maxLength": 63, "description": "Project name"}, "source_service": {"type": "string", "description": "Source service name"}, "source_service_type": {"type": "string", "maxLength": 64, "description": "Service type code"}, "user_config": {"type": "object", "description": "Service integration settings", "properties": {}}}, "required": ["active", "description", "dest_project", "dest_service_type", "enabled", "integration_type", "service_integration_id", "source_project", "source_service", "source_service_type"]}}, "service_name": {"type": "string", "minLength": 1, "maxLength": 64, "description": "Service name"}, "service_notifications": {"type": "array", "description": "Service notifications", "items": {"type": "object", "properties": {"level": {"type": "string", "description": "Notification level", "enum": ["notice", "warning"]}, "message": {"type": "string", "maxLength": 1024, "description": "Human notification message"}, "metadata": {"type": "object", "description": "Notification metadata", "properties": {"end_of_life_help_article_url": {"type": "string", "description": "Link to the help article"}, "end_of_life_policy_url": {"type": "string", "description": "Link to the help article"}, "service_end_of_life_time": {"type": "string", "maxLength": 36, "description": "Timestamp in ISO 8601 format, always in UTC"}, "upgrade_to_service_type": {"type": "string", "maxLength": 64, "description": "If the customer takes no action, the service is updated to this service type when end of life is reached on the Aiven platform. If it is the same as the service type, the platform only upgrades the version."}, "upgrade_to_version": {"type": "string", "maxLength": 32, "description": "The version to which the service will be updated at the end of life on the Aiven platform if the user does not take any action"}}}, "type": {"type": "string", "description": "Notification type", "enum": ["service_end_of_life", "service_powered_off_removal"]}}, "required": ["level", "message", "metadata", "type"]}}, "service_type": {"type": "string", "maxLength": 64, "description": "Service type code"}, "service_type_description": {"type": "string", "description": "Single line description of the service"}, "service_uri": {"type": "string", "description": "URI for connecting to the service (may be null)"}, "service_uri_params": {"type": "object", "description": "service_uri parameterized into key-value pairs", "properties": {}}, "state": {"type": "string", "description": "State of the service", "enum": ["POWEROFF", "REBALANCING", "REBUILDING", "RUNNING"]}, "tags": {"type": "object", "description": "Set of resource tags", "properties": {}}, "tech_emails": {"type": "array", "maxItems": 10, "description": "List of service technical email addresses", "items": {"type": "object", "properties": {"email": {"type": "string", "maxLength": 254, "description": "User email address"}}, "required": ["email"]}}, "termination_protection": {"type": "boolean", "description": "Service is protected against termination and powering off"}, "topics": {"type": "array", "description": "Kafka topics. DEPRECATED: Use /project/$project/service/$service/topic instead", "items": {"type": "object", "properties": {"cleanup_policy": {"type": "string", "maxLength": 64, "description": "The retention policy to use on old segments. Possible values include 'delete', 'compact', or a comma-separated list of them. The default policy ('delete') will discard old segments when their retention time or size limit has been reached. The 'compact' setting will enable log compaction on the topic.", "title": "cleanup.policy"}, "min_insync_replicas": {"type": "integer", "minimum": 1, "description": "When a producer sets acks to 'all' (or '-1'), this configuration specifies the minimum number of replicas that must acknowledge a write for the write to be considered successful. If this minimum cannot be met, then the producer will raise an exception (either NotEnoughReplicas or NotEnoughReplicasAfterAppend). When used together, min.insync.replicas and acks allow you to enforce greater durability guarantees. A typical scenario would be to create a topic with a replication factor of 3, set min.insync.replicas to 2, and produce with acks of 'all'. This will ensure that the producer raises an exception if a majority of replicas do not receive a write.", "title": "min.insync.replicas"}, "partitions": {"type": "integer", "minimum": 1, "maximum": 1000000, "description": "Number of partitions"}, "replication": {"type": "integer", "minimum": 1, "description": "Number of replicas"}, "retention_bytes": {"type": "integer", "description": "This configuration controls the maximum size a partition (which consists of log segments) can grow to before we will discard old log segments to free up space if we are using the 'delete' retention policy. By default there is no size limit only a time limit. Since this limit is enforced at the partition level, multiply it by the number of partitions to compute the topic retention in bytes.", "title": "retention.bytes"}, "retention_hours": {"type": "integer", "maximum": 2562047788015, "description": "Retention period (hours)"}, "state": {"type": "string", "description": "Topic state", "enum": ["ACTIVE", "CONFIGURING", "DELETING"]}, "topic_name": {"type": "string", "minLength": 1, "maxLength": 249, "description": "Topic name"}}, "required": ["cleanup_policy", "min_insync_replicas", "partitions", "replication", "retention_bytes", "retention_hours", "topic_name"]}}, "update_time": {"type": "string", "maxLength": 36, "description": "Service last update timestamp (ISO 8601)"}, "user_config": {"type": "object", "description": "Service type-specific settings", "properties": {}}, "users": {"type": "array", "description": "List of service users", "items": {"type": "object", "properties": {"access_cert": {"type": "string", "description": "Access certificate for TLS client authentication"}, "access_cert_not_valid_after_time": {"type": "string", "description": "Validity end time (ISO8601) for the current access certificate"}, "access_control": {"type": "object", "description": "Service type specific access control rules for user. Currently only used for configuring user ACLs for Redis version 6 and above.", "title": "Service specific access controls for user", "properties": {"dragonfly_acl_categories": {"type": "array", "maxItems": 256, "description": "Command category rules", "items": {"type": "string"}}, "dragonfly_acl_commands": {"type": "array", "maxItems": 256, "description": "Rules for individual commands", "items": {"type": "string"}}, "dragonfly_acl_keys": {"type": "array", "maxItems": 256, "description": "Key access rules", "items": {"type": "string"}}, "pg_allow_replication": {"type": "boolean", "description": "Enable REPLICATION role option"}, "redis_acl_categories": {"type": "array", "maxItems": 256, "description": "Command category rules", "items": {"type": "string"}}, "redis_acl_channels": {"type": "array", "maxItems": 256, "description": "Glob-style patterns defining which pub/sub channels can be accessed. If array is not defined, the default policy is used (allchannels).", "title": "Permitted pub/sub channel patterns", "items": {"type": "string"}}, "redis_acl_commands": {"type": "array", "maxItems": 256, "description": "Rules for individual commands", "items": {"type": "string"}}, "redis_acl_keys": {"type": "array", "maxItems": 256, "description": "Key access rules", "items": {"type": "string"}}, "valkey_acl_categories": {"type": "array", "maxItems": 256, "description": "Command category rules", "items": {"type": "string"}}, "valkey_acl_channels": {"type": "array", "maxItems": 256, "description": "Glob-style patterns defining which pub/sub channels can be accessed. If array is not defined, the default policy is used (allchannels).", "title": "Permitted pub/sub channel patterns", "items": {"type": "string"}}, "valkey_acl_commands": {"type": "array", "maxItems": 256, "description": "Rules for individual commands", "items": {"type": "string"}}, "valkey_acl_keys": {"type": "array", "maxItems": 256, "description": "Key access rules", "items": {"type": "string"}}}}, "access_key": {"type": "string", "description": "Access key for TLS client authentication"}, "authentication": {"type": "string", "description": "Service specific authentication details. Currently only used for MySQL where accepted options are 'mysql_native_password' and 'caching_sha2_password', latter being default when this is not explicitly set.", "title": "Authentication details", "enum": ["null", "caching_sha2_password", "mysql_native_password"]}, "expiring_cert_not_valid_after_time": {"type": "string", "description": "When the existing certificate is nearing expiration and a new certificate has been generated, the validity end time (ISO8601) for the expiring certificate", "title": "Validity end time (ISO8601) for the expiring access certificate"}, "password": {"type": "string", "description": "Account password. A null value indicates a user overridden password."}, "password_updated_time": {"type": "string", "description": "Timestamp (ISO8601) of the last time this password was set."}, "type": {"type": "string", "description": "Account type"}, "username": {"type": "string", "description": "Account username"}}, "required": ["password", "type", "username"]}}}, "required": ["cloud_name", "create_time", "group_list", "plan", "project_vpc_id", "service_integrations", "service_name", "service_type", "service_uri", "state", "termination_protection", "update_time", "user_config"]}}, "required": ["service"]}, "ServiceDatabaseCreateRequestBody": {"type": "object", "description": "ServiceDatabaseCreateRequestBody", "properties": {"database": {"type": "string", "maxLength": 40, "description": "Service database name"}, "lc_collate": {"type": "string", "maxLength": 128, "description": "Default string sort order (LC_COLLATE) for PostgreSQL database", "default": "en_US.UTF-8"}, "lc_ctype": {"type": "string", "maxLength": 128, "description": "Default character classification (LC_CTYPE) for PostgreSQL database", "default": "en_US.UTF-8"}}, "required": ["database"]}, "ServiceDatabaseCreateResponse": {"type": "object", "description": "ServiceDatabaseCreateResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}}, "ServiceDatabaseDeleteResponse": {"type": "object", "description": "ServiceDatabaseDeleteResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}}, "ServiceDatabaseListResponse": {"type": "object", "description": "ServiceDatabaseListResponse", "properties": {"databases": {"type": "array", "description": "List of databases", "items": {"type": "object", "properties": {"database_name": {"type": "string", "description": "Database name or ID"}}, "required": ["database_name"]}}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}, "required": ["databases"]}, "ServiceDeleteResponse": {"type": "object", "description": "ServiceDeleteResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}}, "ServiceEnableWritesResponse": {"type": "object", "description": "ServiceEnableWritesResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "until": {"type": "string", "description": "Writes enabled until"}}, "required": ["message"]}, "ServiceGetResponse": {"type": "object", "description": "ServiceGetResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "service": {"type": "object", "description": "Service information", "properties": {"acl": {"type": "array", "description": "List of Aiven ACL entries for Kafka service", "items": {"type": "object", "properties": {"id": {"type": "string", "maxLength": 40, "description": "ID"}, "permission": {"type": "string", "description": "Kafka permission", "enum": ["admin", "read", "readwrite", "write"]}, "topic": {"type": "string", "minLength": 1, "maxLength": 249, "description": "Topic name pattern"}, "username": {"type": "string", "minLength": 1, "maxLength": 64, "description": "Username"}}, "required": ["permission", "topic", "username"]}}, "backups": {"type": "array", "description": "List of backups for the service", "items": {"type": "object", "properties": {"additional_regions": {"type": "array", "description": "Additional backup regions, if available", "items": {"type": "object", "properties": {"cloud": {"type": "string", "maxLength": 256, "description": "Target cloud"}, "pause_reason": {"type": "string", "description": "Reason for pausing the backup synchronization"}, "paused": {"type": "boolean", "description": "Indicates additional backup synchronization is paused"}, "region": {"type": "string", "description": "Cloud storage region name"}}, "required": ["cloud"]}}, "backup_name": {"type": "string", "description": "Internal name of this backup"}, "backup_time": {"type": "string", "maxLength": 36, "description": "Backup timestamp (ISO 8601)"}, "data_size": {"type": "integer", "description": "Backup's original size before compression"}, "incremental": {"type": "boolean", "description": "Indicates if this backup is a full or an incremental one (available only for MySQL)"}, "storage_location": {"type": "string", "description": "Location where this backup is stored"}, "tiered_storage_data_size": {"type": "integer", "description": "The amount of tiered storage data in bytes referenced by this backup."}}, "required": ["backup_name", "backup_time", "data_size"]}}, "cloud_description": {"type": "string", "description": "Cloud provider and location"}, "cloud_name": {"type": "string", "maxLength": 256, "description": "Target cloud"}, "components": {"type": "array", "description": "Service component information objects", "items": {"type": "object", "properties": {"component": {"type": "string", "description": "Service component name"}, "host": {"type": "string", "description": "DNS name for connecting to the service component"}, "kafka_authentication_method": {"type": "string", "description": "Kafka authentication method. This is a value specific to the 'kafka' service component", "enum": ["certificate", "sasl"]}, "kafka_ssl_ca": {"type": "string", "description": "Specifies if this port uses Project CA or Letsencrypt. If not specified, the default is using Project CA.This is a value specific to the 'kafka' service component.", "enum": ["project_ca", "letsencrypt"]}, "path": {"type": "string", "description": "Path component of the service URL (useful only if service component is HTTP or HTTPS endpoint)"}, "port": {"type": "integer", "minimum": 0, "maximum": 65535, "description": "Port number for connecting to the service component"}, "privatelink_connection_id": {"type": "string", "description": "Privatelink connection ID"}, "route": {"type": "string", "description": "Network access route", "enum": ["dynamic", "public", "private", "privatelink"]}, "ssl": {"type": "boolean", "description": "Whether the endpoint is encrypted or accepts plaintext. By default endpoints are always encrypted andthis property is only included for service components that may disable encryption."}, "usage": {"type": "string", "description": "DNS usage name", "enum": ["disaster_recovery", "primary", "replica", "ha_replica"]}}, "required": ["component", "host", "port", "route", "usage"]}}, "connection_info": {"type": "object", "description": "Service-specific connection information properties", "properties": {}}, "connection_pools": {"type": "array", "description": "PostgreSQL PGBouncer connection pools", "items": {"type": "object", "properties": {"connection_uri": {"type": "string", "description": "Connection URI for the DB pool"}, "database": {"type": "string", "maxLength": 63, "description": "Database name"}, "pool_mode": {"type": "string", "description": "PGBouncer pool mode", "enum": ["session", "transaction", "statement"]}, "pool_name": {"type": "string", "maxLength": 63, "description": "Connection pool name"}, "pool_size": {"type": "integer", "minimum": 1, "maximum": 10000, "description": "Size of PGBouncer's PostgreSQL side connection pool"}, "username": {"type": "string", "maxLength": 64, "description": "Pool username"}}, "required": ["connection_uri", "database", "pool_mode", "pool_name", "pool_size"]}}, "create_time": {"type": "string", "maxLength": 36, "description": "Service creation timestamp (ISO 8601)"}, "databases": {"type": "array", "description": "List of service's user database names", "items": {"type": "string"}}, "disk_space_mb": {"type": "integer", "minimum": 0, "description": "Megabytes of disk space for data storage"}, "features": {"type": "object", "description": "Feature flags", "properties": {}}, "group_list": {"type": "array", "description": "List of service groups the service belongs to. This field is deprecated. It is always set to single element with value 'default'", "items": {"type": "string"}}, "kafka_acl": {"type": "array", "description": "List of Kafka-native ACL entries", "items": {"type": "object", "properties": {"host": {"type": "string", "minLength": 0, "maxLength": 256, "description": "the host or * for all hosts"}, "id": {"type": "string", "maxLength": 40, "description": "ID"}, "operation": {"type": "string", "description": "Kafka ACL operation represents an operation which an ACL grants or denies permission to perform", "enum": ["All", "Alter", "AlterConfigs", "ClusterAction", "Create", "CreateTokens", "Delete", "Describe", "DescribeConfigs", "DescribeTokens", "IdempotentWrite", "Read", "Write"]}, "pattern_type": {"type": "string", "description": "Kafka ACL pattern type of resource name", "enum": ["LITERAL", "PREFIXED"]}, "permission_type": {"type": "string", "description": "Kafka ACL permission type", "enum": ["ALLOW", "DENY"]}, "principal": {"type": "string", "minLength": 0, "maxLength": 256, "description": "principal is in 'principalType:name' format"}, "resource_name": {"type": "string", "minLength": 0, "maxLength": 256, "description": "Resource pattern used to match specified resources"}, "resource_type": {"type": "string", "description": "Kafka ACL resource type represents a type of resource which an ACL can be applied to", "enum": ["Cluster", "DelegationToken", "Group", "Topic", "TransactionalId", "User"]}}, "required": ["host", "id", "operation", "pattern_type", "permission_type", "principal", "resource_name", "resource_type"]}}, "maintenance": {"type": "object", "description": "Automatic maintenance settings", "properties": {"controlled_switchover": {"type": "object", "description": "Controlled switchover status", "properties": {"enabled": {"type": "boolean", "description": "Controlled switchover configured and enabled"}, "scheduled_start_time": {"type": "string", "description": "Scheduled start time of the switchover window, if enabled and active"}, "state": {"type": "string", "description": "Controlled switchover state", "enum": ["INACTIVE", "PENDING", "SCHEDULED", "RUNNING", "COMPLETED"]}}, "required": ["enabled", "scheduled_start_time", "state"]}, "dow": {"type": "string", "description": "Day of week for installing updates", "enum": ["monday", "tuesday", "wednesday", "thursday", "friday", "saturday", "sunday", "never"]}, "enabled": {"type": "boolean", "description": "Service maintenance enabled"}, "time": {"type": "string", "minLength": 8, "maxLength": 8, "description": "Time for installing updates, UTC"}, "updates": {"type": "array", "description": "List of updates waiting to be installed", "items": {"type": "object", "properties": {"deadline": {"type": "string", "description": "Deadline for installing the update"}, "description": {"type": "string", "description": "Description of the update"}, "documentation_link": {"type": "string", "description": "Optional link"}, "impact": {"type": "string", "description": "Impact statement of the update"}, "impact_portable_text": {"type": "string", "description": "Impact statement in portable text format"}, "start_after": {"type": "string", "description": "The earliest time the update will be automatically applied"}, "start_at": {"type": "string", "description": "The time when the update will be automatically applied"}}}}}, "required": ["dow", "enabled", "time", "updates"]}, "metadata": {"type": "object", "description": "Service type specific metadata", "properties": {}}, "node_count": {"type": "integer", "description": "Number of service nodes in the active plan"}, "node_cpu_count": {"type": "integer", "description": "Number of CPUs for each node"}, "node_memory_mb": {"type": "number", "description": "Megabytes of memory for each node"}, "node_states": {"type": "array", "description": "State of individual service nodes", "items": {"type": "object", "properties": {"availability_zone": {"type": "string", "description": "The availability zone in which the node is place. If there is no availability zone available this field will be missing."}, "name": {"type": "string", "description": "Name of the service node"}, "progress_updates": {"type": "array", "description": "Extra information regarding the progress for current state", "items": {"type": "object", "properties": {"completed": {"type": "boolean", "description": "Indicates whether this phase has been completed or not"}, "current": {"type": "integer", "description": "Current progress for this phase. May be missing or null."}, "max": {"type": "integer", "description": "Maximum progress value for this phase. May be missing or null. May change."}, "min": {"type": "integer", "description": "Minimum progress value for this phase. May be missing or null."}, "phase": {"type": "string", "description": "Key identifying this phase", "enum": ["prepare", "basebackup", "stream", "finalize"]}, "unit": {"type": "string", "description": "Unit for current/min/max values. New units may be added. If null should be treated as generic unit", "enum": ["binlogs", "bytes_compressed", "bytes_uncompressed", "wal_lsn"]}}, "required": ["completed", "phase"]}}, "role": {"type": "string", "description": "Role of this node. Only returned for a subset of service types", "enum": ["master", "standby", "read-replica"]}, "roles": {"type": "string", "description": "A role string indicating the node's roles in the OpenSearch cluster. Only populated for OpenSearch services using cluster plans. Format: first character is '*' (elected cluster manager) or '-' (not elected), followed by role letters: 'd' (data), 'i' (ingest), 'm' (cluster_manager eligible), 'c' (coordinating), 'L' (ML), 'D' (Dashboards). Example: '*mc' means elected cluster manager with cluster_manager and coordinating roles.", "title": "Roles of this node. Only returned for OpenSearch services with cluster plans"}, "shard": {"type": "object", "description": "Shard of this node. Only returned for a subset of service types", "properties": {"name": {"type": "string", "description": "Name of the shard."}, "position": {"type": "integer", "description": "Position of this shard within the service"}}}, "state": {"type": "string", "description": "Current state of the service node", "enum": ["leaving", "running", "setting_up_vm", "syncing_data", "timing_out", "unknown"]}}, "required": ["availability_zone", "name", "state"]}}, "plan": {"type": "string", "maxLength": 128, "description": "Subscription plan"}, "project_vpc_id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "Project VPC ID"}, "schema_registry_acl": {"type": "array", "description": "List of Schema Registry ACL entries", "items": {"type": "object", "properties": {"id": {"type": "string", "maxLength": 40, "description": "ID"}, "permission": {"type": "string", "description": "ACL entry for Schema Registry", "enum": ["schema_registry_read", "schema_registry_write"]}, "resource": {"type": "string", "minLength": 1, "maxLength": 249, "description": "Schema Registry ACL entry resource name pattern"}, "username": {"type": "string", "minLength": 1, "maxLength": 64, "description": "Username"}}, "required": ["permission", "resource", "username"]}}, "server_group": {"type": "object", "description": "Service IaaS server group", "properties": {"enabled": {"type": "boolean", "description": "Flag set if server group is in use for the service"}, "type": {"type": "string", "description": "IaaS server group type"}}}, "service_integrations": {"type": "array", "description": "Integrations with other services", "items": {"type": "object", "properties": {"active": {"type": "boolean", "description": "True when integration is active"}, "description": {"type": "string", "description": "Description of the integration"}, "dest_endpoint": {"type": "string", "description": "Destination endpoint name"}, "dest_endpoint_id": {"type": "string", "description": "Destination endpoint id"}, "dest_project": {"type": "string", "maxLength": 63, "description": "Project name"}, "dest_service": {"type": "string", "description": "Destination service name"}, "dest_service_type": {"type": "string", "maxLength": 64, "description": "Service type code"}, "enabled": {"type": "boolean", "description": "True when integration is enabled"}, "integration_status": {"type": "object", "description": "Integration status", "properties": {"state": {"type": "object", "description": "Service integration state", "properties": {"errors": {"type": "array", "description": "Errors", "items": {"type": "string"}}, "likely_error_cause": {"type": "string", "description": "Most likely cause of the errors", "enum": ["null", "destination", "integration", "source", "unknown"]}, "nodes": {"type": "object", "description": "Nodes", "properties": {}}, "status": {"type": "string", "description": "Service integration status", "enum": ["failed", "inactive", "running", "starting", "unknown"]}}, "required": ["errors", "nodes", "status"]}, "status_user_desc": {"type": "string", "description": "Integration status description"}}, "required": ["state", "status_user_desc"]}, "integration_type": {"type": "string", "description": "Type of the integration"}, "service_integration_id": {"type": "string", "description": "Integration ID"}, "source_endpoint": {"type": "string", "description": "Source endpoint name"}, "source_endpoint_id": {"type": "string", "description": "Source endpoint ID"}, "source_project": {"type": "string", "maxLength": 63, "description": "Project name"}, "source_service": {"type": "string", "description": "Source service name"}, "source_service_type": {"type": "string", "maxLength": 64, "description": "Service type code"}, "user_config": {"type": "object", "description": "Service integration settings", "properties": {}}}, "required": ["active", "description", "dest_project", "dest_service_type", "enabled", "integration_type", "service_integration_id", "source_project", "source_service", "source_service_type"]}}, "service_name": {"type": "string", "minLength": 1, "maxLength": 64, "description": "Service name"}, "service_notifications": {"type": "array", "description": "Service notifications", "items": {"type": "object", "properties": {"level": {"type": "string", "description": "Notification level", "enum": ["notice", "warning"]}, "message": {"type": "string", "maxLength": 1024, "description": "Human notification message"}, "metadata": {"type": "object", "description": "Notification metadata", "properties": {"end_of_life_help_article_url": {"type": "string", "description": "Link to the help article"}, "end_of_life_policy_url": {"type": "string", "description": "Link to the help article"}, "service_end_of_life_time": {"type": "string", "maxLength": 36, "description": "Timestamp in ISO 8601 format, always in UTC"}, "upgrade_to_service_type": {"type": "string", "maxLength": 64, "description": "If the customer takes no action, the service is updated to this service type when end of life is reached on the Aiven platform. If it is the same as the service type, the platform only upgrades the version."}, "upgrade_to_version": {"type": "string", "maxLength": 32, "description": "The version to which the service will be updated at the end of life on the Aiven platform if the user does not take any action"}}}, "type": {"type": "string", "description": "Notification type", "enum": ["service_end_of_life", "service_powered_off_removal"]}}, "required": ["level", "message", "metadata", "type"]}}, "service_type": {"type": "string", "maxLength": 64, "description": "Service type code"}, "service_type_description": {"type": "string", "description": "Single line description of the service"}, "service_uri": {"type": "string", "description": "URI for connecting to the service (may be null)"}, "service_uri_params": {"type": "object", "description": "service_uri parameterized into key-value pairs", "properties": {}}, "state": {"type": "string", "description": "State of the service", "enum": ["POWEROFF", "REBALANCING", "REBUILDING", "RUNNING"]}, "tags": {"type": "object", "description": "Set of resource tags", "properties": {}}, "tech_emails": {"type": "array", "maxItems": 10, "description": "List of service technical email addresses", "items": {"type": "object", "properties": {"email": {"type": "string", "maxLength": 254, "description": "User email address"}}, "required": ["email"]}}, "termination_protection": {"type": "boolean", "description": "Service is protected against termination and powering off"}, "topics": {"type": "array", "description": "Kafka topics. DEPRECATED: Use /project/$project/service/$service/topic instead", "items": {"type": "object", "properties": {"cleanup_policy": {"type": "string", "maxLength": 64, "description": "The retention policy to use on old segments. Possible values include 'delete', 'compact', or a comma-separated list of them. The default policy ('delete') will discard old segments when their retention time or size limit has been reached. The 'compact' setting will enable log compaction on the topic.", "title": "cleanup.policy"}, "min_insync_replicas": {"type": "integer", "minimum": 1, "description": "When a producer sets acks to 'all' (or '-1'), this configuration specifies the minimum number of replicas that must acknowledge a write for the write to be considered successful. If this minimum cannot be met, then the producer will raise an exception (either NotEnoughReplicas or NotEnoughReplicasAfterAppend). When used together, min.insync.replicas and acks allow you to enforce greater durability guarantees. A typical scenario would be to create a topic with a replication factor of 3, set min.insync.replicas to 2, and produce with acks of 'all'. This will ensure that the producer raises an exception if a majority of replicas do not receive a write.", "title": "min.insync.replicas"}, "partitions": {"type": "integer", "minimum": 1, "maximum": 1000000, "description": "Number of partitions"}, "replication": {"type": "integer", "minimum": 1, "description": "Number of replicas"}, "retention_bytes": {"type": "integer", "description": "This configuration controls the maximum size a partition (which consists of log segments) can grow to before we will discard old log segments to free up space if we are using the 'delete' retention policy. By default there is no size limit only a time limit. Since this limit is enforced at the partition level, multiply it by the number of partitions to compute the topic retention in bytes.", "title": "retention.bytes"}, "retention_hours": {"type": "integer", "maximum": 2562047788015, "description": "Retention period (hours)"}, "state": {"type": "string", "description": "Topic state", "enum": ["ACTIVE", "CONFIGURING", "DELETING"]}, "topic_name": {"type": "string", "minLength": 1, "maxLength": 249, "description": "Topic name"}}, "required": ["cleanup_policy", "min_insync_replicas", "partitions", "replication", "retention_bytes", "retention_hours", "topic_name"]}}, "update_time": {"type": "string", "maxLength": 36, "description": "Service last update timestamp (ISO 8601)"}, "user_config": {"type": "object", "description": "Service type-specific settings", "properties": {}}, "users": {"type": "array", "description": "List of service users", "items": {"type": "object", "properties": {"access_cert": {"type": "string", "description": "Access certificate for TLS client authentication"}, "access_cert_not_valid_after_time": {"type": "string", "description": "Validity end time (ISO8601) for the current access certificate"}, "access_control": {"type": "object", "description": "Service type specific access control rules for user. Currently only used for configuring user ACLs for Redis version 6 and above.", "title": "Service specific access controls for user", "properties": {"dragonfly_acl_categories": {"type": "array", "maxItems": 256, "description": "Command category rules", "items": {"type": "string"}}, "dragonfly_acl_commands": {"type": "array", "maxItems": 256, "description": "Rules for individual commands", "items": {"type": "string"}}, "dragonfly_acl_keys": {"type": "array", "maxItems": 256, "description": "Key access rules", "items": {"type": "string"}}, "pg_allow_replication": {"type": "boolean", "description": "Enable REPLICATION role option"}, "redis_acl_categories": {"type": "array", "maxItems": 256, "description": "Command category rules", "items": {"type": "string"}}, "redis_acl_channels": {"type": "array", "maxItems": 256, "description": "Glob-style patterns defining which pub/sub channels can be accessed. If array is not defined, the default policy is used (allchannels).", "title": "Permitted pub/sub channel patterns", "items": {"type": "string"}}, "redis_acl_commands": {"type": "array", "maxItems": 256, "description": "Rules for individual commands", "items": {"type": "string"}}, "redis_acl_keys": {"type": "array", "maxItems": 256, "description": "Key access rules", "items": {"type": "string"}}, "valkey_acl_categories": {"type": "array", "maxItems": 256, "description": "Command category rules", "items": {"type": "string"}}, "valkey_acl_channels": {"type": "array", "maxItems": 256, "description": "Glob-style patterns defining which pub/sub channels can be accessed. If array is not defined, the default policy is used (allchannels).", "title": "Permitted pub/sub channel patterns", "items": {"type": "string"}}, "valkey_acl_commands": {"type": "array", "maxItems": 256, "description": "Rules for individual commands", "items": {"type": "string"}}, "valkey_acl_keys": {"type": "array", "maxItems": 256, "description": "Key access rules", "items": {"type": "string"}}}}, "access_key": {"type": "string", "description": "Access key for TLS client authentication"}, "authentication": {"type": "string", "description": "Service specific authentication details. Currently only used for MySQL where accepted options are 'mysql_native_password' and 'caching_sha2_password', latter being default when this is not explicitly set.", "title": "Authentication details", "enum": ["null", "caching_sha2_password", "mysql_native_password"]}, "expiring_cert_not_valid_after_time": {"type": "string", "description": "When the existing certificate is nearing expiration and a new certificate has been generated, the validity end time (ISO8601) for the expiring certificate", "title": "Validity end time (ISO8601) for the expiring access certificate"}, "password": {"type": "string", "description": "Account password. A null value indicates a user overridden password."}, "password_updated_time": {"type": "string", "description": "Timestamp (ISO8601) of the last time this password was set."}, "type": {"type": "string", "description": "Account type"}, "username": {"type": "string", "description": "Account username"}}, "required": ["password", "type", "username"]}}}, "required": ["cloud_name", "create_time", "group_list", "plan", "project_vpc_id", "service_integrations", "service_name", "service_type", "service_uri", "state", "termination_protection", "update_time", "user_config"]}}, "required": ["service"]}, "ServiceGetMigrationStatusResponse": {"type": "object", "description": "ServiceGetMigrationStatusResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "migration": {"type": "object", "description": "Service migration info", "properties": {"error": {"type": "string", "description": "Error message in case that migration has failed"}, "master_last_io_seconds_ago": {"type": "integer", "description": "Redis only: how many seconds since last I/O with redis master"}, "master_link_status": {"type": "string", "description": "Redis only: replication master link status", "enum": ["up", "down"]}, "method": {"type": "string", "description": "The migration method to be used (currently supported only by Redis, Dragonfly, MySQL and PostgreSQL service types)", "enum": ["", "dump", "mysqldump", "pg_dump", "replication", "scan"]}, "status": {"type": "string", "description": "Migration status", "enum": ["done", "failed", "running", "syncing", "waiting"]}}, "required": ["method", "status"]}, "migration_detail": {"type": "array", "description": "Migration status per database", "items": {"type": "object", "properties": {"dbname": {"type": "string", "description": "Migrated db name (PG, MySQL) or number (Redis, Dragonfly)"}, "dump_tool": {"type": "string", "description": "Tool used to perform the initial dump of a database to migrate (when method is replication), or just the dump-reload of the database (when method is dump).", "enum": ["mysqldump", "mydumper"]}, "error": {"type": "string", "description": "Error message in case that migration has failed"}, "method": {"type": "string", "description": "The migration method to be used (currently supported only by Redis, Dragonfly, MySQL and PostgreSQL service types)", "enum": ["", "dump", "mysqldump", "pg_dump", "replication", "scan"]}, "status": {"type": "string", "description": "Migration status", "enum": ["done", "failed", "running", "syncing", "waiting"]}}, "required": ["dbname", "method", "status"]}}}, "required": ["migration"]}, "ServiceListResponse": {"type": "object", "description": "ServiceListResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "services": {"type": "array", "description": "List of services under the project", "items": {"type": "object", "properties": {"acl": {"type": "array", "description": "List of Aiven ACL entries for Kafka service", "items": {"type": "object", "properties": {"id": {"type": "string", "maxLength": 40, "description": "ID"}, "permission": {"type": "string", "description": "Kafka permission", "enum": ["admin", "read", "readwrite", "write"]}, "topic": {"type": "string", "minLength": 1, "maxLength": 249, "description": "Topic name pattern"}, "username": {"type": "string", "minLength": 1, "maxLength": 64, "description": "Username"}}, "required": ["permission", "topic", "username"]}}, "backups": {"type": "array", "description": "List of backups for the service", "items": {"type": "object", "properties": {"additional_regions": {"type": "array", "description": "Additional backup regions, if available", "items": {"type": "object", "properties": {"cloud": {"type": "string", "maxLength": 256, "description": "Target cloud"}, "pause_reason": {"type": "string", "description": "Reason for pausing the backup synchronization"}, "paused": {"type": "boolean", "description": "Indicates additional backup synchronization is paused"}, "region": {"type": "string", "description": "Cloud storage region name"}}, "required": ["cloud"]}}, "backup_name": {"type": "string", "description": "Internal name of this backup"}, "backup_time": {"type": "string", "maxLength": 36, "description": "Backup timestamp (ISO 8601)"}, "data_size": {"type": "integer", "description": "Backup's original size before compression"}, "incremental": {"type": "boolean", "description": "Indicates if this backup is a full or an incremental one (available only for MySQL)"}, "storage_location": {"type": "string", "description": "Location where this backup is stored"}, "tiered_storage_data_size": {"type": "integer", "description": "The amount of tiered storage data in bytes referenced by this backup."}}, "required": ["backup_name", "backup_time", "data_size"]}}, "cloud_description": {"type": "string", "description": "Cloud provider and location"}, "cloud_name": {"type": "string", "maxLength": 256, "description": "Target cloud"}, "components": {"type": "array", "description": "Service component information objects", "items": {"type": "object", "properties": {"component": {"type": "string", "description": "Service component name"}, "host": {"type": "string", "description": "DNS name for connecting to the service component"}, "kafka_authentication_method": {"type": "string", "description": "Kafka authentication method. This is a value specific to the 'kafka' service component", "enum": ["certificate", "sasl"]}, "kafka_ssl_ca": {"type": "string", "description": "Specifies if this port uses Project CA or Letsencrypt. If not specified, the default is using Project CA.This is a value specific to the 'kafka' service component.", "enum": ["project_ca", "letsencrypt"]}, "path": {"type": "string", "description": "Path component of the service URL (useful only if service component is HTTP or HTTPS endpoint)"}, "port": {"type": "integer", "minimum": 0, "maximum": 65535, "description": "Port number for connecting to the service component"}, "privatelink_connection_id": {"type": "string", "description": "Privatelink connection ID"}, "route": {"type": "string", "description": "Network access route", "enum": ["dynamic", "public", "private", "privatelink"]}, "ssl": {"type": "boolean", "description": "Whether the endpoint is encrypted or accepts plaintext. By default endpoints are always encrypted andthis property is only included for service components that may disable encryption."}, "usage": {"type": "string", "description": "DNS usage name", "enum": ["disaster_recovery", "primary", "replica", "ha_replica"]}}, "required": ["component", "host", "port", "route", "usage"]}}, "connection_info": {"type": "object", "description": "Service-specific connection information properties", "properties": {}}, "connection_pools": {"type": "array", "description": "PostgreSQL PGBouncer connection pools", "items": {"type": "object", "properties": {"connection_uri": {"type": "string", "description": "Connection URI for the DB pool"}, "database": {"type": "string", "maxLength": 63, "description": "Database name"}, "pool_mode": {"type": "string", "description": "PGBouncer pool mode", "enum": ["session", "transaction", "statement"]}, "pool_name": {"type": "string", "maxLength": 63, "description": "Connection pool name"}, "pool_size": {"type": "integer", "minimum": 1, "maximum": 10000, "description": "Size of PGBouncer's PostgreSQL side connection pool"}, "username": {"type": "string", "maxLength": 64, "description": "Pool username"}}, "required": ["connection_uri", "database", "pool_mode", "pool_name", "pool_size"]}}, "create_time": {"type": "string", "maxLength": 36, "description": "Service creation timestamp (ISO 8601)"}, "databases": {"type": "array", "description": "List of service's user database names", "items": {"type": "string"}}, "disk_space_mb": {"type": "integer", "minimum": 0, "description": "Megabytes of disk space for data storage"}, "features": {"type": "object", "description": "Feature flags", "properties": {}}, "group_list": {"type": "array", "description": "List of service groups the service belongs to. This field is deprecated. It is always set to single element with value 'default'", "items": {"type": "string"}}, "kafka_acl": {"type": "array", "description": "List of Kafka-native ACL entries", "items": {"type": "object", "properties": {"host": {"type": "string", "minLength": 0, "maxLength": 256, "description": "the host or * for all hosts"}, "id": {"type": "string", "maxLength": 40, "description": "ID"}, "operation": {"type": "string", "description": "Kafka ACL operation represents an operation which an ACL grants or denies permission to perform", "enum": ["All", "Alter", "AlterConfigs", "ClusterAction", "Create", "CreateTokens", "Delete", "Describe", "DescribeConfigs", "DescribeTokens", "IdempotentWrite", "Read", "Write"]}, "pattern_type": {"type": "string", "description": "Kafka ACL pattern type of resource name", "enum": ["LITERAL", "PREFIXED"]}, "permission_type": {"type": "string", "description": "Kafka ACL permission type", "enum": ["ALLOW", "DENY"]}, "principal": {"type": "string", "minLength": 0, "maxLength": 256, "description": "principal is in 'principalType:name' format"}, "resource_name": {"type": "string", "minLength": 0, "maxLength": 256, "description": "Resource pattern used to match specified resources"}, "resource_type": {"type": "string", "description": "Kafka ACL resource type represents a type of resource which an ACL can be applied to", "enum": ["Cluster", "DelegationToken", "Group", "Topic", "TransactionalId", "User"]}}, "required": ["host", "id", "operation", "pattern_type", "permission_type", "principal", "resource_name", "resource_type"]}}, "maintenance": {"type": "object", "description": "Automatic maintenance settings", "properties": {"controlled_switchover": {"type": "object", "description": "Controlled switchover status", "properties": {"enabled": {"type": "boolean", "description": "Controlled switchover configured and enabled"}, "scheduled_start_time": {"type": "string", "description": "Scheduled start time of the switchover window, if enabled and active"}, "state": {"type": "string", "description": "Controlled switchover state", "enum": ["INACTIVE", "PENDING", "SCHEDULED", "RUNNING", "COMPLETED"]}}, "required": ["enabled", "scheduled_start_time", "state"]}, "dow": {"type": "string", "description": "Day of week for installing updates", "enum": ["monday", "tuesday", "wednesday", "thursday", "friday", "saturday", "sunday", "never"]}, "enabled": {"type": "boolean", "description": "Service maintenance enabled"}, "time": {"type": "string", "minLength": 8, "maxLength": 8, "description": "Time for installing updates, UTC"}, "updates": {"type": "array", "description": "List of updates waiting to be installed", "items": {"type": "object", "properties": {"deadline": {"type": "string", "description": "Deadline for installing the update"}, "description": {"type": "string", "description": "Description of the update"}, "documentation_link": {"type": "string", "description": "Optional link"}, "impact": {"type": "string", "description": "Impact statement of the update"}, "impact_portable_text": {"type": "string", "description": "Impact statement in portable text format"}, "start_after": {"type": "string", "description": "The earliest time the update will be automatically applied"}, "start_at": {"type": "string", "description": "The time when the update will be automatically applied"}}}}}, "required": ["dow", "enabled", "time", "updates"]}, "metadata": {"type": "object", "description": "Service type specific metadata", "properties": {}}, "node_count": {"type": "integer", "description": "Number of service nodes in the active plan"}, "node_cpu_count": {"type": "integer", "description": "Number of CPUs for each node"}, "node_memory_mb": {"type": "number", "description": "Megabytes of memory for each node"}, "node_states": {"type": "array", "description": "State of individual service nodes", "items": {"type": "object", "properties": {"availability_zone": {"type": "string", "description": "The availability zone in which the node is place. If there is no availability zone available this field will be missing."}, "name": {"type": "string", "description": "Name of the service node"}, "progress_updates": {"type": "array", "description": "Extra information regarding the progress for current state", "items": {"type": "object", "properties": {"completed": {"type": "boolean", "description": "Indicates whether this phase has been completed or not"}, "current": {"type": "integer", "description": "Current progress for this phase. May be missing or null."}, "max": {"type": "integer", "description": "Maximum progress value for this phase. May be missing or null. May change."}, "min": {"type": "integer", "description": "Minimum progress value for this phase. May be missing or null."}, "phase": {"type": "string", "description": "Key identifying this phase", "enum": ["prepare", "basebackup", "stream", "finalize"]}, "unit": {"type": "string", "description": "Unit for current/min/max values. New units may be added. If null should be treated as generic unit", "enum": ["binlogs", "bytes_compressed", "bytes_uncompressed", "wal_lsn"]}}, "required": ["completed", "phase"]}}, "role": {"type": "string", "description": "Role of this node. Only returned for a subset of service types", "enum": ["master", "standby", "read-replica"]}, "roles": {"type": "string", "description": "A role string indicating the node's roles in the OpenSearch cluster. Only populated for OpenSearch services using cluster plans. Format: first character is '*' (elected cluster manager) or '-' (not elected), followed by role letters: 'd' (data), 'i' (ingest), 'm' (cluster_manager eligible), 'c' (coordinating), 'L' (ML), 'D' (Dashboards). Example: '*mc' means elected cluster manager with cluster_manager and coordinating roles.", "title": "Roles of this node. Only returned for OpenSearch services with cluster plans"}, "shard": {"type": "object", "description": "Shard of this node. Only returned for a subset of service types", "properties": {"name": {"type": "string", "description": "Name of the shard."}, "position": {"type": "integer", "description": "Position of this shard within the service"}}}, "state": {"type": "string", "description": "Current state of the service node", "enum": ["leaving", "running", "setting_up_vm", "syncing_data", "timing_out", "unknown"]}}, "required": ["availability_zone", "name", "state"]}}, "plan": {"type": "string", "maxLength": 128, "description": "Subscription plan"}, "project_vpc_id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "Project VPC ID"}, "schema_registry_acl": {"type": "array", "description": "List of Schema Registry ACL entries", "items": {"type": "object", "properties": {"id": {"type": "string", "maxLength": 40, "description": "ID"}, "permission": {"type": "string", "description": "ACL entry for Schema Registry", "enum": ["schema_registry_read", "schema_registry_write"]}, "resource": {"type": "string", "minLength": 1, "maxLength": 249, "description": "Schema Registry ACL entry resource name pattern"}, "username": {"type": "string", "minLength": 1, "maxLength": 64, "description": "Username"}}, "required": ["permission", "resource", "username"]}}, "server_group": {"type": "object", "description": "Service IaaS server group", "properties": {"enabled": {"type": "boolean", "description": "Flag set if server group is in use for the service"}, "type": {"type": "string", "description": "IaaS server group type"}}}, "service_integrations": {"type": "array", "description": "Integrations with other services", "items": {"type": "object", "properties": {"active": {"type": "boolean", "description": "True when integration is active"}, "description": {"type": "string", "description": "Description of the integration"}, "dest_endpoint": {"type": "string", "description": "Destination endpoint name"}, "dest_endpoint_id": {"type": "string", "description": "Destination endpoint id"}, "dest_project": {"type": "string", "maxLength": 63, "description": "Project name"}, "dest_service": {"type": "string", "description": "Destination service name"}, "dest_service_type": {"type": "string", "maxLength": 64, "description": "Service type code"}, "enabled": {"type": "boolean", "description": "True when integration is enabled"}, "integration_status": {"type": "object", "description": "Integration status", "properties": {"state": {"type": "object", "description": "Service integration state", "properties": {"errors": {"type": "array", "description": "Errors", "items": {"type": "string"}}, "likely_error_cause": {"type": "string", "description": "Most likely cause of the errors", "enum": ["null", "destination", "integration", "source", "unknown"]}, "nodes": {"type": "object", "description": "Nodes", "properties": {}}, "status": {"type": "string", "description": "Service integration status", "enum": ["failed", "inactive", "running", "starting", "unknown"]}}, "required": ["errors", "nodes", "status"]}, "status_user_desc": {"type": "string", "description": "Integration status description"}}, "required": ["state", "status_user_desc"]}, "integration_type": {"type": "string", "description": "Type of the integration"}, "service_integration_id": {"type": "string", "description": "Integration ID"}, "source_endpoint": {"type": "string", "description": "Source endpoint name"}, "source_endpoint_id": {"type": "string", "description": "Source endpoint ID"}, "source_project": {"type": "string", "maxLength": 63, "description": "Project name"}, "source_service": {"type": "string", "description": "Source service name"}, "source_service_type": {"type": "string", "maxLength": 64, "description": "Service type code"}, "user_config": {"type": "object", "description": "Service integration settings", "properties": {}}}, "required": ["active", "description", "dest_project", "dest_service_type", "enabled", "integration_type", "service_integration_id", "source_project", "source_service", "source_service_type"]}}, "service_name": {"type": "string", "minLength": 1, "maxLength": 64, "description": "Service name"}, "service_notifications": {"type": "array", "description": "Service notifications", "items": {"type": "object", "properties": {"level": {"type": "string", "description": "Notification level", "enum": ["notice", "warning"]}, "message": {"type": "string", "maxLength": 1024, "description": "Human notification message"}, "metadata": {"type": "object", "description": "Notification metadata", "properties": {"end_of_life_help_article_url": {"type": "string", "description": "Link to the help article"}, "end_of_life_policy_url": {"type": "string", "description": "Link to the help article"}, "service_end_of_life_time": {"type": "string", "maxLength": 36, "description": "Timestamp in ISO 8601 format, always in UTC"}, "upgrade_to_service_type": {"type": "string", "maxLength": 64, "description": "If the customer takes no action, the service is updated to this service type when end of life is reached on the Aiven platform. If it is the same as the service type, the platform only upgrades the version."}, "upgrade_to_version": {"type": "string", "maxLength": 32, "description": "The version to which the service will be updated at the end of life on the Aiven platform if the user does not take any action"}}}, "type": {"type": "string", "description": "Notification type", "enum": ["service_end_of_life", "service_powered_off_removal"]}}, "required": ["level", "message", "metadata", "type"]}}, "service_type": {"type": "string", "maxLength": 64, "description": "Service type code"}, "service_type_description": {"type": "string", "description": "Single line description of the service"}, "service_uri": {"type": "string", "description": "URI for connecting to the service (may be null)"}, "service_uri_params": {"type": "object", "description": "service_uri parameterized into key-value pairs", "properties": {}}, "state": {"type": "string", "description": "State of the service", "enum": ["POWEROFF", "REBALANCING", "REBUILDING", "RUNNING"]}, "tags": {"type": "object", "description": "Set of resource tags", "properties": {}}, "tech_emails": {"type": "array", "maxItems": 10, "description": "List of service technical email addresses", "items": {"type": "object", "properties": {"email": {"type": "string", "maxLength": 254, "description": "User email address"}}, "required": ["email"]}}, "termination_protection": {"type": "boolean", "description": "Service is protected against termination and powering off"}, "topics": {"type": "array", "description": "Kafka topics. DEPRECATED: Use /project/$project/service/$service/topic instead", "items": {"type": "object", "properties": {"cleanup_policy": {"type": "string", "maxLength": 64, "description": "The retention policy to use on old segments. Possible values include 'delete', 'compact', or a comma-separated list of them. The default policy ('delete') will discard old segments when their retention time or size limit has been reached. The 'compact' setting will enable log compaction on the topic.", "title": "cleanup.policy"}, "min_insync_replicas": {"type": "integer", "minimum": 1, "description": "When a producer sets acks to 'all' (or '-1'), this configuration specifies the minimum number of replicas that must acknowledge a write for the write to be considered successful. If this minimum cannot be met, then the producer will raise an exception (either NotEnoughReplicas or NotEnoughReplicasAfterAppend). When used together, min.insync.replicas and acks allow you to enforce greater durability guarantees. A typical scenario would be to create a topic with a replication factor of 3, set min.insync.replicas to 2, and produce with acks of 'all'. This will ensure that the producer raises an exception if a majority of replicas do not receive a write.", "title": "min.insync.replicas"}, "partitions": {"type": "integer", "minimum": 1, "maximum": 1000000, "description": "Number of partitions"}, "replication": {"type": "integer", "minimum": 1, "description": "Number of replicas"}, "retention_bytes": {"type": "integer", "description": "This configuration controls the maximum size a partition (which consists of log segments) can grow to before we will discard old log segments to free up space if we are using the 'delete' retention policy. By default there is no size limit only a time limit. Since this limit is enforced at the partition level, multiply it by the number of partitions to compute the topic retention in bytes.", "title": "retention.bytes"}, "retention_hours": {"type": "integer", "maximum": 2562047788015, "description": "Retention period (hours)"}, "state": {"type": "string", "description": "Topic state", "enum": ["ACTIVE", "CONFIGURING", "DELETING"]}, "topic_name": {"type": "string", "minLength": 1, "maxLength": 249, "description": "Topic name"}}, "required": ["cleanup_policy", "min_insync_replicas", "partitions", "replication", "retention_bytes", "retention_hours", "topic_name"]}}, "update_time": {"type": "string", "maxLength": 36, "description": "Service last update timestamp (ISO 8601)"}, "user_config": {"type": "object", "description": "Service type-specific settings", "properties": {}}, "users": {"type": "array", "description": "List of service users", "items": {"type": "object", "properties": {"access_cert": {"type": "string", "description": "Access certificate for TLS client authentication"}, "access_cert_not_valid_after_time": {"type": "string", "description": "Validity end time (ISO8601) for the current access certificate"}, "access_control": {"type": "object", "description": "Service type specific access control rules for user. Currently only used for configuring user ACLs for Redis version 6 and above.", "title": "Service specific access controls for user", "properties": {"dragonfly_acl_categories": {"type": "array", "maxItems": 256, "description": "Command category rules", "items": {"type": "string"}}, "dragonfly_acl_commands": {"type": "array", "maxItems": 256, "description": "Rules for individual commands", "items": {"type": "string"}}, "dragonfly_acl_keys": {"type": "array", "maxItems": 256, "description": "Key access rules", "items": {"type": "string"}}, "pg_allow_replication": {"type": "boolean", "description": "Enable REPLICATION role option"}, "redis_acl_categories": {"type": "array", "maxItems": 256, "description": "Command category rules", "items": {"type": "string"}}, "redis_acl_channels": {"type": "array", "maxItems": 256, "description": "Glob-style patterns defining which pub/sub channels can be accessed. If array is not defined, the default policy is used (allchannels).", "title": "Permitted pub/sub channel patterns", "items": {"type": "string"}}, "redis_acl_commands": {"type": "array", "maxItems": 256, "description": "Rules for individual commands", "items": {"type": "string"}}, "redis_acl_keys": {"type": "array", "maxItems": 256, "description": "Key access rules", "items": {"type": "string"}}, "valkey_acl_categories": {"type": "array", "maxItems": 256, "description": "Command category rules", "items": {"type": "string"}}, "valkey_acl_channels": {"type": "array", "maxItems": 256, "description": "Glob-style patterns defining which pub/sub channels can be accessed. If array is not defined, the default policy is used (allchannels).", "title": "Permitted pub/sub channel patterns", "items": {"type": "string"}}, "valkey_acl_commands": {"type": "array", "maxItems": 256, "description": "Rules for individual commands", "items": {"type": "string"}}, "valkey_acl_keys": {"type": "array", "maxItems": 256, "description": "Key access rules", "items": {"type": "string"}}}}, "access_key": {"type": "string", "description": "Access key for TLS client authentication"}, "authentication": {"type": "string", "description": "Service specific authentication details. Currently only used for MySQL where accepted options are 'mysql_native_password' and 'caching_sha2_password', latter being default when this is not explicitly set.", "title": "Authentication details", "enum": ["null", "caching_sha2_password", "mysql_native_password"]}, "expiring_cert_not_valid_after_time": {"type": "string", "description": "When the existing certificate is nearing expiration and a new certificate has been generated, the validity end time (ISO8601) for the expiring certificate", "title": "Validity end time (ISO8601) for the expiring access certificate"}, "password": {"type": "string", "description": "Account password. A null value indicates a user overridden password."}, "password_updated_time": {"type": "string", "description": "Timestamp (ISO8601) of the last time this password was set."}, "type": {"type": "string", "description": "Account type"}, "username": {"type": "string", "description": "Account username"}}, "required": ["password", "type", "username"]}}}, "required": ["cloud_name", "create_time", "group_list", "plan", "project_vpc_id", "service_integrations", "service_name", "service_type", "service_uri", "state", "termination_protection", "update_time", "user_config"]}}}, "required": ["services"]}, "ServiceMaintenanceStartResponse": {"type": "object", "description": "ServiceMaintenanceStartResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}}, "ServiceMetricsFetchRequestBody": {"type": "object", "description": "ServiceMetricsFetchRequestBody", "properties": {"kafka_topic_name": {"type": "string", "maxLength": 249, "description": "Metrics at Kafka service topic level"}, "period": {"type": "string", "description": "Metrics time period", "default": "hour", "enum": ["hour", "day", "week", "month", "year"]}}}, "ServiceMetricsFetchResponse": {"type": "object", "description": "ServiceMetricsFetchResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "metrics": {"type": "object", "description": "Service metrics in Google chart compatible format", "properties": {}}}, "required": ["metrics"]}, "ServicePrivatelinkAWSConnectionListResponse": {"type": "object", "description": "ServicePrivatelinkAWSConnectionListResponse", "properties": {"connections": {"type": "array", "description": "AWS Privatelink VPC Endpoint connection list", "items": {"type": "object", "properties": {"dns_name": {"type": "string", "description": "The VPC Endpoint DNS name that the Aiven privatelink access route DNS name is using as the value for itsCNAME record. This DNS name resolves to the private IP addresses of the VPC Endpoint's NICs in all configured subnets", "title": "AWS VPC Endpoint DNS name"}, "privatelink_connection_id": {"type": "string", "description": "Privatelink connection ID"}, "state": {"type": "string", "description": "The Aiven connection state. The AWS VPC endpoint state is always available for listed connections", "title": "Privatelink connection state", "enum": ["pending-user-approval", "user-approved", "connected", "active"]}, "vpc_endpoint_id": {"type": "string", "description": "AWS VPC Endpoint ID"}}, "required": ["dns_name", "state", "vpc_endpoint_id"]}}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}, "required": ["connections"]}, "ServicePrivatelinkAWSCreateRequestBody": {"type": "object", "description": "ServicePrivatelinkAWSCreateRequestBody", "properties": {"principals": {"type": "array", "minItems": 1, "maxItems": 16, "description": "ARNs of principals allowed connecting to the service", "title": "ARN allowlist", "items": {"type": "string"}}}, "required": ["principals"]}, "ServicePrivatelinkAWSCreateResponse": {"type": "object", "description": "ServicePrivatelinkAWSCreateResponse", "properties": {"aws_service_id": {"type": "string", "description": "AWS VPC endpoint service ID"}, "aws_service_name": {"type": "string", "description": "AWS VPC endpoint service name"}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "principals": {"type": "array", "minItems": 1, "maxItems": 16, "description": "ARNs of principals allowed connecting to the service", "title": "ARN allowlist", "items": {"type": "string"}}, "state": {"type": "string", "description": "Privatelink resource state", "enum": ["creating", "active", "deleting"]}}, "required": ["principals", "state"]}, "ServicePrivatelinkAWSDeleteResponse": {"type": "object", "description": "ServicePrivatelinkAWSDeleteResponse", "properties": {"aws_service_id": {"type": "string", "description": "AWS VPC endpoint service ID"}, "aws_service_name": {"type": "string", "description": "AWS VPC endpoint service name"}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "principals": {"type": "array", "minItems": 1, "maxItems": 16, "description": "ARNs of principals allowed connecting to the service", "title": "ARN allowlist", "items": {"type": "string"}}, "state": {"type": "string", "description": "Privatelink resource state", "enum": ["creating", "active", "deleting"]}}, "required": ["principals", "state"]}, "ServicePrivatelinkAWSGetResponse": {"type": "object", "description": "ServicePrivatelinkAWSGetResponse", "properties": {"aws_service_id": {"type": "string", "description": "AWS VPC endpoint service ID"}, "aws_service_name": {"type": "string", "description": "AWS VPC endpoint service name"}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "principals": {"type": "array", "minItems": 1, "maxItems": 16, "description": "ARNs of principals allowed connecting to the service", "title": "ARN allowlist", "items": {"type": "string"}}, "state": {"type": "string", "description": "Privatelink resource state", "enum": ["creating", "active", "deleting"]}}, "required": ["principals", "state"]}, "ServicePrivatelinkAWSUpdateRequestBody": {"type": "object", "description": "ServicePrivatelinkAWSUpdateRequestBody", "properties": {"principals": {"type": "array", "minItems": 1, "maxItems": 16, "description": "ARNs of principals allowed connecting to the service", "title": "ARN allowlist", "items": {"type": "string"}}}, "required": ["principals"]}, "ServicePrivatelinkAWSUpdateResponse": {"type": "object", "description": "ServicePrivatelinkAWSUpdateResponse", "properties": {"aws_service_id": {"type": "string", "description": "AWS VPC endpoint service ID"}, "aws_service_name": {"type": "string", "description": "AWS VPC endpoint service name"}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "principals": {"type": "array", "minItems": 1, "maxItems": 16, "description": "ARNs of principals allowed connecting to the service", "title": "ARN allowlist", "items": {"type": "string"}}, "state": {"type": "string", "description": "Privatelink resource state", "enum": ["creating", "active", "deleting"]}}, "required": ["principals", "state"]}, "ServicePrivatelinkAzureConnectionApprovalResponse": {"type": "object", "description": "ServicePrivatelinkAzureConnectionApprovalResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "private_endpoint_id": {"type": "string", "description": "Azure private endpoint ID"}, "privatelink_connection_id": {"type": "string", "description": "Privatelink connection ID"}, "state": {"type": "string", "description": "The Aiven connection state. The Azure connection status has a separate value", "title": "Privatelink connection state", "enum": ["pending-user-approval", "user-approved", "connected", "active"]}, "user_ip_address": {"type": "string", "maxLength": 15, "description": "(Private) IP address of Privatelink endpoint"}}, "required": ["private_endpoint_id", "state", "user_ip_address"]}, "ServicePrivatelinkAzureConnectionListResponse": {"type": "object", "description": "ServicePrivatelinkAzureConnectionListResponse", "properties": {"connections": {"type": "array", "description": "Private endpoint connection list", "items": {"type": "object", "properties": {"private_endpoint_id": {"type": "string", "description": "Azure private endpoint ID"}, "privatelink_connection_id": {"type": "string", "description": "Privatelink connection ID"}, "state": {"type": "string", "description": "The Aiven connection state. The Azure connection status has a separate value", "title": "Privatelink connection state", "enum": ["pending-user-approval", "user-approved", "connected", "active"]}, "user_ip_address": {"type": "string", "maxLength": 15, "description": "(Private) IP address of Privatelink endpoint"}}, "required": ["private_endpoint_id", "state", "user_ip_address"]}}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}, "required": ["connections"]}, "ServicePrivatelinkAzureConnectionUpdateRequestBody": {"type": "object", "description": "ServicePrivatelinkAzureConnectionUpdateRequestBody", "properties": {"user_ip_address": {"type": "string", "maxLength": 15, "description": "(Private) IP address of Privatelink endpoint"}}, "required": ["user_ip_address"]}, "ServicePrivatelinkAzureConnectionUpdateResponse": {"type": "object", "description": "ServicePrivatelinkAzureConnectionUpdateResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "private_endpoint_id": {"type": "string", "description": "Azure private endpoint ID"}, "privatelink_connection_id": {"type": "string", "description": "Privatelink connection ID"}, "state": {"type": "string", "description": "The Aiven connection state. The Azure connection status has a separate value", "title": "Privatelink connection state", "enum": ["pending-user-approval", "user-approved", "connected", "active"]}, "user_ip_address": {"type": "string", "maxLength": 15, "description": "(Private) IP address of Privatelink endpoint"}}, "required": ["private_endpoint_id", "state", "user_ip_address"]}, "ServicePrivatelinkAzureCreateRequestBody": {"type": "object", "description": "ServicePrivatelinkAzureCreateRequestBody", "properties": {"user_subscription_ids": {"type": "array", "maxItems": 16, "description": "IDs of Azure subscriptions allowed to connect to the service", "title": "Subscription ID allowlist", "items": {"type": "string"}}}, "required": ["user_subscription_ids"]}, "ServicePrivatelinkAzureCreateResponse": {"type": "object", "description": "ServicePrivatelinkAzureCreateResponse", "properties": {"azure_service_alias": {"type": "string", "description": "Azure Privatelink service alias"}, "azure_service_id": {"type": "string", "description": "Azure Privatelink service ID"}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "state": {"type": "string", "description": "Privatelink resource state", "enum": ["creating", "active", "deleting"]}, "user_subscription_ids": {"type": "array", "maxItems": 16, "description": "IDs of Azure subscriptions allowed to connect to the service", "title": "Subscription ID allowlist", "items": {"type": "string"}}}, "required": ["state", "user_subscription_ids"]}, "ServicePrivatelinkAzureDeleteResponse": {"type": "object", "description": "ServicePrivatelinkAzureDeleteResponse", "properties": {"azure_service_alias": {"type": "string", "description": "Azure Privatelink service alias"}, "azure_service_id": {"type": "string", "description": "Azure Privatelink service ID"}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "state": {"type": "string", "description": "Privatelink resource state", "enum": ["creating", "active", "deleting"]}, "user_subscription_ids": {"type": "array", "maxItems": 16, "description": "IDs of Azure subscriptions allowed to connect to the service", "title": "Subscription ID allowlist", "items": {"type": "string"}}}, "required": ["state", "user_subscription_ids"]}, "ServicePrivatelinkAzureGetResponse": {"type": "object", "description": "ServicePrivatelinkAzureGetResponse", "properties": {"azure_service_alias": {"type": "string", "description": "Azure Privatelink service alias"}, "azure_service_id": {"type": "string", "description": "Azure Privatelink service ID"}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "state": {"type": "string", "description": "Privatelink resource state", "enum": ["creating", "active", "deleting"]}, "user_subscription_ids": {"type": "array", "maxItems": 16, "description": "IDs of Azure subscriptions allowed to connect to the service", "title": "Subscription ID allowlist", "items": {"type": "string"}}}, "required": ["state", "user_subscription_ids"]}, "ServicePrivatelinkAzureUpdateRequestBody": {"type": "object", "description": "ServicePrivatelinkAzureUpdateRequestBody", "properties": {"user_subscription_ids": {"type": "array", "maxItems": 16, "description": "IDs of Azure subscriptions allowed to connect to the service", "title": "Subscription ID allowlist", "items": {"type": "string"}}}, "required": ["user_subscription_ids"]}, "ServicePrivatelinkAzureUpdateResponse": {"type": "object", "description": "ServicePrivatelinkAzureUpdateResponse", "properties": {"azure_service_alias": {"type": "string", "description": "Azure Privatelink service alias"}, "azure_service_id": {"type": "string", "description": "Azure Privatelink service ID"}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "state": {"type": "string", "description": "Privatelink resource state", "enum": ["creating", "active", "deleting"]}, "user_subscription_ids": {"type": "array", "maxItems": 16, "description": "IDs of Azure subscriptions allowed to connect to the service", "title": "Subscription ID allowlist", "items": {"type": "string"}}}, "required": ["state", "user_subscription_ids"]}, "ServiceQueryActivityRequestBody": {"type": "object", "description": "ServiceQueryActivityRequestBody", "properties": {"limit": {"type": "integer", "minimum": 1, "maximum": 5000, "description": "Limit for number of results", "default": 100}, "offset": {"type": "integer", "minimum": 0, "description": "Offset for retrieved results based on sort order", "default": 0}, "order_by": {"type": "string", "maxLength": 256, "description": "Sort order can be either asc or desc and multiple comma separated columns with their own order can be specified: :asc,:desc.", "title": "Order in which to sort retrieved results", "default": "client_id:desc"}}}, "ServiceQueryActivityResponse": {"type": "object", "description": "ServiceQueryActivityResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "queries": {"type": "array", "description": "List of currently running queries and open connections", "items": {"type": "object", "properties": {"active_channel_subscriptions": {"type": "integer", "description": "Currently active channel subscriptions"}, "active_database": {"type": "string", "description": "Selected database"}, "active_pattern_matching_channel_subscriptions": {"type": "integer", "description": "Currently active channel subscriptions using pattern matching"}, "application_name": {"type": "string", "description": "Application name when set"}, "backend_start": {"type": "string", "maxLength": 36, "description": "Timestamp in ISO 8601 format, always in UTC"}, "backend_type": {"type": "string", "description": "Backend type"}, "backend_xid": {"type": "integer", "description": "XID for current backend"}, "backend_xmin": {"type": "integer", "description": "xmin for current backend"}, "client_addr": {"type": "string", "description": "IP address:port pair. Not always available due to load balancers"}, "client_hostname": {"type": "string", "description": "Client hostname"}, "client_port": {"type": "integer", "maximum": 65536, "description": "Client port, -1 is unknown"}, "connection_age_seconds": {"type": "number", "description": "Connection age in seconds"}, "connection_idle_seconds": {"type": "number", "description": "Connection idle time in seconds"}, "datid": {"type": "integer", "description": "Database ID"}, "datname": {"type": "string", "description": "Database name"}, "flags": {"type": "array", "description": "Connection state flags", "items": {"type": "string"}}, "flags_raw": {"type": "string", "description": "Raw connection flags string"}, "id": {"type": "string", "description": "Unique connection ID"}, "leader_pid": {"type": "integer", "minimum": 0, "description": "Leader process ID"}, "multi_exec_commands": {"type": "integer", "description": "Number of MULTI/EXEC comands"}, "name": {"type": "string", "description": "Connection name, if specified"}, "output_buffer": {"type": "integer", "description": "Output buffer length (disabled if 0)"}, "output_buffer_memory": {"type": "integer", "description": "Output buffer memory"}, "output_list_length": {"type": "integer", "description": "Output list, overflow for output buffering"}, "pid": {"type": "integer", "minimum": 0, "description": "Connection process ID"}, "query": {"type": "string", "description": "Last/current query running on this connection"}, "query_buffer": {"type": "integer", "description": "Query buffer length (disabled if 0)"}, "query_buffer_free": {"type": "integer", "description": "Free bytes in query buffer, if enabled"}, "query_duration": {"type": "number", "description": "Duration of the last/current query in seconds"}, "query_id": {"type": "integer", "description": "Hash code to identify identical normalized queries."}, "query_start": {"type": "string", "maxLength": 36, "description": "Timestamp in ISO 8601 format, always in UTC"}, "state": {"type": "string", "description": "Connection state"}, "state_change": {"type": "string", "maxLength": 36, "description": "Timestamp in ISO 8601 format, always in UTC"}, "usename": {"type": "string", "description": "Username"}, "usesysid": {"type": "integer", "description": "User ID"}, "wait_event": {"type": "string", "description": "Connection wait event"}, "wait_event_type": {"type": "string", "description": "Connection wait event type"}, "waiting": {"type": "boolean", "description": "Query is waiting"}, "xact_start": {"type": "string", "maxLength": 36, "description": "Timestamp in ISO 8601 format, always in UTC"}}}}}, "required": ["queries"]}, "ServiceQueryStatisticsResetResponse": {"type": "object", "description": "ServiceQueryStatisticsResetResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "queries": {"type": "array", "description": "List of query statistics", "items": {"type": "object", "properties": {}}}}, "required": ["queries"]}, "ServiceServiceTypeUpdateRequestBody": {"type": "object", "description": "ServiceServiceTypeUpdateRequestBody", "properties": {"service_type": {"type": "string", "maxLength": 64, "description": "Service type code"}}, "required": ["service_type"]}, "ServiceServiceTypeUpdateResponse": {"type": "object", "description": "ServiceServiceTypeUpdateResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "service": {"type": "object", "description": "Service information", "properties": {"acl": {"type": "array", "description": "List of Aiven ACL entries for Kafka service", "items": {"type": "object", "properties": {"id": {"type": "string", "maxLength": 40, "description": "ID"}, "permission": {"type": "string", "description": "Kafka permission", "enum": ["admin", "read", "readwrite", "write"]}, "topic": {"type": "string", "minLength": 1, "maxLength": 249, "description": "Topic name pattern"}, "username": {"type": "string", "minLength": 1, "maxLength": 64, "description": "Username"}}, "required": ["permission", "topic", "username"]}}, "backups": {"type": "array", "description": "List of backups for the service", "items": {"type": "object", "properties": {"additional_regions": {"type": "array", "description": "Additional backup regions, if available", "items": {"type": "object", "properties": {"cloud": {"type": "string", "maxLength": 256, "description": "Target cloud"}, "pause_reason": {"type": "string", "description": "Reason for pausing the backup synchronization"}, "paused": {"type": "boolean", "description": "Indicates additional backup synchronization is paused"}, "region": {"type": "string", "description": "Cloud storage region name"}}, "required": ["cloud"]}}, "backup_name": {"type": "string", "description": "Internal name of this backup"}, "backup_time": {"type": "string", "maxLength": 36, "description": "Backup timestamp (ISO 8601)"}, "data_size": {"type": "integer", "description": "Backup's original size before compression"}, "incremental": {"type": "boolean", "description": "Indicates if this backup is a full or an incremental one (available only for MySQL)"}, "storage_location": {"type": "string", "description": "Location where this backup is stored"}, "tiered_storage_data_size": {"type": "integer", "description": "The amount of tiered storage data in bytes referenced by this backup."}}, "required": ["backup_name", "backup_time", "data_size"]}}, "cloud_description": {"type": "string", "description": "Cloud provider and location"}, "cloud_name": {"type": "string", "maxLength": 256, "description": "Target cloud"}, "components": {"type": "array", "description": "Service component information objects", "items": {"type": "object", "properties": {"component": {"type": "string", "description": "Service component name"}, "host": {"type": "string", "description": "DNS name for connecting to the service component"}, "kafka_authentication_method": {"type": "string", "description": "Kafka authentication method. This is a value specific to the 'kafka' service component", "enum": ["certificate", "sasl"]}, "kafka_ssl_ca": {"type": "string", "description": "Specifies if this port uses Project CA or Letsencrypt. If not specified, the default is using Project CA.This is a value specific to the 'kafka' service component.", "enum": ["project_ca", "letsencrypt"]}, "path": {"type": "string", "description": "Path component of the service URL (useful only if service component is HTTP or HTTPS endpoint)"}, "port": {"type": "integer", "minimum": 0, "maximum": 65535, "description": "Port number for connecting to the service component"}, "privatelink_connection_id": {"type": "string", "description": "Privatelink connection ID"}, "route": {"type": "string", "description": "Network access route", "enum": ["dynamic", "public", "private", "privatelink"]}, "ssl": {"type": "boolean", "description": "Whether the endpoint is encrypted or accepts plaintext. By default endpoints are always encrypted andthis property is only included for service components that may disable encryption."}, "usage": {"type": "string", "description": "DNS usage name", "enum": ["disaster_recovery", "primary", "replica", "ha_replica"]}}, "required": ["component", "host", "port", "route", "usage"]}}, "connection_info": {"type": "object", "description": "Service-specific connection information properties", "properties": {}}, "connection_pools": {"type": "array", "description": "PostgreSQL PGBouncer connection pools", "items": {"type": "object", "properties": {"connection_uri": {"type": "string", "description": "Connection URI for the DB pool"}, "database": {"type": "string", "maxLength": 63, "description": "Database name"}, "pool_mode": {"type": "string", "description": "PGBouncer pool mode", "enum": ["session", "transaction", "statement"]}, "pool_name": {"type": "string", "maxLength": 63, "description": "Connection pool name"}, "pool_size": {"type": "integer", "minimum": 1, "maximum": 10000, "description": "Size of PGBouncer's PostgreSQL side connection pool"}, "username": {"type": "string", "maxLength": 64, "description": "Pool username"}}, "required": ["connection_uri", "database", "pool_mode", "pool_name", "pool_size"]}}, "create_time": {"type": "string", "maxLength": 36, "description": "Service creation timestamp (ISO 8601)"}, "databases": {"type": "array", "description": "List of service's user database names", "items": {"type": "string"}}, "disk_space_mb": {"type": "integer", "minimum": 0, "description": "Megabytes of disk space for data storage"}, "features": {"type": "object", "description": "Feature flags", "properties": {}}, "group_list": {"type": "array", "description": "List of service groups the service belongs to. This field is deprecated. It is always set to single element with value 'default'", "items": {"type": "string"}}, "kafka_acl": {"type": "array", "description": "List of Kafka-native ACL entries", "items": {"type": "object", "properties": {"host": {"type": "string", "minLength": 0, "maxLength": 256, "description": "the host or * for all hosts"}, "id": {"type": "string", "maxLength": 40, "description": "ID"}, "operation": {"type": "string", "description": "Kafka ACL operation represents an operation which an ACL grants or denies permission to perform", "enum": ["All", "Alter", "AlterConfigs", "ClusterAction", "Create", "CreateTokens", "Delete", "Describe", "DescribeConfigs", "DescribeTokens", "IdempotentWrite", "Read", "Write"]}, "pattern_type": {"type": "string", "description": "Kafka ACL pattern type of resource name", "enum": ["LITERAL", "PREFIXED"]}, "permission_type": {"type": "string", "description": "Kafka ACL permission type", "enum": ["ALLOW", "DENY"]}, "principal": {"type": "string", "minLength": 0, "maxLength": 256, "description": "principal is in 'principalType:name' format"}, "resource_name": {"type": "string", "minLength": 0, "maxLength": 256, "description": "Resource pattern used to match specified resources"}, "resource_type": {"type": "string", "description": "Kafka ACL resource type represents a type of resource which an ACL can be applied to", "enum": ["Cluster", "DelegationToken", "Group", "Topic", "TransactionalId", "User"]}}, "required": ["host", "id", "operation", "pattern_type", "permission_type", "principal", "resource_name", "resource_type"]}}, "maintenance": {"type": "object", "description": "Automatic maintenance settings", "properties": {"controlled_switchover": {"type": "object", "description": "Controlled switchover status", "properties": {"enabled": {"type": "boolean", "description": "Controlled switchover configured and enabled"}, "scheduled_start_time": {"type": "string", "description": "Scheduled start time of the switchover window, if enabled and active"}, "state": {"type": "string", "description": "Controlled switchover state", "enum": ["INACTIVE", "PENDING", "SCHEDULED", "RUNNING", "COMPLETED"]}}, "required": ["enabled", "scheduled_start_time", "state"]}, "dow": {"type": "string", "description": "Day of week for installing updates", "enum": ["monday", "tuesday", "wednesday", "thursday", "friday", "saturday", "sunday", "never"]}, "enabled": {"type": "boolean", "description": "Service maintenance enabled"}, "time": {"type": "string", "minLength": 8, "maxLength": 8, "description": "Time for installing updates, UTC"}, "updates": {"type": "array", "description": "List of updates waiting to be installed", "items": {"type": "object", "properties": {"deadline": {"type": "string", "description": "Deadline for installing the update"}, "description": {"type": "string", "description": "Description of the update"}, "documentation_link": {"type": "string", "description": "Optional link"}, "impact": {"type": "string", "description": "Impact statement of the update"}, "impact_portable_text": {"type": "string", "description": "Impact statement in portable text format"}, "start_after": {"type": "string", "description": "The earliest time the update will be automatically applied"}, "start_at": {"type": "string", "description": "The time when the update will be automatically applied"}}}}}, "required": ["dow", "enabled", "time", "updates"]}, "metadata": {"type": "object", "description": "Service type specific metadata", "properties": {}}, "node_count": {"type": "integer", "description": "Number of service nodes in the active plan"}, "node_cpu_count": {"type": "integer", "description": "Number of CPUs for each node"}, "node_memory_mb": {"type": "number", "description": "Megabytes of memory for each node"}, "node_states": {"type": "array", "description": "State of individual service nodes", "items": {"type": "object", "properties": {"availability_zone": {"type": "string", "description": "The availability zone in which the node is place. If there is no availability zone available this field will be missing."}, "name": {"type": "string", "description": "Name of the service node"}, "progress_updates": {"type": "array", "description": "Extra information regarding the progress for current state", "items": {"type": "object", "properties": {"completed": {"type": "boolean", "description": "Indicates whether this phase has been completed or not"}, "current": {"type": "integer", "description": "Current progress for this phase. May be missing or null."}, "max": {"type": "integer", "description": "Maximum progress value for this phase. May be missing or null. May change."}, "min": {"type": "integer", "description": "Minimum progress value for this phase. May be missing or null."}, "phase": {"type": "string", "description": "Key identifying this phase", "enum": ["prepare", "basebackup", "stream", "finalize"]}, "unit": {"type": "string", "description": "Unit for current/min/max values. New units may be added. If null should be treated as generic unit", "enum": ["binlogs", "bytes_compressed", "bytes_uncompressed", "wal_lsn"]}}, "required": ["completed", "phase"]}}, "role": {"type": "string", "description": "Role of this node. Only returned for a subset of service types", "enum": ["master", "standby", "read-replica"]}, "roles": {"type": "string", "description": "A role string indicating the node's roles in the OpenSearch cluster. Only populated for OpenSearch services using cluster plans. Format: first character is '*' (elected cluster manager) or '-' (not elected), followed by role letters: 'd' (data), 'i' (ingest), 'm' (cluster_manager eligible), 'c' (coordinating), 'L' (ML), 'D' (Dashboards). Example: '*mc' means elected cluster manager with cluster_manager and coordinating roles.", "title": "Roles of this node. Only returned for OpenSearch services with cluster plans"}, "shard": {"type": "object", "description": "Shard of this node. Only returned for a subset of service types", "properties": {"name": {"type": "string", "description": "Name of the shard."}, "position": {"type": "integer", "description": "Position of this shard within the service"}}}, "state": {"type": "string", "description": "Current state of the service node", "enum": ["leaving", "running", "setting_up_vm", "syncing_data", "timing_out", "unknown"]}}, "required": ["availability_zone", "name", "state"]}}, "plan": {"type": "string", "maxLength": 128, "description": "Subscription plan"}, "project_vpc_id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "Project VPC ID"}, "schema_registry_acl": {"type": "array", "description": "List of Schema Registry ACL entries", "items": {"type": "object", "properties": {"id": {"type": "string", "maxLength": 40, "description": "ID"}, "permission": {"type": "string", "description": "ACL entry for Schema Registry", "enum": ["schema_registry_read", "schema_registry_write"]}, "resource": {"type": "string", "minLength": 1, "maxLength": 249, "description": "Schema Registry ACL entry resource name pattern"}, "username": {"type": "string", "minLength": 1, "maxLength": 64, "description": "Username"}}, "required": ["permission", "resource", "username"]}}, "server_group": {"type": "object", "description": "Service IaaS server group", "properties": {"enabled": {"type": "boolean", "description": "Flag set if server group is in use for the service"}, "type": {"type": "string", "description": "IaaS server group type"}}}, "service_integrations": {"type": "array", "description": "Integrations with other services", "items": {"type": "object", "properties": {"active": {"type": "boolean", "description": "True when integration is active"}, "description": {"type": "string", "description": "Description of the integration"}, "dest_endpoint": {"type": "string", "description": "Destination endpoint name"}, "dest_endpoint_id": {"type": "string", "description": "Destination endpoint id"}, "dest_project": {"type": "string", "maxLength": 63, "description": "Project name"}, "dest_service": {"type": "string", "description": "Destination service name"}, "dest_service_type": {"type": "string", "maxLength": 64, "description": "Service type code"}, "enabled": {"type": "boolean", "description": "True when integration is enabled"}, "integration_status": {"type": "object", "description": "Integration status", "properties": {"state": {"type": "object", "description": "Service integration state", "properties": {"errors": {"type": "array", "description": "Errors", "items": {"type": "string"}}, "likely_error_cause": {"type": "string", "description": "Most likely cause of the errors", "enum": ["null", "destination", "integration", "source", "unknown"]}, "nodes": {"type": "object", "description": "Nodes", "properties": {}}, "status": {"type": "string", "description": "Service integration status", "enum": ["failed", "inactive", "running", "starting", "unknown"]}}, "required": ["errors", "nodes", "status"]}, "status_user_desc": {"type": "string", "description": "Integration status description"}}, "required": ["state", "status_user_desc"]}, "integration_type": {"type": "string", "description": "Type of the integration"}, "service_integration_id": {"type": "string", "description": "Integration ID"}, "source_endpoint": {"type": "string", "description": "Source endpoint name"}, "source_endpoint_id": {"type": "string", "description": "Source endpoint ID"}, "source_project": {"type": "string", "maxLength": 63, "description": "Project name"}, "source_service": {"type": "string", "description": "Source service name"}, "source_service_type": {"type": "string", "maxLength": 64, "description": "Service type code"}, "user_config": {"type": "object", "description": "Service integration settings", "properties": {}}}, "required": ["active", "description", "dest_project", "dest_service_type", "enabled", "integration_type", "service_integration_id", "source_project", "source_service", "source_service_type"]}}, "service_name": {"type": "string", "minLength": 1, "maxLength": 64, "description": "Service name"}, "service_notifications": {"type": "array", "description": "Service notifications", "items": {"type": "object", "properties": {"level": {"type": "string", "description": "Notification level", "enum": ["notice", "warning"]}, "message": {"type": "string", "maxLength": 1024, "description": "Human notification message"}, "metadata": {"type": "object", "description": "Notification metadata", "properties": {"end_of_life_help_article_url": {"type": "string", "description": "Link to the help article"}, "end_of_life_policy_url": {"type": "string", "description": "Link to the help article"}, "service_end_of_life_time": {"type": "string", "maxLength": 36, "description": "Timestamp in ISO 8601 format, always in UTC"}, "upgrade_to_service_type": {"type": "string", "maxLength": 64, "description": "If the customer takes no action, the service is updated to this service type when end of life is reached on the Aiven platform. If it is the same as the service type, the platform only upgrades the version."}, "upgrade_to_version": {"type": "string", "maxLength": 32, "description": "The version to which the service will be updated at the end of life on the Aiven platform if the user does not take any action"}}}, "type": {"type": "string", "description": "Notification type", "enum": ["service_end_of_life", "service_powered_off_removal"]}}, "required": ["level", "message", "metadata", "type"]}}, "service_type": {"type": "string", "maxLength": 64, "description": "Service type code"}, "service_type_description": {"type": "string", "description": "Single line description of the service"}, "service_uri": {"type": "string", "description": "URI for connecting to the service (may be null)"}, "service_uri_params": {"type": "object", "description": "service_uri parameterized into key-value pairs", "properties": {}}, "state": {"type": "string", "description": "State of the service", "enum": ["POWEROFF", "REBALANCING", "REBUILDING", "RUNNING"]}, "tags": {"type": "object", "description": "Set of resource tags", "properties": {}}, "tech_emails": {"type": "array", "maxItems": 10, "description": "List of service technical email addresses", "items": {"type": "object", "properties": {"email": {"type": "string", "maxLength": 254, "description": "User email address"}}, "required": ["email"]}}, "termination_protection": {"type": "boolean", "description": "Service is protected against termination and powering off"}, "topics": {"type": "array", "description": "Kafka topics. DEPRECATED: Use /project/$project/service/$service/topic instead", "items": {"type": "object", "properties": {"cleanup_policy": {"type": "string", "maxLength": 64, "description": "The retention policy to use on old segments. Possible values include 'delete', 'compact', or a comma-separated list of them. The default policy ('delete') will discard old segments when their retention time or size limit has been reached. The 'compact' setting will enable log compaction on the topic.", "title": "cleanup.policy"}, "min_insync_replicas": {"type": "integer", "minimum": 1, "description": "When a producer sets acks to 'all' (or '-1'), this configuration specifies the minimum number of replicas that must acknowledge a write for the write to be considered successful. If this minimum cannot be met, then the producer will raise an exception (either NotEnoughReplicas or NotEnoughReplicasAfterAppend). When used together, min.insync.replicas and acks allow you to enforce greater durability guarantees. A typical scenario would be to create a topic with a replication factor of 3, set min.insync.replicas to 2, and produce with acks of 'all'. This will ensure that the producer raises an exception if a majority of replicas do not receive a write.", "title": "min.insync.replicas"}, "partitions": {"type": "integer", "minimum": 1, "maximum": 1000000, "description": "Number of partitions"}, "replication": {"type": "integer", "minimum": 1, "description": "Number of replicas"}, "retention_bytes": {"type": "integer", "description": "This configuration controls the maximum size a partition (which consists of log segments) can grow to before we will discard old log segments to free up space if we are using the 'delete' retention policy. By default there is no size limit only a time limit. Since this limit is enforced at the partition level, multiply it by the number of partitions to compute the topic retention in bytes.", "title": "retention.bytes"}, "retention_hours": {"type": "integer", "maximum": 2562047788015, "description": "Retention period (hours)"}, "state": {"type": "string", "description": "Topic state", "enum": ["ACTIVE", "CONFIGURING", "DELETING"]}, "topic_name": {"type": "string", "minLength": 1, "maxLength": 249, "description": "Topic name"}}, "required": ["cleanup_policy", "min_insync_replicas", "partitions", "replication", "retention_bytes", "retention_hours", "topic_name"]}}, "update_time": {"type": "string", "maxLength": 36, "description": "Service last update timestamp (ISO 8601)"}, "user_config": {"type": "object", "description": "Service type-specific settings", "properties": {}}, "users": {"type": "array", "description": "List of service users", "items": {"type": "object", "properties": {"access_cert": {"type": "string", "description": "Access certificate for TLS client authentication"}, "access_cert_not_valid_after_time": {"type": "string", "description": "Validity end time (ISO8601) for the current access certificate"}, "access_control": {"type": "object", "description": "Service type specific access control rules for user. Currently only used for configuring user ACLs for Redis version 6 and above.", "title": "Service specific access controls for user", "properties": {"dragonfly_acl_categories": {"type": "array", "maxItems": 256, "description": "Command category rules", "items": {"type": "string"}}, "dragonfly_acl_commands": {"type": "array", "maxItems": 256, "description": "Rules for individual commands", "items": {"type": "string"}}, "dragonfly_acl_keys": {"type": "array", "maxItems": 256, "description": "Key access rules", "items": {"type": "string"}}, "pg_allow_replication": {"type": "boolean", "description": "Enable REPLICATION role option"}, "redis_acl_categories": {"type": "array", "maxItems": 256, "description": "Command category rules", "items": {"type": "string"}}, "redis_acl_channels": {"type": "array", "maxItems": 256, "description": "Glob-style patterns defining which pub/sub channels can be accessed. If array is not defined, the default policy is used (allchannels).", "title": "Permitted pub/sub channel patterns", "items": {"type": "string"}}, "redis_acl_commands": {"type": "array", "maxItems": 256, "description": "Rules for individual commands", "items": {"type": "string"}}, "redis_acl_keys": {"type": "array", "maxItems": 256, "description": "Key access rules", "items": {"type": "string"}}, "valkey_acl_categories": {"type": "array", "maxItems": 256, "description": "Command category rules", "items": {"type": "string"}}, "valkey_acl_channels": {"type": "array", "maxItems": 256, "description": "Glob-style patterns defining which pub/sub channels can be accessed. If array is not defined, the default policy is used (allchannels).", "title": "Permitted pub/sub channel patterns", "items": {"type": "string"}}, "valkey_acl_commands": {"type": "array", "maxItems": 256, "description": "Rules for individual commands", "items": {"type": "string"}}, "valkey_acl_keys": {"type": "array", "maxItems": 256, "description": "Key access rules", "items": {"type": "string"}}}}, "access_key": {"type": "string", "description": "Access key for TLS client authentication"}, "authentication": {"type": "string", "description": "Service specific authentication details. Currently only used for MySQL where accepted options are 'mysql_native_password' and 'caching_sha2_password', latter being default when this is not explicitly set.", "title": "Authentication details", "enum": ["null", "caching_sha2_password", "mysql_native_password"]}, "expiring_cert_not_valid_after_time": {"type": "string", "description": "When the existing certificate is nearing expiration and a new certificate has been generated, the validity end time (ISO8601) for the expiring certificate", "title": "Validity end time (ISO8601) for the expiring access certificate"}, "password": {"type": "string", "description": "Account password. A null value indicates a user overridden password."}, "password_updated_time": {"type": "string", "description": "Timestamp (ISO8601) of the last time this password was set."}, "type": {"type": "string", "description": "Account type"}, "username": {"type": "string", "description": "Account username"}}, "required": ["password", "type", "username"]}}}, "required": ["cloud_name", "create_time", "group_list", "plan", "project_vpc_id", "service_integrations", "service_name", "service_type", "service_uri", "state", "termination_protection", "update_time", "user_config"]}}, "required": ["service"]}, "ServiceTaskCreateRequestBody": {"type": "object", "description": "ServiceTaskCreateRequestBody", "properties": {"create_searchable_snapshot": {"type": "object", "description": "Move indices to a searchable snaphshot", "properties": {"indices": {"type": "string", "maxLength": 1000, "description": "The indices to move to a searchable snapshot. Use , to create a list of indexes, * to specify an index pattern, and - to exclude certain indexes."}}, "required": ["indices"]}, "create_user_backup": {"type": "object", "description": "Payload to be used with create_user_backup", "properties": {"backup_name": {"type": "string", "maxLength": 256, "description": "The output file name."}}, "required": ["backup_name"]}, "dataset_import": {"type": "object", "description": "Payload to be used with dataset_import", "properties": {"dataset_name": {"type": "string", "description": "Name of the dataset to import to PostgreSQL database. Used with dataset_import.", "enum": ["pagila"]}}, "required": ["dataset_name"]}, "migration_check": {"type": "object", "description": "Payload to be used with migration_check", "properties": {"ignore_dbs": {"type": "string", "maxLength": 2048, "description": "Comma-separated list of databases, which should be ignored during migration (supported by MySQL and PostgreSQL only at the moment)"}, "ignore_roles": {"type": "string", "maxLength": 2048, "description": "Comma-separated list of database roles, which should be ignored during migration (supported by PostgreSQL only at the moment)"}, "method": {"type": "string", "description": "The migration method to be used (currently supported only by Redis, Dragonfly, MySQL and PostgreSQL service types)", "enum": ["dump", "replication"]}, "source_project_name": {"type": "string", "maxLength": 63, "description": "Project name"}, "source_service_name": {"type": "string", "minLength": 1, "maxLength": 64, "description": "Service name"}, "source_service_uri": {"type": "string", "maxLength": 512, "description": "Service URI of the source MySQL or PostgreSQL database with admin credentials. Used with migration_check."}}}, "target_version": {"type": "string", "description": "Deprecated! Use 'upgrade_check' field", "title": "Target version used with upgrade_check", "enum": ["14", "15", "16", "17", "18"]}, "task_type": {"type": "string", "description": "Service task type", "enum": ["upgrade_check", "migration_check", "dataset_import", "create_user_backup", "create_searchable_snapshot"]}, "upgrade_check": {"type": "object", "description": "Payload to be used with upgrade_check", "properties": {"async": {"type": "boolean", "description": "Run task asynchronously and return immediately", "default": true}, "target_version": {"type": "string", "description": "Target version used with upgrade_check", "enum": ["14", "15", "16", "17", "18"]}}, "required": ["target_version"]}}, "required": ["task_type"]}, "ServiceTaskCreateResponse": {"type": "object", "description": "ServiceTaskCreateResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "task": {"type": "object", "description": "Task info", "properties": {"create_time": {"type": "string", "maxLength": 36, "description": "Timestamp in ISO 8601 format, always in UTC"}, "result": {"type": "string", "description": "Task result"}, "result_codes": {"type": "array", "description": "List of result codes", "items": {"type": "object", "properties": {"code": {"type": "string", "description": "Machine-readable key code, which represents the result of the task"}, "dbname": {"type": "string", "description": "Database which related to the result code"}}, "required": ["code"]}}, "success": {"type": "boolean", "description": "Task success"}, "task_id": {"type": "string", "description": "Unique identifier for the task"}, "task_type": {"type": "string", "description": "Task type"}}, "required": ["create_time", "result", "success", "task_id", "task_type"]}}, "required": ["task"]}, "ServiceTaskGetResponse": {"type": "object", "description": "ServiceTaskGetResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "task": {"type": "object", "description": "Task info", "properties": {"create_time": {"type": "string", "maxLength": 36, "description": "Timestamp in ISO 8601 format, always in UTC"}, "result": {"type": "string", "description": "Task result"}, "result_codes": {"type": "array", "description": "List of result codes", "items": {"type": "object", "properties": {"code": {"type": "string", "description": "Machine-readable key code, which represents the result of the task"}, "dbname": {"type": "string", "description": "Database which related to the result code"}}, "required": ["code"]}}, "success": {"type": "boolean", "description": "Task success"}, "task_id": {"type": "string", "description": "Unique identifier for the task"}, "task_type": {"type": "string", "description": "Task type"}}, "required": ["create_time", "result", "success", "task_id", "task_type"]}}, "required": ["task"]}, "ServiceUpdateRequestBody": {"type": "object", "description": "ServiceUpdateRequestBody", "properties": {"cloud": {"type": "string", "maxLength": 256, "description": "Target cloud"}, "disk_space_mb": {"type": "integer", "minimum": 0, "description": "Megabytes of disk space for data storage"}, "group_name": {"type": "string", "maxLength": 256, "description": "Service group name (DEPRECATED: do not use)"}, "karapace": {"type": "boolean", "description": "Switch the service to use Karapace for schema registry and REST proxy"}, "maintenance": {"type": "object", "description": "Automatic maintenance settings", "properties": {"dow": {"type": "string", "description": "Day of week for installing updates", "enum": ["monday", "tuesday", "wednesday", "thursday", "friday", "saturday", "sunday"]}, "time": {"type": "string", "minLength": 8, "maxLength": 8, "description": "Time for installing updates, UTC"}}}, "plan": {"type": "string", "maxLength": 128, "description": "Subscription plan"}, "powered": {"type": "boolean", "description": "Power-on the service (true) or power-off (false)"}, "project_vpc_id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "Project VPC ID"}, "schema_registry_authz": {"type": "boolean", "description": "Enable or disable Schema Registry authorization"}, "tech_emails": {"type": "array", "maxItems": 10, "description": "List of service technical email addresses", "items": {"type": "object", "properties": {"email": {"type": "string", "maxLength": 254, "description": "User email address"}}, "required": ["email"]}}, "termination_protection": {"type": "boolean", "description": "Service is protected against termination and powering off"}, "user_config": {"type": "object", "description": "Service type-specific settings", "properties": {}}}}, "ServiceUpdateResponse": {"type": "object", "description": "ServiceUpdateResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "service": {"type": "object", "description": "Service information", "properties": {"acl": {"type": "array", "description": "List of Aiven ACL entries for Kafka service", "items": {"type": "object", "properties": {"id": {"type": "string", "maxLength": 40, "description": "ID"}, "permission": {"type": "string", "description": "Kafka permission", "enum": ["admin", "read", "readwrite", "write"]}, "topic": {"type": "string", "minLength": 1, "maxLength": 249, "description": "Topic name pattern"}, "username": {"type": "string", "minLength": 1, "maxLength": 64, "description": "Username"}}, "required": ["permission", "topic", "username"]}}, "backups": {"type": "array", "description": "List of backups for the service", "items": {"type": "object", "properties": {"additional_regions": {"type": "array", "description": "Additional backup regions, if available", "items": {"type": "object", "properties": {"cloud": {"type": "string", "maxLength": 256, "description": "Target cloud"}, "pause_reason": {"type": "string", "description": "Reason for pausing the backup synchronization"}, "paused": {"type": "boolean", "description": "Indicates additional backup synchronization is paused"}, "region": {"type": "string", "description": "Cloud storage region name"}}, "required": ["cloud"]}}, "backup_name": {"type": "string", "description": "Internal name of this backup"}, "backup_time": {"type": "string", "maxLength": 36, "description": "Backup timestamp (ISO 8601)"}, "data_size": {"type": "integer", "description": "Backup's original size before compression"}, "incremental": {"type": "boolean", "description": "Indicates if this backup is a full or an incremental one (available only for MySQL)"}, "storage_location": {"type": "string", "description": "Location where this backup is stored"}, "tiered_storage_data_size": {"type": "integer", "description": "The amount of tiered storage data in bytes referenced by this backup."}}, "required": ["backup_name", "backup_time", "data_size"]}}, "cloud_description": {"type": "string", "description": "Cloud provider and location"}, "cloud_name": {"type": "string", "maxLength": 256, "description": "Target cloud"}, "components": {"type": "array", "description": "Service component information objects", "items": {"type": "object", "properties": {"component": {"type": "string", "description": "Service component name"}, "host": {"type": "string", "description": "DNS name for connecting to the service component"}, "kafka_authentication_method": {"type": "string", "description": "Kafka authentication method. This is a value specific to the 'kafka' service component", "enum": ["certificate", "sasl"]}, "kafka_ssl_ca": {"type": "string", "description": "Specifies if this port uses Project CA or Letsencrypt. If not specified, the default is using Project CA.This is a value specific to the 'kafka' service component.", "enum": ["project_ca", "letsencrypt"]}, "path": {"type": "string", "description": "Path component of the service URL (useful only if service component is HTTP or HTTPS endpoint)"}, "port": {"type": "integer", "minimum": 0, "maximum": 65535, "description": "Port number for connecting to the service component"}, "privatelink_connection_id": {"type": "string", "description": "Privatelink connection ID"}, "route": {"type": "string", "description": "Network access route", "enum": ["dynamic", "public", "private", "privatelink"]}, "ssl": {"type": "boolean", "description": "Whether the endpoint is encrypted or accepts plaintext. By default endpoints are always encrypted andthis property is only included for service components that may disable encryption."}, "usage": {"type": "string", "description": "DNS usage name", "enum": ["disaster_recovery", "primary", "replica", "ha_replica"]}}, "required": ["component", "host", "port", "route", "usage"]}}, "connection_info": {"type": "object", "description": "Service-specific connection information properties", "properties": {}}, "connection_pools": {"type": "array", "description": "PostgreSQL PGBouncer connection pools", "items": {"type": "object", "properties": {"connection_uri": {"type": "string", "description": "Connection URI for the DB pool"}, "database": {"type": "string", "maxLength": 63, "description": "Database name"}, "pool_mode": {"type": "string", "description": "PGBouncer pool mode", "enum": ["session", "transaction", "statement"]}, "pool_name": {"type": "string", "maxLength": 63, "description": "Connection pool name"}, "pool_size": {"type": "integer", "minimum": 1, "maximum": 10000, "description": "Size of PGBouncer's PostgreSQL side connection pool"}, "username": {"type": "string", "maxLength": 64, "description": "Pool username"}}, "required": ["connection_uri", "database", "pool_mode", "pool_name", "pool_size"]}}, "create_time": {"type": "string", "maxLength": 36, "description": "Service creation timestamp (ISO 8601)"}, "databases": {"type": "array", "description": "List of service's user database names", "items": {"type": "string"}}, "disk_space_mb": {"type": "integer", "minimum": 0, "description": "Megabytes of disk space for data storage"}, "features": {"type": "object", "description": "Feature flags", "properties": {}}, "group_list": {"type": "array", "description": "List of service groups the service belongs to. This field is deprecated. It is always set to single element with value 'default'", "items": {"type": "string"}}, "kafka_acl": {"type": "array", "description": "List of Kafka-native ACL entries", "items": {"type": "object", "properties": {"host": {"type": "string", "minLength": 0, "maxLength": 256, "description": "the host or * for all hosts"}, "id": {"type": "string", "maxLength": 40, "description": "ID"}, "operation": {"type": "string", "description": "Kafka ACL operation represents an operation which an ACL grants or denies permission to perform", "enum": ["All", "Alter", "AlterConfigs", "ClusterAction", "Create", "CreateTokens", "Delete", "Describe", "DescribeConfigs", "DescribeTokens", "IdempotentWrite", "Read", "Write"]}, "pattern_type": {"type": "string", "description": "Kafka ACL pattern type of resource name", "enum": ["LITERAL", "PREFIXED"]}, "permission_type": {"type": "string", "description": "Kafka ACL permission type", "enum": ["ALLOW", "DENY"]}, "principal": {"type": "string", "minLength": 0, "maxLength": 256, "description": "principal is in 'principalType:name' format"}, "resource_name": {"type": "string", "minLength": 0, "maxLength": 256, "description": "Resource pattern used to match specified resources"}, "resource_type": {"type": "string", "description": "Kafka ACL resource type represents a type of resource which an ACL can be applied to", "enum": ["Cluster", "DelegationToken", "Group", "Topic", "TransactionalId", "User"]}}, "required": ["host", "id", "operation", "pattern_type", "permission_type", "principal", "resource_name", "resource_type"]}}, "maintenance": {"type": "object", "description": "Automatic maintenance settings", "properties": {"controlled_switchover": {"type": "object", "description": "Controlled switchover status", "properties": {"enabled": {"type": "boolean", "description": "Controlled switchover configured and enabled"}, "scheduled_start_time": {"type": "string", "description": "Scheduled start time of the switchover window, if enabled and active"}, "state": {"type": "string", "description": "Controlled switchover state", "enum": ["INACTIVE", "PENDING", "SCHEDULED", "RUNNING", "COMPLETED"]}}, "required": ["enabled", "scheduled_start_time", "state"]}, "dow": {"type": "string", "description": "Day of week for installing updates", "enum": ["monday", "tuesday", "wednesday", "thursday", "friday", "saturday", "sunday", "never"]}, "enabled": {"type": "boolean", "description": "Service maintenance enabled"}, "time": {"type": "string", "minLength": 8, "maxLength": 8, "description": "Time for installing updates, UTC"}, "updates": {"type": "array", "description": "List of updates waiting to be installed", "items": {"type": "object", "properties": {"deadline": {"type": "string", "description": "Deadline for installing the update"}, "description": {"type": "string", "description": "Description of the update"}, "documentation_link": {"type": "string", "description": "Optional link"}, "impact": {"type": "string", "description": "Impact statement of the update"}, "impact_portable_text": {"type": "string", "description": "Impact statement in portable text format"}, "start_after": {"type": "string", "description": "The earliest time the update will be automatically applied"}, "start_at": {"type": "string", "description": "The time when the update will be automatically applied"}}}}}, "required": ["dow", "enabled", "time", "updates"]}, "metadata": {"type": "object", "description": "Service type specific metadata", "properties": {}}, "node_count": {"type": "integer", "description": "Number of service nodes in the active plan"}, "node_cpu_count": {"type": "integer", "description": "Number of CPUs for each node"}, "node_memory_mb": {"type": "number", "description": "Megabytes of memory for each node"}, "node_states": {"type": "array", "description": "State of individual service nodes", "items": {"type": "object", "properties": {"availability_zone": {"type": "string", "description": "The availability zone in which the node is place. If there is no availability zone available this field will be missing."}, "name": {"type": "string", "description": "Name of the service node"}, "progress_updates": {"type": "array", "description": "Extra information regarding the progress for current state", "items": {"type": "object", "properties": {"completed": {"type": "boolean", "description": "Indicates whether this phase has been completed or not"}, "current": {"type": "integer", "description": "Current progress for this phase. May be missing or null."}, "max": {"type": "integer", "description": "Maximum progress value for this phase. May be missing or null. May change."}, "min": {"type": "integer", "description": "Minimum progress value for this phase. May be missing or null."}, "phase": {"type": "string", "description": "Key identifying this phase", "enum": ["prepare", "basebackup", "stream", "finalize"]}, "unit": {"type": "string", "description": "Unit for current/min/max values. New units may be added. If null should be treated as generic unit", "enum": ["binlogs", "bytes_compressed", "bytes_uncompressed", "wal_lsn"]}}, "required": ["completed", "phase"]}}, "role": {"type": "string", "description": "Role of this node. Only returned for a subset of service types", "enum": ["master", "standby", "read-replica"]}, "roles": {"type": "string", "description": "A role string indicating the node's roles in the OpenSearch cluster. Only populated for OpenSearch services using cluster plans. Format: first character is '*' (elected cluster manager) or '-' (not elected), followed by role letters: 'd' (data), 'i' (ingest), 'm' (cluster_manager eligible), 'c' (coordinating), 'L' (ML), 'D' (Dashboards). Example: '*mc' means elected cluster manager with cluster_manager and coordinating roles.", "title": "Roles of this node. Only returned for OpenSearch services with cluster plans"}, "shard": {"type": "object", "description": "Shard of this node. Only returned for a subset of service types", "properties": {"name": {"type": "string", "description": "Name of the shard."}, "position": {"type": "integer", "description": "Position of this shard within the service"}}}, "state": {"type": "string", "description": "Current state of the service node", "enum": ["leaving", "running", "setting_up_vm", "syncing_data", "timing_out", "unknown"]}}, "required": ["availability_zone", "name", "state"]}}, "plan": {"type": "string", "maxLength": 128, "description": "Subscription plan"}, "project_vpc_id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "Project VPC ID"}, "schema_registry_acl": {"type": "array", "description": "List of Schema Registry ACL entries", "items": {"type": "object", "properties": {"id": {"type": "string", "maxLength": 40, "description": "ID"}, "permission": {"type": "string", "description": "ACL entry for Schema Registry", "enum": ["schema_registry_read", "schema_registry_write"]}, "resource": {"type": "string", "minLength": 1, "maxLength": 249, "description": "Schema Registry ACL entry resource name pattern"}, "username": {"type": "string", "minLength": 1, "maxLength": 64, "description": "Username"}}, "required": ["permission", "resource", "username"]}}, "server_group": {"type": "object", "description": "Service IaaS server group", "properties": {"enabled": {"type": "boolean", "description": "Flag set if server group is in use for the service"}, "type": {"type": "string", "description": "IaaS server group type"}}}, "service_integrations": {"type": "array", "description": "Integrations with other services", "items": {"type": "object", "properties": {"active": {"type": "boolean", "description": "True when integration is active"}, "description": {"type": "string", "description": "Description of the integration"}, "dest_endpoint": {"type": "string", "description": "Destination endpoint name"}, "dest_endpoint_id": {"type": "string", "description": "Destination endpoint id"}, "dest_project": {"type": "string", "maxLength": 63, "description": "Project name"}, "dest_service": {"type": "string", "description": "Destination service name"}, "dest_service_type": {"type": "string", "maxLength": 64, "description": "Service type code"}, "enabled": {"type": "boolean", "description": "True when integration is enabled"}, "integration_status": {"type": "object", "description": "Integration status", "properties": {"state": {"type": "object", "description": "Service integration state", "properties": {"errors": {"type": "array", "description": "Errors", "items": {"type": "string"}}, "likely_error_cause": {"type": "string", "description": "Most likely cause of the errors", "enum": ["null", "destination", "integration", "source", "unknown"]}, "nodes": {"type": "object", "description": "Nodes", "properties": {}}, "status": {"type": "string", "description": "Service integration status", "enum": ["failed", "inactive", "running", "starting", "unknown"]}}, "required": ["errors", "nodes", "status"]}, "status_user_desc": {"type": "string", "description": "Integration status description"}}, "required": ["state", "status_user_desc"]}, "integration_type": {"type": "string", "description": "Type of the integration"}, "service_integration_id": {"type": "string", "description": "Integration ID"}, "source_endpoint": {"type": "string", "description": "Source endpoint name"}, "source_endpoint_id": {"type": "string", "description": "Source endpoint ID"}, "source_project": {"type": "string", "maxLength": 63, "description": "Project name"}, "source_service": {"type": "string", "description": "Source service name"}, "source_service_type": {"type": "string", "maxLength": 64, "description": "Service type code"}, "user_config": {"type": "object", "description": "Service integration settings", "properties": {}}}, "required": ["active", "description", "dest_project", "dest_service_type", "enabled", "integration_type", "service_integration_id", "source_project", "source_service", "source_service_type"]}}, "service_name": {"type": "string", "minLength": 1, "maxLength": 64, "description": "Service name"}, "service_notifications": {"type": "array", "description": "Service notifications", "items": {"type": "object", "properties": {"level": {"type": "string", "description": "Notification level", "enum": ["notice", "warning"]}, "message": {"type": "string", "maxLength": 1024, "description": "Human notification message"}, "metadata": {"type": "object", "description": "Notification metadata", "properties": {"end_of_life_help_article_url": {"type": "string", "description": "Link to the help article"}, "end_of_life_policy_url": {"type": "string", "description": "Link to the help article"}, "service_end_of_life_time": {"type": "string", "maxLength": 36, "description": "Timestamp in ISO 8601 format, always in UTC"}, "upgrade_to_service_type": {"type": "string", "maxLength": 64, "description": "If the customer takes no action, the service is updated to this service type when end of life is reached on the Aiven platform. If it is the same as the service type, the platform only upgrades the version."}, "upgrade_to_version": {"type": "string", "maxLength": 32, "description": "The version to which the service will be updated at the end of life on the Aiven platform if the user does not take any action"}}}, "type": {"type": "string", "description": "Notification type", "enum": ["service_end_of_life", "service_powered_off_removal"]}}, "required": ["level", "message", "metadata", "type"]}}, "service_type": {"type": "string", "maxLength": 64, "description": "Service type code"}, "service_type_description": {"type": "string", "description": "Single line description of the service"}, "service_uri": {"type": "string", "description": "URI for connecting to the service (may be null)"}, "service_uri_params": {"type": "object", "description": "service_uri parameterized into key-value pairs", "properties": {}}, "state": {"type": "string", "description": "State of the service", "enum": ["POWEROFF", "REBALANCING", "REBUILDING", "RUNNING"]}, "tags": {"type": "object", "description": "Set of resource tags", "properties": {}}, "tech_emails": {"type": "array", "maxItems": 10, "description": "List of service technical email addresses", "items": {"type": "object", "properties": {"email": {"type": "string", "maxLength": 254, "description": "User email address"}}, "required": ["email"]}}, "termination_protection": {"type": "boolean", "description": "Service is protected against termination and powering off"}, "topics": {"type": "array", "description": "Kafka topics. DEPRECATED: Use /project/$project/service/$service/topic instead", "items": {"type": "object", "properties": {"cleanup_policy": {"type": "string", "maxLength": 64, "description": "The retention policy to use on old segments. Possible values include 'delete', 'compact', or a comma-separated list of them. The default policy ('delete') will discard old segments when their retention time or size limit has been reached. The 'compact' setting will enable log compaction on the topic.", "title": "cleanup.policy"}, "min_insync_replicas": {"type": "integer", "minimum": 1, "description": "When a producer sets acks to 'all' (or '-1'), this configuration specifies the minimum number of replicas that must acknowledge a write for the write to be considered successful. If this minimum cannot be met, then the producer will raise an exception (either NotEnoughReplicas or NotEnoughReplicasAfterAppend). When used together, min.insync.replicas and acks allow you to enforce greater durability guarantees. A typical scenario would be to create a topic with a replication factor of 3, set min.insync.replicas to 2, and produce with acks of 'all'. This will ensure that the producer raises an exception if a majority of replicas do not receive a write.", "title": "min.insync.replicas"}, "partitions": {"type": "integer", "minimum": 1, "maximum": 1000000, "description": "Number of partitions"}, "replication": {"type": "integer", "minimum": 1, "description": "Number of replicas"}, "retention_bytes": {"type": "integer", "description": "This configuration controls the maximum size a partition (which consists of log segments) can grow to before we will discard old log segments to free up space if we are using the 'delete' retention policy. By default there is no size limit only a time limit. Since this limit is enforced at the partition level, multiply it by the number of partitions to compute the topic retention in bytes.", "title": "retention.bytes"}, "retention_hours": {"type": "integer", "maximum": 2562047788015, "description": "Retention period (hours)"}, "state": {"type": "string", "description": "Topic state", "enum": ["ACTIVE", "CONFIGURING", "DELETING"]}, "topic_name": {"type": "string", "minLength": 1, "maxLength": 249, "description": "Topic name"}}, "required": ["cleanup_policy", "min_insync_replicas", "partitions", "replication", "retention_bytes", "retention_hours", "topic_name"]}}, "update_time": {"type": "string", "maxLength": 36, "description": "Service last update timestamp (ISO 8601)"}, "user_config": {"type": "object", "description": "Service type-specific settings", "properties": {}}, "users": {"type": "array", "description": "List of service users", "items": {"type": "object", "properties": {"access_cert": {"type": "string", "description": "Access certificate for TLS client authentication"}, "access_cert_not_valid_after_time": {"type": "string", "description": "Validity end time (ISO8601) for the current access certificate"}, "access_control": {"type": "object", "description": "Service type specific access control rules for user. Currently only used for configuring user ACLs for Redis version 6 and above.", "title": "Service specific access controls for user", "properties": {"dragonfly_acl_categories": {"type": "array", "maxItems": 256, "description": "Command category rules", "items": {"type": "string"}}, "dragonfly_acl_commands": {"type": "array", "maxItems": 256, "description": "Rules for individual commands", "items": {"type": "string"}}, "dragonfly_acl_keys": {"type": "array", "maxItems": 256, "description": "Key access rules", "items": {"type": "string"}}, "pg_allow_replication": {"type": "boolean", "description": "Enable REPLICATION role option"}, "redis_acl_categories": {"type": "array", "maxItems": 256, "description": "Command category rules", "items": {"type": "string"}}, "redis_acl_channels": {"type": "array", "maxItems": 256, "description": "Glob-style patterns defining which pub/sub channels can be accessed. If array is not defined, the default policy is used (allchannels).", "title": "Permitted pub/sub channel patterns", "items": {"type": "string"}}, "redis_acl_commands": {"type": "array", "maxItems": 256, "description": "Rules for individual commands", "items": {"type": "string"}}, "redis_acl_keys": {"type": "array", "maxItems": 256, "description": "Key access rules", "items": {"type": "string"}}, "valkey_acl_categories": {"type": "array", "maxItems": 256, "description": "Command category rules", "items": {"type": "string"}}, "valkey_acl_channels": {"type": "array", "maxItems": 256, "description": "Glob-style patterns defining which pub/sub channels can be accessed. If array is not defined, the default policy is used (allchannels).", "title": "Permitted pub/sub channel patterns", "items": {"type": "string"}}, "valkey_acl_commands": {"type": "array", "maxItems": 256, "description": "Rules for individual commands", "items": {"type": "string"}}, "valkey_acl_keys": {"type": "array", "maxItems": 256, "description": "Key access rules", "items": {"type": "string"}}}}, "access_key": {"type": "string", "description": "Access key for TLS client authentication"}, "authentication": {"type": "string", "description": "Service specific authentication details. Currently only used for MySQL where accepted options are 'mysql_native_password' and 'caching_sha2_password', latter being default when this is not explicitly set.", "title": "Authentication details", "enum": ["null", "caching_sha2_password", "mysql_native_password"]}, "expiring_cert_not_valid_after_time": {"type": "string", "description": "When the existing certificate is nearing expiration and a new certificate has been generated, the validity end time (ISO8601) for the expiring certificate", "title": "Validity end time (ISO8601) for the expiring access certificate"}, "password": {"type": "string", "description": "Account password. A null value indicates a user overridden password."}, "password_updated_time": {"type": "string", "description": "Timestamp (ISO8601) of the last time this password was set."}, "type": {"type": "string", "description": "Account type"}, "username": {"type": "string", "description": "Account username"}}, "required": ["password", "type", "username"]}}}, "required": ["cloud_name", "create_time", "group_list", "plan", "project_vpc_id", "service_integrations", "service_name", "service_type", "service_uri", "state", "termination_protection", "update_time", "user_config"]}}, "required": ["service"]}, "ServiceUserCreateRequestBody": {"type": "object", "description": "ServiceUserCreateRequestBody", "properties": {"access_control": {"type": "object", "description": "Service type specific access control rules for user. Currently only used for configuring user ACLs for Redis version 6 and above.", "title": "Service specific access controls for user", "properties": {"dragonfly_acl_categories": {"type": "array", "maxItems": 256, "description": "Command category rules", "items": {"type": "string"}}, "dragonfly_acl_commands": {"type": "array", "maxItems": 256, "description": "Rules for individual commands", "items": {"type": "string"}}, "dragonfly_acl_keys": {"type": "array", "maxItems": 256, "description": "Key access rules", "items": {"type": "string"}}, "pg_allow_replication": {"type": "boolean", "description": "Enable REPLICATION role option"}, "redis_acl_categories": {"type": "array", "maxItems": 256, "description": "Command category rules", "items": {"type": "string"}}, "redis_acl_channels": {"type": "array", "maxItems": 256, "description": "Glob-style patterns defining which pub/sub channels can be accessed. If array is not defined, the default policy is used (allchannels).", "title": "Permitted pub/sub channel patterns", "items": {"type": "string"}}, "redis_acl_commands": {"type": "array", "maxItems": 256, "description": "Rules for individual commands", "items": {"type": "string"}}, "redis_acl_keys": {"type": "array", "maxItems": 256, "description": "Key access rules", "items": {"type": "string"}}, "valkey_acl_categories": {"type": "array", "maxItems": 256, "description": "Command category rules", "items": {"type": "string"}}, "valkey_acl_channels": {"type": "array", "maxItems": 256, "description": "Glob-style patterns defining which pub/sub channels can be accessed. If array is not defined, the default policy is used (allchannels).", "title": "Permitted pub/sub channel patterns", "items": {"type": "string"}}, "valkey_acl_commands": {"type": "array", "maxItems": 256, "description": "Rules for individual commands", "items": {"type": "string"}}, "valkey_acl_keys": {"type": "array", "maxItems": 256, "description": "Key access rules", "items": {"type": "string"}}}}, "authentication": {"type": "string", "description": "Service specific authentication details. Currently only used for MySQL where accepted options are 'mysql_native_password' and 'caching_sha2_password', latter being default when this is not explicitly set.", "title": "Authentication details", "enum": ["null", "caching_sha2_password", "mysql_native_password"]}, "username": {"type": "string", "maxLength": 64, "description": "Service username"}}, "required": ["username"]}, "ServiceUserCreateResponse": {"type": "object", "description": "ServiceUserCreateResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "user": {"type": "object", "description": "Service user account", "properties": {"access_cert": {"type": "string", "description": "Access certificate for TLS client authentication"}, "access_cert_not_valid_after_time": {"type": "string", "description": "Validity end time (ISO8601) for the current access certificate"}, "access_control": {"type": "object", "description": "Service type specific access control rules for user. Currently only used for configuring user ACLs for Redis version 6 and above.", "title": "Service specific access controls for user", "properties": {"dragonfly_acl_categories": {"type": "array", "maxItems": 256, "description": "Command category rules", "items": {"type": "string"}}, "dragonfly_acl_commands": {"type": "array", "maxItems": 256, "description": "Rules for individual commands", "items": {"type": "string"}}, "dragonfly_acl_keys": {"type": "array", "maxItems": 256, "description": "Key access rules", "items": {"type": "string"}}, "pg_allow_replication": {"type": "boolean", "description": "Enable REPLICATION role option"}, "redis_acl_categories": {"type": "array", "maxItems": 256, "description": "Command category rules", "items": {"type": "string"}}, "redis_acl_channels": {"type": "array", "maxItems": 256, "description": "Glob-style patterns defining which pub/sub channels can be accessed. If array is not defined, the default policy is used (allchannels).", "title": "Permitted pub/sub channel patterns", "items": {"type": "string"}}, "redis_acl_commands": {"type": "array", "maxItems": 256, "description": "Rules for individual commands", "items": {"type": "string"}}, "redis_acl_keys": {"type": "array", "maxItems": 256, "description": "Key access rules", "items": {"type": "string"}}, "valkey_acl_categories": {"type": "array", "maxItems": 256, "description": "Command category rules", "items": {"type": "string"}}, "valkey_acl_channels": {"type": "array", "maxItems": 256, "description": "Glob-style patterns defining which pub/sub channels can be accessed. If array is not defined, the default policy is used (allchannels).", "title": "Permitted pub/sub channel patterns", "items": {"type": "string"}}, "valkey_acl_commands": {"type": "array", "maxItems": 256, "description": "Rules for individual commands", "items": {"type": "string"}}, "valkey_acl_keys": {"type": "array", "maxItems": 256, "description": "Key access rules", "items": {"type": "string"}}}}, "access_key": {"type": "string", "description": "Access key for TLS client authentication"}, "authentication": {"type": "string", "description": "Service specific authentication details. Currently only used for MySQL where accepted options are 'mysql_native_password' and 'caching_sha2_password', latter being default when this is not explicitly set.", "title": "Authentication details", "enum": ["null", "caching_sha2_password", "mysql_native_password"]}, "expiring_cert_not_valid_after_time": {"type": "string", "description": "When the existing certificate is nearing expiration and a new certificate has been generated, the validity end time (ISO8601) for the expiring certificate", "title": "Validity end time (ISO8601) for the expiring access certificate"}, "password": {"type": "string", "description": "Account password. A null value indicates a user overridden password."}, "password_updated_time": {"type": "string", "description": "Timestamp (ISO8601) of the last time this password was set."}, "type": {"type": "string", "description": "Account type"}, "username": {"type": "string", "description": "Account username"}}, "required": ["password", "type", "username"]}}, "required": ["user"]}, "ServiceUserCredentialsModifyRequestBody": {"type": "object", "description": "ServiceUserCredentialsModifyRequestBody", "properties": {"access_control": {"type": "object", "description": "Service type specific access control rules for user. Currently only used for configuring user ACLs for Redis version 6 and above.", "title": "Service specific access controls for user", "properties": {"dragonfly_acl_categories": {"type": "array", "maxItems": 256, "description": "Command category rules", "items": {"type": "string"}}, "dragonfly_acl_commands": {"type": "array", "maxItems": 256, "description": "Rules for individual commands", "items": {"type": "string"}}, "dragonfly_acl_keys": {"type": "array", "maxItems": 256, "description": "Key access rules", "items": {"type": "string"}}, "pg_allow_replication": {"type": "boolean", "description": "Enable REPLICATION role option"}, "redis_acl_categories": {"type": "array", "maxItems": 256, "description": "Command category rules", "items": {"type": "string"}}, "redis_acl_channels": {"type": "array", "maxItems": 256, "description": "Glob-style patterns defining which pub/sub channels can be accessed. If array is not defined, the default policy is used (allchannels).", "title": "Permitted pub/sub channel patterns", "items": {"type": "string"}}, "redis_acl_commands": {"type": "array", "maxItems": 256, "description": "Rules for individual commands", "items": {"type": "string"}}, "redis_acl_keys": {"type": "array", "maxItems": 256, "description": "Key access rules", "items": {"type": "string"}}, "valkey_acl_categories": {"type": "array", "maxItems": 256, "description": "Command category rules", "items": {"type": "string"}}, "valkey_acl_channels": {"type": "array", "maxItems": 256, "description": "Glob-style patterns defining which pub/sub channels can be accessed. If array is not defined, the default policy is used (allchannels).", "title": "Permitted pub/sub channel patterns", "items": {"type": "string"}}, "valkey_acl_commands": {"type": "array", "maxItems": 256, "description": "Rules for individual commands", "items": {"type": "string"}}, "valkey_acl_keys": {"type": "array", "maxItems": 256, "description": "Key access rules", "items": {"type": "string"}}}}, "authentication": {"type": "string", "description": "Service specific authentication details. Currently only used for MySQL where accepted options are 'mysql_native_password' and 'caching_sha2_password', latter being default when this is not explicitly set.", "title": "Authentication details", "enum": ["null", "caching_sha2_password", "mysql_native_password"]}, "new_password": {"type": "string", "minLength": 8, "maxLength": 256, "description": "New password"}, "operation": {"type": "string", "description": "Operation type", "enum": ["acknowledge-renewal", "reset-credentials", "set-access-control"]}}, "required": ["operation"]}, "ServiceUserCredentialsModifyResponse": {"type": "object", "description": "ServiceUserCredentialsModifyResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "service": {"type": "object", "description": "Service information", "properties": {"acl": {"type": "array", "description": "List of Aiven ACL entries for Kafka service", "items": {"type": "object", "properties": {"id": {"type": "string", "maxLength": 40, "description": "ID"}, "permission": {"type": "string", "description": "Kafka permission", "enum": ["admin", "read", "readwrite", "write"]}, "topic": {"type": "string", "minLength": 1, "maxLength": 249, "description": "Topic name pattern"}, "username": {"type": "string", "minLength": 1, "maxLength": 64, "description": "Username"}}, "required": ["permission", "topic", "username"]}}, "backups": {"type": "array", "description": "List of backups for the service", "items": {"type": "object", "properties": {"additional_regions": {"type": "array", "description": "Additional backup regions, if available", "items": {"type": "object", "properties": {"cloud": {"type": "string", "maxLength": 256, "description": "Target cloud"}, "pause_reason": {"type": "string", "description": "Reason for pausing the backup synchronization"}, "paused": {"type": "boolean", "description": "Indicates additional backup synchronization is paused"}, "region": {"type": "string", "description": "Cloud storage region name"}}, "required": ["cloud"]}}, "backup_name": {"type": "string", "description": "Internal name of this backup"}, "backup_time": {"type": "string", "maxLength": 36, "description": "Backup timestamp (ISO 8601)"}, "data_size": {"type": "integer", "description": "Backup's original size before compression"}, "incremental": {"type": "boolean", "description": "Indicates if this backup is a full or an incremental one (available only for MySQL)"}, "storage_location": {"type": "string", "description": "Location where this backup is stored"}, "tiered_storage_data_size": {"type": "integer", "description": "The amount of tiered storage data in bytes referenced by this backup."}}, "required": ["backup_name", "backup_time", "data_size"]}}, "cloud_description": {"type": "string", "description": "Cloud provider and location"}, "cloud_name": {"type": "string", "maxLength": 256, "description": "Target cloud"}, "components": {"type": "array", "description": "Service component information objects", "items": {"type": "object", "properties": {"component": {"type": "string", "description": "Service component name"}, "host": {"type": "string", "description": "DNS name for connecting to the service component"}, "kafka_authentication_method": {"type": "string", "description": "Kafka authentication method. This is a value specific to the 'kafka' service component", "enum": ["certificate", "sasl"]}, "kafka_ssl_ca": {"type": "string", "description": "Specifies if this port uses Project CA or Letsencrypt. If not specified, the default is using Project CA.This is a value specific to the 'kafka' service component.", "enum": ["project_ca", "letsencrypt"]}, "path": {"type": "string", "description": "Path component of the service URL (useful only if service component is HTTP or HTTPS endpoint)"}, "port": {"type": "integer", "minimum": 0, "maximum": 65535, "description": "Port number for connecting to the service component"}, "privatelink_connection_id": {"type": "string", "description": "Privatelink connection ID"}, "route": {"type": "string", "description": "Network access route", "enum": ["dynamic", "public", "private", "privatelink"]}, "ssl": {"type": "boolean", "description": "Whether the endpoint is encrypted or accepts plaintext. By default endpoints are always encrypted andthis property is only included for service components that may disable encryption."}, "usage": {"type": "string", "description": "DNS usage name", "enum": ["disaster_recovery", "primary", "replica", "ha_replica"]}}, "required": ["component", "host", "port", "route", "usage"]}}, "connection_info": {"type": "object", "description": "Service-specific connection information properties", "properties": {}}, "connection_pools": {"type": "array", "description": "PostgreSQL PGBouncer connection pools", "items": {"type": "object", "properties": {"connection_uri": {"type": "string", "description": "Connection URI for the DB pool"}, "database": {"type": "string", "maxLength": 63, "description": "Database name"}, "pool_mode": {"type": "string", "description": "PGBouncer pool mode", "enum": ["session", "transaction", "statement"]}, "pool_name": {"type": "string", "maxLength": 63, "description": "Connection pool name"}, "pool_size": {"type": "integer", "minimum": 1, "maximum": 10000, "description": "Size of PGBouncer's PostgreSQL side connection pool"}, "username": {"type": "string", "maxLength": 64, "description": "Pool username"}}, "required": ["connection_uri", "database", "pool_mode", "pool_name", "pool_size"]}}, "create_time": {"type": "string", "maxLength": 36, "description": "Service creation timestamp (ISO 8601)"}, "databases": {"type": "array", "description": "List of service's user database names", "items": {"type": "string"}}, "disk_space_mb": {"type": "integer", "minimum": 0, "description": "Megabytes of disk space for data storage"}, "features": {"type": "object", "description": "Feature flags", "properties": {}}, "group_list": {"type": "array", "description": "List of service groups the service belongs to. This field is deprecated. It is always set to single element with value 'default'", "items": {"type": "string"}}, "kafka_acl": {"type": "array", "description": "List of Kafka-native ACL entries", "items": {"type": "object", "properties": {"host": {"type": "string", "minLength": 0, "maxLength": 256, "description": "the host or * for all hosts"}, "id": {"type": "string", "maxLength": 40, "description": "ID"}, "operation": {"type": "string", "description": "Kafka ACL operation represents an operation which an ACL grants or denies permission to perform", "enum": ["All", "Alter", "AlterConfigs", "ClusterAction", "Create", "CreateTokens", "Delete", "Describe", "DescribeConfigs", "DescribeTokens", "IdempotentWrite", "Read", "Write"]}, "pattern_type": {"type": "string", "description": "Kafka ACL pattern type of resource name", "enum": ["LITERAL", "PREFIXED"]}, "permission_type": {"type": "string", "description": "Kafka ACL permission type", "enum": ["ALLOW", "DENY"]}, "principal": {"type": "string", "minLength": 0, "maxLength": 256, "description": "principal is in 'principalType:name' format"}, "resource_name": {"type": "string", "minLength": 0, "maxLength": 256, "description": "Resource pattern used to match specified resources"}, "resource_type": {"type": "string", "description": "Kafka ACL resource type represents a type of resource which an ACL can be applied to", "enum": ["Cluster", "DelegationToken", "Group", "Topic", "TransactionalId", "User"]}}, "required": ["host", "id", "operation", "pattern_type", "permission_type", "principal", "resource_name", "resource_type"]}}, "maintenance": {"type": "object", "description": "Automatic maintenance settings", "properties": {"controlled_switchover": {"type": "object", "description": "Controlled switchover status", "properties": {"enabled": {"type": "boolean", "description": "Controlled switchover configured and enabled"}, "scheduled_start_time": {"type": "string", "description": "Scheduled start time of the switchover window, if enabled and active"}, "state": {"type": "string", "description": "Controlled switchover state", "enum": ["INACTIVE", "PENDING", "SCHEDULED", "RUNNING", "COMPLETED"]}}, "required": ["enabled", "scheduled_start_time", "state"]}, "dow": {"type": "string", "description": "Day of week for installing updates", "enum": ["monday", "tuesday", "wednesday", "thursday", "friday", "saturday", "sunday", "never"]}, "enabled": {"type": "boolean", "description": "Service maintenance enabled"}, "time": {"type": "string", "minLength": 8, "maxLength": 8, "description": "Time for installing updates, UTC"}, "updates": {"type": "array", "description": "List of updates waiting to be installed", "items": {"type": "object", "properties": {"deadline": {"type": "string", "description": "Deadline for installing the update"}, "description": {"type": "string", "description": "Description of the update"}, "documentation_link": {"type": "string", "description": "Optional link"}, "impact": {"type": "string", "description": "Impact statement of the update"}, "impact_portable_text": {"type": "string", "description": "Impact statement in portable text format"}, "start_after": {"type": "string", "description": "The earliest time the update will be automatically applied"}, "start_at": {"type": "string", "description": "The time when the update will be automatically applied"}}}}}, "required": ["dow", "enabled", "time", "updates"]}, "metadata": {"type": "object", "description": "Service type specific metadata", "properties": {}}, "node_count": {"type": "integer", "description": "Number of service nodes in the active plan"}, "node_cpu_count": {"type": "integer", "description": "Number of CPUs for each node"}, "node_memory_mb": {"type": "number", "description": "Megabytes of memory for each node"}, "node_states": {"type": "array", "description": "State of individual service nodes", "items": {"type": "object", "properties": {"availability_zone": {"type": "string", "description": "The availability zone in which the node is place. If there is no availability zone available this field will be missing."}, "name": {"type": "string", "description": "Name of the service node"}, "progress_updates": {"type": "array", "description": "Extra information regarding the progress for current state", "items": {"type": "object", "properties": {"completed": {"type": "boolean", "description": "Indicates whether this phase has been completed or not"}, "current": {"type": "integer", "description": "Current progress for this phase. May be missing or null."}, "max": {"type": "integer", "description": "Maximum progress value for this phase. May be missing or null. May change."}, "min": {"type": "integer", "description": "Minimum progress value for this phase. May be missing or null."}, "phase": {"type": "string", "description": "Key identifying this phase", "enum": ["prepare", "basebackup", "stream", "finalize"]}, "unit": {"type": "string", "description": "Unit for current/min/max values. New units may be added. If null should be treated as generic unit", "enum": ["binlogs", "bytes_compressed", "bytes_uncompressed", "wal_lsn"]}}, "required": ["completed", "phase"]}}, "role": {"type": "string", "description": "Role of this node. Only returned for a subset of service types", "enum": ["master", "standby", "read-replica"]}, "roles": {"type": "string", "description": "A role string indicating the node's roles in the OpenSearch cluster. Only populated for OpenSearch services using cluster plans. Format: first character is '*' (elected cluster manager) or '-' (not elected), followed by role letters: 'd' (data), 'i' (ingest), 'm' (cluster_manager eligible), 'c' (coordinating), 'L' (ML), 'D' (Dashboards). Example: '*mc' means elected cluster manager with cluster_manager and coordinating roles.", "title": "Roles of this node. Only returned for OpenSearch services with cluster plans"}, "shard": {"type": "object", "description": "Shard of this node. Only returned for a subset of service types", "properties": {"name": {"type": "string", "description": "Name of the shard."}, "position": {"type": "integer", "description": "Position of this shard within the service"}}}, "state": {"type": "string", "description": "Current state of the service node", "enum": ["leaving", "running", "setting_up_vm", "syncing_data", "timing_out", "unknown"]}}, "required": ["availability_zone", "name", "state"]}}, "plan": {"type": "string", "maxLength": 128, "description": "Subscription plan"}, "project_vpc_id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "Project VPC ID"}, "schema_registry_acl": {"type": "array", "description": "List of Schema Registry ACL entries", "items": {"type": "object", "properties": {"id": {"type": "string", "maxLength": 40, "description": "ID"}, "permission": {"type": "string", "description": "ACL entry for Schema Registry", "enum": ["schema_registry_read", "schema_registry_write"]}, "resource": {"type": "string", "minLength": 1, "maxLength": 249, "description": "Schema Registry ACL entry resource name pattern"}, "username": {"type": "string", "minLength": 1, "maxLength": 64, "description": "Username"}}, "required": ["permission", "resource", "username"]}}, "server_group": {"type": "object", "description": "Service IaaS server group", "properties": {"enabled": {"type": "boolean", "description": "Flag set if server group is in use for the service"}, "type": {"type": "string", "description": "IaaS server group type"}}}, "service_integrations": {"type": "array", "description": "Integrations with other services", "items": {"type": "object", "properties": {"active": {"type": "boolean", "description": "True when integration is active"}, "description": {"type": "string", "description": "Description of the integration"}, "dest_endpoint": {"type": "string", "description": "Destination endpoint name"}, "dest_endpoint_id": {"type": "string", "description": "Destination endpoint id"}, "dest_project": {"type": "string", "maxLength": 63, "description": "Project name"}, "dest_service": {"type": "string", "description": "Destination service name"}, "dest_service_type": {"type": "string", "maxLength": 64, "description": "Service type code"}, "enabled": {"type": "boolean", "description": "True when integration is enabled"}, "integration_status": {"type": "object", "description": "Integration status", "properties": {"state": {"type": "object", "description": "Service integration state", "properties": {"errors": {"type": "array", "description": "Errors", "items": {"type": "string"}}, "likely_error_cause": {"type": "string", "description": "Most likely cause of the errors", "enum": ["null", "destination", "integration", "source", "unknown"]}, "nodes": {"type": "object", "description": "Nodes", "properties": {}}, "status": {"type": "string", "description": "Service integration status", "enum": ["failed", "inactive", "running", "starting", "unknown"]}}, "required": ["errors", "nodes", "status"]}, "status_user_desc": {"type": "string", "description": "Integration status description"}}, "required": ["state", "status_user_desc"]}, "integration_type": {"type": "string", "description": "Type of the integration"}, "service_integration_id": {"type": "string", "description": "Integration ID"}, "source_endpoint": {"type": "string", "description": "Source endpoint name"}, "source_endpoint_id": {"type": "string", "description": "Source endpoint ID"}, "source_project": {"type": "string", "maxLength": 63, "description": "Project name"}, "source_service": {"type": "string", "description": "Source service name"}, "source_service_type": {"type": "string", "maxLength": 64, "description": "Service type code"}, "user_config": {"type": "object", "description": "Service integration settings", "properties": {}}}, "required": ["active", "description", "dest_project", "dest_service_type", "enabled", "integration_type", "service_integration_id", "source_project", "source_service", "source_service_type"]}}, "service_name": {"type": "string", "minLength": 1, "maxLength": 64, "description": "Service name"}, "service_notifications": {"type": "array", "description": "Service notifications", "items": {"type": "object", "properties": {"level": {"type": "string", "description": "Notification level", "enum": ["notice", "warning"]}, "message": {"type": "string", "maxLength": 1024, "description": "Human notification message"}, "metadata": {"type": "object", "description": "Notification metadata", "properties": {"end_of_life_help_article_url": {"type": "string", "description": "Link to the help article"}, "end_of_life_policy_url": {"type": "string", "description": "Link to the help article"}, "service_end_of_life_time": {"type": "string", "maxLength": 36, "description": "Timestamp in ISO 8601 format, always in UTC"}, "upgrade_to_service_type": {"type": "string", "maxLength": 64, "description": "If the customer takes no action, the service is updated to this service type when end of life is reached on the Aiven platform. If it is the same as the service type, the platform only upgrades the version."}, "upgrade_to_version": {"type": "string", "maxLength": 32, "description": "The version to which the service will be updated at the end of life on the Aiven platform if the user does not take any action"}}}, "type": {"type": "string", "description": "Notification type", "enum": ["service_end_of_life", "service_powered_off_removal"]}}, "required": ["level", "message", "metadata", "type"]}}, "service_type": {"type": "string", "maxLength": 64, "description": "Service type code"}, "service_type_description": {"type": "string", "description": "Single line description of the service"}, "service_uri": {"type": "string", "description": "URI for connecting to the service (may be null)"}, "service_uri_params": {"type": "object", "description": "service_uri parameterized into key-value pairs", "properties": {}}, "state": {"type": "string", "description": "State of the service", "enum": ["POWEROFF", "REBALANCING", "REBUILDING", "RUNNING"]}, "tags": {"type": "object", "description": "Set of resource tags", "properties": {}}, "tech_emails": {"type": "array", "maxItems": 10, "description": "List of service technical email addresses", "items": {"type": "object", "properties": {"email": {"type": "string", "maxLength": 254, "description": "User email address"}}, "required": ["email"]}}, "termination_protection": {"type": "boolean", "description": "Service is protected against termination and powering off"}, "topics": {"type": "array", "description": "Kafka topics. DEPRECATED: Use /project/$project/service/$service/topic instead", "items": {"type": "object", "properties": {"cleanup_policy": {"type": "string", "maxLength": 64, "description": "The retention policy to use on old segments. Possible values include 'delete', 'compact', or a comma-separated list of them. The default policy ('delete') will discard old segments when their retention time or size limit has been reached. The 'compact' setting will enable log compaction on the topic.", "title": "cleanup.policy"}, "min_insync_replicas": {"type": "integer", "minimum": 1, "description": "When a producer sets acks to 'all' (or '-1'), this configuration specifies the minimum number of replicas that must acknowledge a write for the write to be considered successful. If this minimum cannot be met, then the producer will raise an exception (either NotEnoughReplicas or NotEnoughReplicasAfterAppend). When used together, min.insync.replicas and acks allow you to enforce greater durability guarantees. A typical scenario would be to create a topic with a replication factor of 3, set min.insync.replicas to 2, and produce with acks of 'all'. This will ensure that the producer raises an exception if a majority of replicas do not receive a write.", "title": "min.insync.replicas"}, "partitions": {"type": "integer", "minimum": 1, "maximum": 1000000, "description": "Number of partitions"}, "replication": {"type": "integer", "minimum": 1, "description": "Number of replicas"}, "retention_bytes": {"type": "integer", "description": "This configuration controls the maximum size a partition (which consists of log segments) can grow to before we will discard old log segments to free up space if we are using the 'delete' retention policy. By default there is no size limit only a time limit. Since this limit is enforced at the partition level, multiply it by the number of partitions to compute the topic retention in bytes.", "title": "retention.bytes"}, "retention_hours": {"type": "integer", "maximum": 2562047788015, "description": "Retention period (hours)"}, "state": {"type": "string", "description": "Topic state", "enum": ["ACTIVE", "CONFIGURING", "DELETING"]}, "topic_name": {"type": "string", "minLength": 1, "maxLength": 249, "description": "Topic name"}}, "required": ["cleanup_policy", "min_insync_replicas", "partitions", "replication", "retention_bytes", "retention_hours", "topic_name"]}}, "update_time": {"type": "string", "maxLength": 36, "description": "Service last update timestamp (ISO 8601)"}, "user_config": {"type": "object", "description": "Service type-specific settings", "properties": {}}, "users": {"type": "array", "description": "List of service users", "items": {"type": "object", "properties": {"access_cert": {"type": "string", "description": "Access certificate for TLS client authentication"}, "access_cert_not_valid_after_time": {"type": "string", "description": "Validity end time (ISO8601) for the current access certificate"}, "access_control": {"type": "object", "description": "Service type specific access control rules for user. Currently only used for configuring user ACLs for Redis version 6 and above.", "title": "Service specific access controls for user", "properties": {"dragonfly_acl_categories": {"type": "array", "maxItems": 256, "description": "Command category rules", "items": {"type": "string"}}, "dragonfly_acl_commands": {"type": "array", "maxItems": 256, "description": "Rules for individual commands", "items": {"type": "string"}}, "dragonfly_acl_keys": {"type": "array", "maxItems": 256, "description": "Key access rules", "items": {"type": "string"}}, "pg_allow_replication": {"type": "boolean", "description": "Enable REPLICATION role option"}, "redis_acl_categories": {"type": "array", "maxItems": 256, "description": "Command category rules", "items": {"type": "string"}}, "redis_acl_channels": {"type": "array", "maxItems": 256, "description": "Glob-style patterns defining which pub/sub channels can be accessed. If array is not defined, the default policy is used (allchannels).", "title": "Permitted pub/sub channel patterns", "items": {"type": "string"}}, "redis_acl_commands": {"type": "array", "maxItems": 256, "description": "Rules for individual commands", "items": {"type": "string"}}, "redis_acl_keys": {"type": "array", "maxItems": 256, "description": "Key access rules", "items": {"type": "string"}}, "valkey_acl_categories": {"type": "array", "maxItems": 256, "description": "Command category rules", "items": {"type": "string"}}, "valkey_acl_channels": {"type": "array", "maxItems": 256, "description": "Glob-style patterns defining which pub/sub channels can be accessed. If array is not defined, the default policy is used (allchannels).", "title": "Permitted pub/sub channel patterns", "items": {"type": "string"}}, "valkey_acl_commands": {"type": "array", "maxItems": 256, "description": "Rules for individual commands", "items": {"type": "string"}}, "valkey_acl_keys": {"type": "array", "maxItems": 256, "description": "Key access rules", "items": {"type": "string"}}}}, "access_key": {"type": "string", "description": "Access key for TLS client authentication"}, "authentication": {"type": "string", "description": "Service specific authentication details. Currently only used for MySQL where accepted options are 'mysql_native_password' and 'caching_sha2_password', latter being default when this is not explicitly set.", "title": "Authentication details", "enum": ["null", "caching_sha2_password", "mysql_native_password"]}, "expiring_cert_not_valid_after_time": {"type": "string", "description": "When the existing certificate is nearing expiration and a new certificate has been generated, the validity end time (ISO8601) for the expiring certificate", "title": "Validity end time (ISO8601) for the expiring access certificate"}, "password": {"type": "string", "description": "Account password. A null value indicates a user overridden password."}, "password_updated_time": {"type": "string", "description": "Timestamp (ISO8601) of the last time this password was set."}, "type": {"type": "string", "description": "Account type"}, "username": {"type": "string", "description": "Account username"}}, "required": ["password", "type", "username"]}}}, "required": ["cloud_name", "create_time", "group_list", "plan", "project_vpc_id", "service_integrations", "service_name", "service_type", "service_uri", "state", "termination_protection", "update_time", "user_config"]}}, "required": ["service"]}, "ServiceUserCredentialsResetResponse": {"type": "object", "description": "ServiceUserCredentialsResetResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "service": {"type": "object", "description": "Service information", "properties": {"acl": {"type": "array", "description": "List of Aiven ACL entries for Kafka service", "items": {"type": "object", "properties": {"id": {"type": "string", "maxLength": 40, "description": "ID"}, "permission": {"type": "string", "description": "Kafka permission", "enum": ["admin", "read", "readwrite", "write"]}, "topic": {"type": "string", "minLength": 1, "maxLength": 249, "description": "Topic name pattern"}, "username": {"type": "string", "minLength": 1, "maxLength": 64, "description": "Username"}}, "required": ["permission", "topic", "username"]}}, "backups": {"type": "array", "description": "List of backups for the service", "items": {"type": "object", "properties": {"additional_regions": {"type": "array", "description": "Additional backup regions, if available", "items": {"type": "object", "properties": {"cloud": {"type": "string", "maxLength": 256, "description": "Target cloud"}, "pause_reason": {"type": "string", "description": "Reason for pausing the backup synchronization"}, "paused": {"type": "boolean", "description": "Indicates additional backup synchronization is paused"}, "region": {"type": "string", "description": "Cloud storage region name"}}, "required": ["cloud"]}}, "backup_name": {"type": "string", "description": "Internal name of this backup"}, "backup_time": {"type": "string", "maxLength": 36, "description": "Backup timestamp (ISO 8601)"}, "data_size": {"type": "integer", "description": "Backup's original size before compression"}, "incremental": {"type": "boolean", "description": "Indicates if this backup is a full or an incremental one (available only for MySQL)"}, "storage_location": {"type": "string", "description": "Location where this backup is stored"}, "tiered_storage_data_size": {"type": "integer", "description": "The amount of tiered storage data in bytes referenced by this backup."}}, "required": ["backup_name", "backup_time", "data_size"]}}, "cloud_description": {"type": "string", "description": "Cloud provider and location"}, "cloud_name": {"type": "string", "maxLength": 256, "description": "Target cloud"}, "components": {"type": "array", "description": "Service component information objects", "items": {"type": "object", "properties": {"component": {"type": "string", "description": "Service component name"}, "host": {"type": "string", "description": "DNS name for connecting to the service component"}, "kafka_authentication_method": {"type": "string", "description": "Kafka authentication method. This is a value specific to the 'kafka' service component", "enum": ["certificate", "sasl"]}, "kafka_ssl_ca": {"type": "string", "description": "Specifies if this port uses Project CA or Letsencrypt. If not specified, the default is using Project CA.This is a value specific to the 'kafka' service component.", "enum": ["project_ca", "letsencrypt"]}, "path": {"type": "string", "description": "Path component of the service URL (useful only if service component is HTTP or HTTPS endpoint)"}, "port": {"type": "integer", "minimum": 0, "maximum": 65535, "description": "Port number for connecting to the service component"}, "privatelink_connection_id": {"type": "string", "description": "Privatelink connection ID"}, "route": {"type": "string", "description": "Network access route", "enum": ["dynamic", "public", "private", "privatelink"]}, "ssl": {"type": "boolean", "description": "Whether the endpoint is encrypted or accepts plaintext. By default endpoints are always encrypted andthis property is only included for service components that may disable encryption."}, "usage": {"type": "string", "description": "DNS usage name", "enum": ["disaster_recovery", "primary", "replica", "ha_replica"]}}, "required": ["component", "host", "port", "route", "usage"]}}, "connection_info": {"type": "object", "description": "Service-specific connection information properties", "properties": {}}, "connection_pools": {"type": "array", "description": "PostgreSQL PGBouncer connection pools", "items": {"type": "object", "properties": {"connection_uri": {"type": "string", "description": "Connection URI for the DB pool"}, "database": {"type": "string", "maxLength": 63, "description": "Database name"}, "pool_mode": {"type": "string", "description": "PGBouncer pool mode", "enum": ["session", "transaction", "statement"]}, "pool_name": {"type": "string", "maxLength": 63, "description": "Connection pool name"}, "pool_size": {"type": "integer", "minimum": 1, "maximum": 10000, "description": "Size of PGBouncer's PostgreSQL side connection pool"}, "username": {"type": "string", "maxLength": 64, "description": "Pool username"}}, "required": ["connection_uri", "database", "pool_mode", "pool_name", "pool_size"]}}, "create_time": {"type": "string", "maxLength": 36, "description": "Service creation timestamp (ISO 8601)"}, "databases": {"type": "array", "description": "List of service's user database names", "items": {"type": "string"}}, "disk_space_mb": {"type": "integer", "minimum": 0, "description": "Megabytes of disk space for data storage"}, "features": {"type": "object", "description": "Feature flags", "properties": {}}, "group_list": {"type": "array", "description": "List of service groups the service belongs to. This field is deprecated. It is always set to single element with value 'default'", "items": {"type": "string"}}, "kafka_acl": {"type": "array", "description": "List of Kafka-native ACL entries", "items": {"type": "object", "properties": {"host": {"type": "string", "minLength": 0, "maxLength": 256, "description": "the host or * for all hosts"}, "id": {"type": "string", "maxLength": 40, "description": "ID"}, "operation": {"type": "string", "description": "Kafka ACL operation represents an operation which an ACL grants or denies permission to perform", "enum": ["All", "Alter", "AlterConfigs", "ClusterAction", "Create", "CreateTokens", "Delete", "Describe", "DescribeConfigs", "DescribeTokens", "IdempotentWrite", "Read", "Write"]}, "pattern_type": {"type": "string", "description": "Kafka ACL pattern type of resource name", "enum": ["LITERAL", "PREFIXED"]}, "permission_type": {"type": "string", "description": "Kafka ACL permission type", "enum": ["ALLOW", "DENY"]}, "principal": {"type": "string", "minLength": 0, "maxLength": 256, "description": "principal is in 'principalType:name' format"}, "resource_name": {"type": "string", "minLength": 0, "maxLength": 256, "description": "Resource pattern used to match specified resources"}, "resource_type": {"type": "string", "description": "Kafka ACL resource type represents a type of resource which an ACL can be applied to", "enum": ["Cluster", "DelegationToken", "Group", "Topic", "TransactionalId", "User"]}}, "required": ["host", "id", "operation", "pattern_type", "permission_type", "principal", "resource_name", "resource_type"]}}, "maintenance": {"type": "object", "description": "Automatic maintenance settings", "properties": {"controlled_switchover": {"type": "object", "description": "Controlled switchover status", "properties": {"enabled": {"type": "boolean", "description": "Controlled switchover configured and enabled"}, "scheduled_start_time": {"type": "string", "description": "Scheduled start time of the switchover window, if enabled and active"}, "state": {"type": "string", "description": "Controlled switchover state", "enum": ["INACTIVE", "PENDING", "SCHEDULED", "RUNNING", "COMPLETED"]}}, "required": ["enabled", "scheduled_start_time", "state"]}, "dow": {"type": "string", "description": "Day of week for installing updates", "enum": ["monday", "tuesday", "wednesday", "thursday", "friday", "saturday", "sunday", "never"]}, "enabled": {"type": "boolean", "description": "Service maintenance enabled"}, "time": {"type": "string", "minLength": 8, "maxLength": 8, "description": "Time for installing updates, UTC"}, "updates": {"type": "array", "description": "List of updates waiting to be installed", "items": {"type": "object", "properties": {"deadline": {"type": "string", "description": "Deadline for installing the update"}, "description": {"type": "string", "description": "Description of the update"}, "documentation_link": {"type": "string", "description": "Optional link"}, "impact": {"type": "string", "description": "Impact statement of the update"}, "impact_portable_text": {"type": "string", "description": "Impact statement in portable text format"}, "start_after": {"type": "string", "description": "The earliest time the update will be automatically applied"}, "start_at": {"type": "string", "description": "The time when the update will be automatically applied"}}}}}, "required": ["dow", "enabled", "time", "updates"]}, "metadata": {"type": "object", "description": "Service type specific metadata", "properties": {}}, "node_count": {"type": "integer", "description": "Number of service nodes in the active plan"}, "node_cpu_count": {"type": "integer", "description": "Number of CPUs for each node"}, "node_memory_mb": {"type": "number", "description": "Megabytes of memory for each node"}, "node_states": {"type": "array", "description": "State of individual service nodes", "items": {"type": "object", "properties": {"availability_zone": {"type": "string", "description": "The availability zone in which the node is place. If there is no availability zone available this field will be missing."}, "name": {"type": "string", "description": "Name of the service node"}, "progress_updates": {"type": "array", "description": "Extra information regarding the progress for current state", "items": {"type": "object", "properties": {"completed": {"type": "boolean", "description": "Indicates whether this phase has been completed or not"}, "current": {"type": "integer", "description": "Current progress for this phase. May be missing or null."}, "max": {"type": "integer", "description": "Maximum progress value for this phase. May be missing or null. May change."}, "min": {"type": "integer", "description": "Minimum progress value for this phase. May be missing or null."}, "phase": {"type": "string", "description": "Key identifying this phase", "enum": ["prepare", "basebackup", "stream", "finalize"]}, "unit": {"type": "string", "description": "Unit for current/min/max values. New units may be added. If null should be treated as generic unit", "enum": ["binlogs", "bytes_compressed", "bytes_uncompressed", "wal_lsn"]}}, "required": ["completed", "phase"]}}, "role": {"type": "string", "description": "Role of this node. Only returned for a subset of service types", "enum": ["master", "standby", "read-replica"]}, "roles": {"type": "string", "description": "A role string indicating the node's roles in the OpenSearch cluster. Only populated for OpenSearch services using cluster plans. Format: first character is '*' (elected cluster manager) or '-' (not elected), followed by role letters: 'd' (data), 'i' (ingest), 'm' (cluster_manager eligible), 'c' (coordinating), 'L' (ML), 'D' (Dashboards). Example: '*mc' means elected cluster manager with cluster_manager and coordinating roles.", "title": "Roles of this node. Only returned for OpenSearch services with cluster plans"}, "shard": {"type": "object", "description": "Shard of this node. Only returned for a subset of service types", "properties": {"name": {"type": "string", "description": "Name of the shard."}, "position": {"type": "integer", "description": "Position of this shard within the service"}}}, "state": {"type": "string", "description": "Current state of the service node", "enum": ["leaving", "running", "setting_up_vm", "syncing_data", "timing_out", "unknown"]}}, "required": ["availability_zone", "name", "state"]}}, "plan": {"type": "string", "maxLength": 128, "description": "Subscription plan"}, "project_vpc_id": {"type": "string", "minLength": 36, "maxLength": 36, "description": "Project VPC ID"}, "schema_registry_acl": {"type": "array", "description": "List of Schema Registry ACL entries", "items": {"type": "object", "properties": {"id": {"type": "string", "maxLength": 40, "description": "ID"}, "permission": {"type": "string", "description": "ACL entry for Schema Registry", "enum": ["schema_registry_read", "schema_registry_write"]}, "resource": {"type": "string", "minLength": 1, "maxLength": 249, "description": "Schema Registry ACL entry resource name pattern"}, "username": {"type": "string", "minLength": 1, "maxLength": 64, "description": "Username"}}, "required": ["permission", "resource", "username"]}}, "server_group": {"type": "object", "description": "Service IaaS server group", "properties": {"enabled": {"type": "boolean", "description": "Flag set if server group is in use for the service"}, "type": {"type": "string", "description": "IaaS server group type"}}}, "service_integrations": {"type": "array", "description": "Integrations with other services", "items": {"type": "object", "properties": {"active": {"type": "boolean", "description": "True when integration is active"}, "description": {"type": "string", "description": "Description of the integration"}, "dest_endpoint": {"type": "string", "description": "Destination endpoint name"}, "dest_endpoint_id": {"type": "string", "description": "Destination endpoint id"}, "dest_project": {"type": "string", "maxLength": 63, "description": "Project name"}, "dest_service": {"type": "string", "description": "Destination service name"}, "dest_service_type": {"type": "string", "maxLength": 64, "description": "Service type code"}, "enabled": {"type": "boolean", "description": "True when integration is enabled"}, "integration_status": {"type": "object", "description": "Integration status", "properties": {"state": {"type": "object", "description": "Service integration state", "properties": {"errors": {"type": "array", "description": "Errors", "items": {"type": "string"}}, "likely_error_cause": {"type": "string", "description": "Most likely cause of the errors", "enum": ["null", "destination", "integration", "source", "unknown"]}, "nodes": {"type": "object", "description": "Nodes", "properties": {}}, "status": {"type": "string", "description": "Service integration status", "enum": ["failed", "inactive", "running", "starting", "unknown"]}}, "required": ["errors", "nodes", "status"]}, "status_user_desc": {"type": "string", "description": "Integration status description"}}, "required": ["state", "status_user_desc"]}, "integration_type": {"type": "string", "description": "Type of the integration"}, "service_integration_id": {"type": "string", "description": "Integration ID"}, "source_endpoint": {"type": "string", "description": "Source endpoint name"}, "source_endpoint_id": {"type": "string", "description": "Source endpoint ID"}, "source_project": {"type": "string", "maxLength": 63, "description": "Project name"}, "source_service": {"type": "string", "description": "Source service name"}, "source_service_type": {"type": "string", "maxLength": 64, "description": "Service type code"}, "user_config": {"type": "object", "description": "Service integration settings", "properties": {}}}, "required": ["active", "description", "dest_project", "dest_service_type", "enabled", "integration_type", "service_integration_id", "source_project", "source_service", "source_service_type"]}}, "service_name": {"type": "string", "minLength": 1, "maxLength": 64, "description": "Service name"}, "service_notifications": {"type": "array", "description": "Service notifications", "items": {"type": "object", "properties": {"level": {"type": "string", "description": "Notification level", "enum": ["notice", "warning"]}, "message": {"type": "string", "maxLength": 1024, "description": "Human notification message"}, "metadata": {"type": "object", "description": "Notification metadata", "properties": {"end_of_life_help_article_url": {"type": "string", "description": "Link to the help article"}, "end_of_life_policy_url": {"type": "string", "description": "Link to the help article"}, "service_end_of_life_time": {"type": "string", "maxLength": 36, "description": "Timestamp in ISO 8601 format, always in UTC"}, "upgrade_to_service_type": {"type": "string", "maxLength": 64, "description": "If the customer takes no action, the service is updated to this service type when end of life is reached on the Aiven platform. If it is the same as the service type, the platform only upgrades the version."}, "upgrade_to_version": {"type": "string", "maxLength": 32, "description": "The version to which the service will be updated at the end of life on the Aiven platform if the user does not take any action"}}}, "type": {"type": "string", "description": "Notification type", "enum": ["service_end_of_life", "service_powered_off_removal"]}}, "required": ["level", "message", "metadata", "type"]}}, "service_type": {"type": "string", "maxLength": 64, "description": "Service type code"}, "service_type_description": {"type": "string", "description": "Single line description of the service"}, "service_uri": {"type": "string", "description": "URI for connecting to the service (may be null)"}, "service_uri_params": {"type": "object", "description": "service_uri parameterized into key-value pairs", "properties": {}}, "state": {"type": "string", "description": "State of the service", "enum": ["POWEROFF", "REBALANCING", "REBUILDING", "RUNNING"]}, "tags": {"type": "object", "description": "Set of resource tags", "properties": {}}, "tech_emails": {"type": "array", "maxItems": 10, "description": "List of service technical email addresses", "items": {"type": "object", "properties": {"email": {"type": "string", "maxLength": 254, "description": "User email address"}}, "required": ["email"]}}, "termination_protection": {"type": "boolean", "description": "Service is protected against termination and powering off"}, "topics": {"type": "array", "description": "Kafka topics. DEPRECATED: Use /project/$project/service/$service/topic instead", "items": {"type": "object", "properties": {"cleanup_policy": {"type": "string", "maxLength": 64, "description": "The retention policy to use on old segments. Possible values include 'delete', 'compact', or a comma-separated list of them. The default policy ('delete') will discard old segments when their retention time or size limit has been reached. The 'compact' setting will enable log compaction on the topic.", "title": "cleanup.policy"}, "min_insync_replicas": {"type": "integer", "minimum": 1, "description": "When a producer sets acks to 'all' (or '-1'), this configuration specifies the minimum number of replicas that must acknowledge a write for the write to be considered successful. If this minimum cannot be met, then the producer will raise an exception (either NotEnoughReplicas or NotEnoughReplicasAfterAppend). When used together, min.insync.replicas and acks allow you to enforce greater durability guarantees. A typical scenario would be to create a topic with a replication factor of 3, set min.insync.replicas to 2, and produce with acks of 'all'. This will ensure that the producer raises an exception if a majority of replicas do not receive a write.", "title": "min.insync.replicas"}, "partitions": {"type": "integer", "minimum": 1, "maximum": 1000000, "description": "Number of partitions"}, "replication": {"type": "integer", "minimum": 1, "description": "Number of replicas"}, "retention_bytes": {"type": "integer", "description": "This configuration controls the maximum size a partition (which consists of log segments) can grow to before we will discard old log segments to free up space if we are using the 'delete' retention policy. By default there is no size limit only a time limit. Since this limit is enforced at the partition level, multiply it by the number of partitions to compute the topic retention in bytes.", "title": "retention.bytes"}, "retention_hours": {"type": "integer", "maximum": 2562047788015, "description": "Retention period (hours)"}, "state": {"type": "string", "description": "Topic state", "enum": ["ACTIVE", "CONFIGURING", "DELETING"]}, "topic_name": {"type": "string", "minLength": 1, "maxLength": 249, "description": "Topic name"}}, "required": ["cleanup_policy", "min_insync_replicas", "partitions", "replication", "retention_bytes", "retention_hours", "topic_name"]}}, "update_time": {"type": "string", "maxLength": 36, "description": "Service last update timestamp (ISO 8601)"}, "user_config": {"type": "object", "description": "Service type-specific settings", "properties": {}}, "users": {"type": "array", "description": "List of service users", "items": {"type": "object", "properties": {"access_cert": {"type": "string", "description": "Access certificate for TLS client authentication"}, "access_cert_not_valid_after_time": {"type": "string", "description": "Validity end time (ISO8601) for the current access certificate"}, "access_control": {"type": "object", "description": "Service type specific access control rules for user. Currently only used for configuring user ACLs for Redis version 6 and above.", "title": "Service specific access controls for user", "properties": {"dragonfly_acl_categories": {"type": "array", "maxItems": 256, "description": "Command category rules", "items": {"type": "string"}}, "dragonfly_acl_commands": {"type": "array", "maxItems": 256, "description": "Rules for individual commands", "items": {"type": "string"}}, "dragonfly_acl_keys": {"type": "array", "maxItems": 256, "description": "Key access rules", "items": {"type": "string"}}, "pg_allow_replication": {"type": "boolean", "description": "Enable REPLICATION role option"}, "redis_acl_categories": {"type": "array", "maxItems": 256, "description": "Command category rules", "items": {"type": "string"}}, "redis_acl_channels": {"type": "array", "maxItems": 256, "description": "Glob-style patterns defining which pub/sub channels can be accessed. If array is not defined, the default policy is used (allchannels).", "title": "Permitted pub/sub channel patterns", "items": {"type": "string"}}, "redis_acl_commands": {"type": "array", "maxItems": 256, "description": "Rules for individual commands", "items": {"type": "string"}}, "redis_acl_keys": {"type": "array", "maxItems": 256, "description": "Key access rules", "items": {"type": "string"}}, "valkey_acl_categories": {"type": "array", "maxItems": 256, "description": "Command category rules", "items": {"type": "string"}}, "valkey_acl_channels": {"type": "array", "maxItems": 256, "description": "Glob-style patterns defining which pub/sub channels can be accessed. If array is not defined, the default policy is used (allchannels).", "title": "Permitted pub/sub channel patterns", "items": {"type": "string"}}, "valkey_acl_commands": {"type": "array", "maxItems": 256, "description": "Rules for individual commands", "items": {"type": "string"}}, "valkey_acl_keys": {"type": "array", "maxItems": 256, "description": "Key access rules", "items": {"type": "string"}}}}, "access_key": {"type": "string", "description": "Access key for TLS client authentication"}, "authentication": {"type": "string", "description": "Service specific authentication details. Currently only used for MySQL where accepted options are 'mysql_native_password' and 'caching_sha2_password', latter being default when this is not explicitly set.", "title": "Authentication details", "enum": ["null", "caching_sha2_password", "mysql_native_password"]}, "expiring_cert_not_valid_after_time": {"type": "string", "description": "When the existing certificate is nearing expiration and a new certificate has been generated, the validity end time (ISO8601) for the expiring certificate", "title": "Validity end time (ISO8601) for the expiring access certificate"}, "password": {"type": "string", "description": "Account password. A null value indicates a user overridden password."}, "password_updated_time": {"type": "string", "description": "Timestamp (ISO8601) of the last time this password was set."}, "type": {"type": "string", "description": "Account type"}, "username": {"type": "string", "description": "Account username"}}, "required": ["password", "type", "username"]}}}, "required": ["cloud_name", "create_time", "group_list", "plan", "project_vpc_id", "service_integrations", "service_name", "service_type", "service_uri", "state", "termination_protection", "update_time", "user_config"]}}, "required": ["service"]}, "ServiceUserDeleteResponse": {"type": "object", "description": "ServiceUserDeleteResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}}, "ServiceUserGetResponse": {"type": "object", "description": "ServiceUserGetResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "user": {"type": "object", "description": "Service user account", "properties": {"access_cert": {"type": "string", "description": "Access certificate for TLS client authentication"}, "access_cert_not_valid_after_time": {"type": "string", "description": "Validity end time (ISO8601) for the current access certificate"}, "access_control": {"type": "object", "description": "Service type specific access control rules for user. Currently only used for configuring user ACLs for Redis version 6 and above.", "title": "Service specific access controls for user", "properties": {"dragonfly_acl_categories": {"type": "array", "maxItems": 256, "description": "Command category rules", "items": {"type": "string"}}, "dragonfly_acl_commands": {"type": "array", "maxItems": 256, "description": "Rules for individual commands", "items": {"type": "string"}}, "dragonfly_acl_keys": {"type": "array", "maxItems": 256, "description": "Key access rules", "items": {"type": "string"}}, "pg_allow_replication": {"type": "boolean", "description": "Enable REPLICATION role option"}, "redis_acl_categories": {"type": "array", "maxItems": 256, "description": "Command category rules", "items": {"type": "string"}}, "redis_acl_channels": {"type": "array", "maxItems": 256, "description": "Glob-style patterns defining which pub/sub channels can be accessed. If array is not defined, the default policy is used (allchannels).", "title": "Permitted pub/sub channel patterns", "items": {"type": "string"}}, "redis_acl_commands": {"type": "array", "maxItems": 256, "description": "Rules for individual commands", "items": {"type": "string"}}, "redis_acl_keys": {"type": "array", "maxItems": 256, "description": "Key access rules", "items": {"type": "string"}}, "valkey_acl_categories": {"type": "array", "maxItems": 256, "description": "Command category rules", "items": {"type": "string"}}, "valkey_acl_channels": {"type": "array", "maxItems": 256, "description": "Glob-style patterns defining which pub/sub channels can be accessed. If array is not defined, the default policy is used (allchannels).", "title": "Permitted pub/sub channel patterns", "items": {"type": "string"}}, "valkey_acl_commands": {"type": "array", "maxItems": 256, "description": "Rules for individual commands", "items": {"type": "string"}}, "valkey_acl_keys": {"type": "array", "maxItems": 256, "description": "Key access rules", "items": {"type": "string"}}}}, "access_key": {"type": "string", "description": "Access key for TLS client authentication"}, "authentication": {"type": "string", "description": "Service specific authentication details. Currently only used for MySQL where accepted options are 'mysql_native_password' and 'caching_sha2_password', latter being default when this is not explicitly set.", "title": "Authentication details", "enum": ["null", "caching_sha2_password", "mysql_native_password"]}, "expiring_cert_not_valid_after_time": {"type": "string", "description": "When the existing certificate is nearing expiration and a new certificate has been generated, the validity end time (ISO8601) for the expiring certificate", "title": "Validity end time (ISO8601) for the expiring access certificate"}, "password": {"type": "string", "description": "Account password. A null value indicates a user overridden password."}, "password_updated_time": {"type": "string", "description": "Timestamp (ISO8601) of the last time this password was set."}, "type": {"type": "string", "description": "Account type"}, "username": {"type": "string", "description": "Account username"}}, "required": ["password", "type", "username"]}}, "required": ["user"]}, "ServiceIntegrationCreateRequestBody": {"type": "object", "description": "ServiceIntegrationCreateRequestBody", "properties": {"dest_endpoint_id": {"type": "string", "maxLength": 36, "description": "Integration destination endpoint ID"}, "dest_project": {"type": "string", "maxLength": 63, "description": "Defaults to project in the request path", "title": "Destination project name"}, "dest_service": {"type": "string", "maxLength": 64, "description": "Destination service name"}, "integration_type": {"type": "string", "description": "Service integration type", "enum": ["alertmanager", "application_service_credential", "autoscaler", "autoscaler_service", "caching", "cassandra_cross_service_cluster", "clickhouse_credentials", "clickhouse_kafka", "clickhouse_postgresql", "dashboard", "datadog", "datasource", "disaster_recovery", "external_aws_cloudwatch_logs", "external_aws_cloudwatch_metrics", "external_elasticsearch_logs", "external_google_cloud_logging", "external_opensearch_logs", "flink", "flink_external_bigquery", "flink_external_kafka", "flink_external_postgresql", "internal_connectivity", "jolokia", "kafka_connect", "kafka_connect_postgresql", "kafka_inkless_postgresql", "kafka_logs", "kafka_mirrormaker", "logs", "m3aggregator", "m3coordinator", "metrics", "opensearch_cross_cluster_replication", "opensearch_cross_cluster_search", "prometheus", "read_replica", "rsyslog", "schema_registry_proxy", "stresstester", "thanos_distributed_query", "thanos_migrate", "thanoscompactor", "thanosquery", "thanosruler", "thanosstore", "vector", "vmalert"]}, "source_endpoint_id": {"type": "string", "maxLength": 36, "description": "Integration source endpoint ID"}, "source_project": {"type": "string", "maxLength": 63, "description": "Defaults to project in the request path", "title": "Source project name"}, "source_service": {"type": "string", "maxLength": 64, "description": "Source service name"}, "user_config": {"type": "object", "description": "Service type-specific settings", "properties": {}}}, "required": ["integration_type"]}, "ServiceIntegrationCreateResponse": {"type": "object", "description": "ServiceIntegrationCreateResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "service_integration": {"type": "object", "description": "Service integration", "properties": {"active": {"type": "boolean", "description": "True when integration is active"}, "description": {"type": "string", "description": "Description of the integration"}, "dest_endpoint": {"type": "string", "description": "Destination endpoint name"}, "dest_endpoint_id": {"type": "string", "description": "Destination endpoint id"}, "dest_project": {"type": "string", "maxLength": 63, "description": "Project name"}, "dest_service": {"type": "string", "description": "Destination service name"}, "dest_service_type": {"type": "string", "maxLength": 64, "description": "Service type code"}, "enabled": {"type": "boolean", "description": "True when integration is enabled"}, "integration_status": {"type": "object", "description": "Integration status", "properties": {"state": {"type": "object", "description": "Service integration state", "properties": {"errors": {"type": "array", "description": "Errors", "items": {"type": "string"}}, "likely_error_cause": {"type": "string", "description": "Most likely cause of the errors", "enum": ["null", "destination", "integration", "source", "unknown"]}, "nodes": {"type": "object", "description": "Nodes", "properties": {}}, "status": {"type": "string", "description": "Service integration status", "enum": ["failed", "inactive", "running", "starting", "unknown"]}}, "required": ["errors", "nodes", "status"]}, "status_user_desc": {"type": "string", "description": "Integration status description"}}, "required": ["state", "status_user_desc"]}, "integration_type": {"type": "string", "description": "Type of the integration"}, "service_integration_id": {"type": "string", "description": "Integration ID"}, "source_endpoint": {"type": "string", "description": "Source endpoint name"}, "source_endpoint_id": {"type": "string", "description": "Source endpoint ID"}, "source_project": {"type": "string", "maxLength": 63, "description": "Project name"}, "source_service": {"type": "string", "description": "Source service name"}, "source_service_type": {"type": "string", "maxLength": 64, "description": "Service type code"}, "user_config": {"type": "object", "description": "Service integration settings", "properties": {}}}, "required": ["active", "description", "dest_project", "dest_service_type", "enabled", "integration_type", "service_integration_id", "source_project", "source_service", "source_service_type"]}}, "required": ["service_integration"]}, "ServiceIntegrationDeleteResponse": {"type": "object", "description": "ServiceIntegrationDeleteResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}}, "ServiceIntegrationEndpointCreateRequestBody": {"type": "object", "description": "ServiceIntegrationEndpointCreateRequestBody", "properties": {"endpoint_name": {"type": "string", "minLength": 1, "maxLength": 40, "description": "Integration endpoint name"}, "endpoint_type": {"type": "string", "description": "Service integration endpoint type", "enum": ["autoscaler", "autoscaler_service", "datadog", "external_aws_cloudwatch_logs", "external_aws_cloudwatch_metrics", "external_aws_s3", "external_azure_blob_storage", "external_clickhouse", "external_elasticsearch_logs", "external_google_cloud_bigquery", "external_google_cloud_logging", "external_kafka", "external_mysql", "external_opensearch_logs", "external_postgresql", "external_prometheus", "external_redis", "external_schema_registry", "external_sumologic_logs", "jolokia", "prometheus", "rsyslog"]}, "user_config": {"type": "object", "description": "Service integration endpoint settings", "properties": {}}}, "required": ["endpoint_name", "endpoint_type", "user_config"]}, "ServiceIntegrationEndpointCreateResponse": {"type": "object", "description": "ServiceIntegrationEndpointCreateResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "service_integration_endpoint": {"type": "object", "description": "Service integration endpoint", "properties": {"endpoint_config": {"type": "object", "description": "Service integration endpoint backend settings", "properties": {}}, "endpoint_id": {"type": "string", "description": "Integration endpoint ID"}, "endpoint_name": {"type": "string", "minLength": 1, "maxLength": 40, "description": "Integration endpoint name"}, "endpoint_type": {"type": "string", "description": "Integration endpoint type", "enum": ["autoscaler", "autoscaler_service", "datadog", "external_aws_cloudwatch_logs", "external_aws_cloudwatch_metrics", "external_aws_s3", "external_azure_blob_storage", "external_clickhouse", "external_elasticsearch_logs", "external_google_cloud_bigquery", "external_google_cloud_logging", "external_kafka", "external_mysql", "external_opensearch_logs", "external_postgresql", "external_prometheus", "external_redis", "external_schema_registry", "external_sumologic_logs", "jolokia", "prometheus", "rsyslog"]}, "user_config": {"type": "object", "description": "Service integration endpoint settings", "properties": {}}}, "required": ["endpoint_config", "endpoint_id", "endpoint_name", "endpoint_type", "user_config"]}}, "required": ["service_integration_endpoint"]}, "ServiceIntegrationEndpointDeleteResponse": {"type": "object", "description": "ServiceIntegrationEndpointDeleteResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}}, "ServiceIntegrationEndpointGetResponse": {"type": "object", "description": "ServiceIntegrationEndpointGetResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "service_integration_endpoint": {"type": "object", "description": "Service integration endpoint", "properties": {"endpoint_config": {"type": "object", "description": "Service integration endpoint backend settings", "properties": {}}, "endpoint_id": {"type": "string", "description": "Integration endpoint ID"}, "endpoint_name": {"type": "string", "minLength": 1, "maxLength": 40, "description": "Integration endpoint name"}, "endpoint_type": {"type": "string", "description": "Integration endpoint type", "enum": ["autoscaler", "autoscaler_service", "datadog", "external_aws_cloudwatch_logs", "external_aws_cloudwatch_metrics", "external_aws_s3", "external_azure_blob_storage", "external_clickhouse", "external_elasticsearch_logs", "external_google_cloud_bigquery", "external_google_cloud_logging", "external_kafka", "external_mysql", "external_opensearch_logs", "external_postgresql", "external_prometheus", "external_redis", "external_schema_registry", "external_sumologic_logs", "jolokia", "prometheus", "rsyslog"]}, "user_config": {"type": "object", "description": "Service integration endpoint settings", "properties": {}}}, "required": ["endpoint_config", "endpoint_id", "endpoint_name", "endpoint_type", "user_config"]}}, "required": ["service_integration_endpoint"]}, "ServiceIntegrationEndpointListResponse": {"type": "object", "description": "ServiceIntegrationEndpointListResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "service_integration_endpoints": {"type": "array", "description": "List of service integrations", "items": {"type": "object", "properties": {"endpoint_config": {"type": "object", "description": "Service integration endpoint backend settings", "properties": {}}, "endpoint_id": {"type": "string", "description": "Integration endpoint ID"}, "endpoint_name": {"type": "string", "minLength": 1, "maxLength": 40, "description": "Integration endpoint name"}, "endpoint_type": {"type": "string", "description": "Integration endpoint type", "enum": ["autoscaler", "autoscaler_service", "datadog", "external_aws_cloudwatch_logs", "external_aws_cloudwatch_metrics", "external_aws_s3", "external_azure_blob_storage", "external_clickhouse", "external_elasticsearch_logs", "external_google_cloud_bigquery", "external_google_cloud_logging", "external_kafka", "external_mysql", "external_opensearch_logs", "external_postgresql", "external_prometheus", "external_redis", "external_schema_registry", "external_sumologic_logs", "jolokia", "prometheus", "rsyslog"]}, "user_config": {"type": "object", "description": "Service integration endpoint settings", "properties": {}}}, "required": ["endpoint_config", "endpoint_id", "endpoint_name", "endpoint_type", "user_config"]}}}, "required": ["service_integration_endpoints"]}, "ServiceIntegrationEndpointTypesResponse": {"type": "object", "description": "ServiceIntegrationEndpointTypesResponse", "properties": {"endpoint_types": {"type": "array", "description": "List of service integration endpoint types", "items": {"type": "object", "properties": {"endpoint_type": {"type": "string", "description": "Endpoint type name"}, "service_types": {"type": "array", "description": "Supported service types", "items": {"type": "string"}}, "title": {"type": "string", "description": "Endpoint type description"}, "user_config_schema": {"type": "object", "description": "JSON-Schema for the 'user_config' properties", "properties": {}}}, "required": ["endpoint_type", "service_types", "title", "user_config_schema"]}}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}, "required": ["endpoint_types"]}, "ServiceIntegrationEndpointUpdateRequestBody": {"type": "object", "description": "ServiceIntegrationEndpointUpdateRequestBody", "properties": {"user_config": {"type": "object", "description": "Service integration endpoint settings", "properties": {}}}, "required": ["user_config"]}, "ServiceIntegrationEndpointUpdateResponse": {"type": "object", "description": "ServiceIntegrationEndpointUpdateResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "service_integration_endpoint": {"type": "object", "description": "Service integration endpoint", "properties": {"endpoint_config": {"type": "object", "description": "Service integration endpoint backend settings", "properties": {}}, "endpoint_id": {"type": "string", "description": "Integration endpoint ID"}, "endpoint_name": {"type": "string", "minLength": 1, "maxLength": 40, "description": "Integration endpoint name"}, "endpoint_type": {"type": "string", "description": "Integration endpoint type", "enum": ["autoscaler", "autoscaler_service", "datadog", "external_aws_cloudwatch_logs", "external_aws_cloudwatch_metrics", "external_aws_s3", "external_azure_blob_storage", "external_clickhouse", "external_elasticsearch_logs", "external_google_cloud_bigquery", "external_google_cloud_logging", "external_kafka", "external_mysql", "external_opensearch_logs", "external_postgresql", "external_prometheus", "external_redis", "external_schema_registry", "external_sumologic_logs", "jolokia", "prometheus", "rsyslog"]}, "user_config": {"type": "object", "description": "Service integration endpoint settings", "properties": {}}}, "required": ["endpoint_config", "endpoint_id", "endpoint_name", "endpoint_type", "user_config"]}}, "required": ["service_integration_endpoint"]}, "ServiceIntegrationGetResponse": {"type": "object", "description": "ServiceIntegrationGetResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "service_integration": {"type": "object", "description": "Service integration", "properties": {"active": {"type": "boolean", "description": "True when integration is active"}, "description": {"type": "string", "description": "Description of the integration"}, "dest_endpoint": {"type": "string", "description": "Destination endpoint name"}, "dest_endpoint_id": {"type": "string", "description": "Destination endpoint id"}, "dest_project": {"type": "string", "maxLength": 63, "description": "Project name"}, "dest_service": {"type": "string", "description": "Destination service name"}, "dest_service_type": {"type": "string", "maxLength": 64, "description": "Service type code"}, "enabled": {"type": "boolean", "description": "True when integration is enabled"}, "integration_status": {"type": "object", "description": "Integration status", "properties": {"state": {"type": "object", "description": "Service integration state", "properties": {"errors": {"type": "array", "description": "Errors", "items": {"type": "string"}}, "likely_error_cause": {"type": "string", "description": "Most likely cause of the errors", "enum": ["null", "destination", "integration", "source", "unknown"]}, "nodes": {"type": "object", "description": "Nodes", "properties": {}}, "status": {"type": "string", "description": "Service integration status", "enum": ["failed", "inactive", "running", "starting", "unknown"]}}, "required": ["errors", "nodes", "status"]}, "status_user_desc": {"type": "string", "description": "Integration status description"}}, "required": ["state", "status_user_desc"]}, "integration_type": {"type": "string", "description": "Type of the integration"}, "service_integration_id": {"type": "string", "description": "Integration ID"}, "source_endpoint": {"type": "string", "description": "Source endpoint name"}, "source_endpoint_id": {"type": "string", "description": "Source endpoint ID"}, "source_project": {"type": "string", "maxLength": 63, "description": "Project name"}, "source_service": {"type": "string", "description": "Source service name"}, "source_service_type": {"type": "string", "maxLength": 64, "description": "Service type code"}, "user_config": {"type": "object", "description": "Service integration settings", "properties": {}}}, "required": ["active", "description", "dest_project", "dest_service_type", "enabled", "integration_type", "service_integration_id", "source_project", "source_service", "source_service_type"]}}, "required": ["service_integration"]}, "ServiceIntegrationListResponse": {"type": "object", "description": "ServiceIntegrationListResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "service_integrations": {"type": "array", "description": "List of service integrations in current project for a service", "items": {"type": "object", "properties": {"active": {"type": "boolean", "description": "True when integration is active"}, "description": {"type": "string", "description": "Description of the integration"}, "dest_endpoint": {"type": "string", "description": "Destination endpoint name"}, "dest_endpoint_id": {"type": "string", "description": "Destination endpoint id"}, "dest_project": {"type": "string", "maxLength": 63, "description": "Project name"}, "dest_service": {"type": "string", "description": "Destination service name"}, "dest_service_type": {"type": "string", "maxLength": 64, "description": "Service type code"}, "enabled": {"type": "boolean", "description": "True when integration is enabled"}, "integration_status": {"type": "object", "description": "Integration status", "properties": {"state": {"type": "object", "description": "Service integration state", "properties": {"errors": {"type": "array", "description": "Errors", "items": {"type": "string"}}, "likely_error_cause": {"type": "string", "description": "Most likely cause of the errors", "enum": ["null", "destination", "integration", "source", "unknown"]}, "nodes": {"type": "object", "description": "Nodes", "properties": {}}, "status": {"type": "string", "description": "Service integration status", "enum": ["failed", "inactive", "running", "starting", "unknown"]}}, "required": ["errors", "nodes", "status"]}, "status_user_desc": {"type": "string", "description": "Integration status description"}}, "required": ["state", "status_user_desc"]}, "integration_type": {"type": "string", "description": "Type of the integration"}, "service_integration_id": {"type": "string", "description": "Integration ID"}, "source_endpoint": {"type": "string", "description": "Source endpoint name"}, "source_endpoint_id": {"type": "string", "description": "Source endpoint ID"}, "source_project": {"type": "string", "maxLength": 63, "description": "Project name"}, "source_service": {"type": "string", "description": "Source service name"}, "source_service_type": {"type": "string", "maxLength": 64, "description": "Service type code"}, "user_config": {"type": "object", "description": "Service integration settings", "properties": {}}}, "required": ["active", "description", "dest_project", "dest_service_type", "enabled", "integration_type", "service_integration_id", "source_project", "source_service", "source_service_type"]}}}, "required": ["service_integrations"]}, "ServiceIntegrationTypesResponse": {"type": "object", "description": "ServiceIntegrationTypesResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "integration_types": {"type": "array", "description": "List of service integration types", "items": {"type": "object", "properties": {"dest_description": {"type": "string", "description": "Description of the destination service"}, "dest_service_type": {"type": "string", "description": "Service type. DEPRECATED: Use dest_service_types instead"}, "dest_service_types": {"type": "array", "description": "Supported destination service types", "items": {"type": "string"}}, "integration_type": {"type": "string", "description": "Integration type name"}, "source_description": {"type": "string", "description": "Description of the source service"}, "source_service_types": {"type": "array", "description": "Supported source service types", "items": {"type": "string"}}, "user_config_schema": {"type": "object", "description": "JSON-Schema for the 'user_config' properties", "properties": {}}}, "required": ["dest_description", "dest_service_type", "dest_service_types", "integration_type", "source_description", "source_service_types", "user_config_schema"]}}, "message": {"type": "string", "description": "Printable result of the request"}}, "required": ["integration_types"]}, "ServiceIntegrationUpdateRequestBody": {"type": "object", "description": "ServiceIntegrationUpdateRequestBody", "properties": {"user_config": {"type": "object", "description": "Service integration settings", "properties": {}}}, "required": ["user_config"]}, "ServiceIntegrationUpdateResponse": {"type": "object", "description": "ServiceIntegrationUpdateResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "service_integration": {"type": "object", "description": "Service integration", "properties": {"active": {"type": "boolean", "description": "True when integration is active"}, "description": {"type": "string", "description": "Description of the integration"}, "dest_endpoint": {"type": "string", "description": "Destination endpoint name"}, "dest_endpoint_id": {"type": "string", "description": "Destination endpoint id"}, "dest_project": {"type": "string", "maxLength": 63, "description": "Project name"}, "dest_service": {"type": "string", "description": "Destination service name"}, "dest_service_type": {"type": "string", "maxLength": 64, "description": "Service type code"}, "enabled": {"type": "boolean", "description": "True when integration is enabled"}, "integration_status": {"type": "object", "description": "Integration status", "properties": {"state": {"type": "object", "description": "Service integration state", "properties": {"errors": {"type": "array", "description": "Errors", "items": {"type": "string"}}, "likely_error_cause": {"type": "string", "description": "Most likely cause of the errors", "enum": ["null", "destination", "integration", "source", "unknown"]}, "nodes": {"type": "object", "description": "Nodes", "properties": {}}, "status": {"type": "string", "description": "Service integration status", "enum": ["failed", "inactive", "running", "starting", "unknown"]}}, "required": ["errors", "nodes", "status"]}, "status_user_desc": {"type": "string", "description": "Integration status description"}}, "required": ["state", "status_user_desc"]}, "integration_type": {"type": "string", "description": "Type of the integration"}, "service_integration_id": {"type": "string", "description": "Integration ID"}, "source_endpoint": {"type": "string", "description": "Source endpoint name"}, "source_endpoint_id": {"type": "string", "description": "Source endpoint ID"}, "source_project": {"type": "string", "maxLength": 63, "description": "Project name"}, "source_service": {"type": "string", "description": "Source service name"}, "source_service_type": {"type": "string", "maxLength": 64, "description": "Service type code"}, "user_config": {"type": "object", "description": "Service integration settings", "properties": {}}}, "required": ["active", "description", "dest_project", "dest_service_type", "enabled", "integration_type", "service_integration_id", "source_project", "source_service", "source_service_type"]}}, "required": ["service_integration"]}, "ProjectStaticIPAssociateRequestBody": {"type": "object", "description": "ProjectStaticIPAssociateRequestBody", "properties": {"service_name": {"type": "string", "minLength": 1, "maxLength": 64, "description": "Service name"}}, "required": ["service_name"]}, "ProjectStaticIPAssociateResponse": {"type": "object", "description": "ProjectStaticIPAssociateResponse", "properties": {"cloud_name": {"type": "string", "maxLength": 256, "description": "Target cloud"}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "ip_address": {"type": "string", "description": "IPv4 address"}, "message": {"type": "string", "description": "Printable result of the request"}, "service_name": {"type": "string", "minLength": 1, "maxLength": 64, "description": "Service name"}, "state": {"type": "string", "description": "Static IP address state", "enum": ["creating", "created", "available", "assigned", "deleting", "deleted"]}, "static_ip_address_id": {"type": "string", "description": "Static IP address identifier"}, "termination_protection": {"type": "boolean", "description": "Static IP address is protected against deletion"}}, "required": ["cloud_name", "ip_address", "service_name", "state", "static_ip_address_id", "termination_protection"]}, "ProjectStaticIPAvailabilityListResponse": {"type": "object", "description": "ProjectStaticIPAvailabilityListResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "static_ip_address_availability": {"type": "array", "description": "Paginated array", "items": {"type": "object", "properties": {"cloud_name": {"type": "string", "maxLength": 256, "description": "Target cloud"}, "price_usd": {"type": "string", "description": "Hourly static IP address price in this cloud region"}}, "required": ["cloud_name", "price_usd"]}}}, "required": ["static_ip_address_availability"]}, "ProjectStaticIPDissociateResponse": {"type": "object", "description": "ProjectStaticIPDissociateResponse", "properties": {"cloud_name": {"type": "string", "maxLength": 256, "description": "Target cloud"}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "ip_address": {"type": "string", "description": "IPv4 address"}, "message": {"type": "string", "description": "Printable result of the request"}, "service_name": {"type": "string", "minLength": 1, "maxLength": 64, "description": "Service name"}, "state": {"type": "string", "description": "Static IP address state", "enum": ["creating", "created", "available", "assigned", "deleting", "deleted"]}, "static_ip_address_id": {"type": "string", "description": "Static IP address identifier"}, "termination_protection": {"type": "boolean", "description": "Static IP address is protected against deletion"}}, "required": ["cloud_name", "ip_address", "service_name", "state", "static_ip_address_id", "termination_protection"]}, "ProjectStaticIPPatchRequestBody": {"type": "object", "description": "ProjectStaticIPPatchRequestBody", "properties": {"termination_protection": {"type": "boolean", "description": "Static IP address is protected against deletion"}}}, "ProjectStaticIPPatchResponse": {"type": "object", "description": "ProjectStaticIPPatchResponse", "properties": {"cloud_name": {"type": "string", "maxLength": 256, "description": "Target cloud"}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "ip_address": {"type": "string", "description": "IPv4 address"}, "message": {"type": "string", "description": "Printable result of the request"}, "service_name": {"type": "string", "minLength": 1, "maxLength": 64, "description": "Service name"}, "state": {"type": "string", "description": "Static IP address state", "enum": ["creating", "created", "available", "assigned", "deleting", "deleted"]}, "static_ip_address_id": {"type": "string", "description": "Static IP address identifier"}, "termination_protection": {"type": "boolean", "description": "Static IP address is protected against deletion"}}, "required": ["cloud_name", "ip_address", "service_name", "state", "static_ip_address_id", "termination_protection"]}, "StaticIPCreateRequestBody": {"type": "object", "description": "StaticIPCreateRequestBody", "properties": {"cloud_name": {"type": "string", "maxLength": 256, "description": "Target cloud"}, "termination_protection": {"type": "boolean", "description": "Static IP address is protected against deletion"}}, "required": ["cloud_name"]}, "StaticIPCreateResponse": {"type": "object", "description": "StaticIPCreateResponse", "properties": {"cloud_name": {"type": "string", "maxLength": 256, "description": "Target cloud"}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "ip_address": {"type": "string", "description": "IPv4 address"}, "message": {"type": "string", "description": "Printable result of the request"}, "service_name": {"type": "string", "minLength": 1, "maxLength": 64, "description": "Service name"}, "state": {"type": "string", "description": "Static IP address state", "enum": ["creating", "created", "available", "assigned", "deleting", "deleted"]}, "static_ip_address_id": {"type": "string", "description": "Static IP address identifier"}, "termination_protection": {"type": "boolean", "description": "Static IP address is protected against deletion"}}, "required": ["cloud_name", "ip_address", "service_name", "state", "static_ip_address_id", "termination_protection"]}, "StaticIPDeleteResponse": {"type": "object", "description": "StaticIPDeleteResponse", "properties": {"cloud_name": {"type": "string", "maxLength": 256, "description": "Target cloud"}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "ip_address": {"type": "string", "description": "IPv4 address"}, "message": {"type": "string", "description": "Printable result of the request"}, "service_name": {"type": "string", "minLength": 1, "maxLength": 64, "description": "Service name"}, "state": {"type": "string", "description": "Static IP address state", "enum": ["creating", "created", "available", "assigned", "deleting", "deleted"]}, "static_ip_address_id": {"type": "string", "description": "Static IP address identifier"}, "termination_protection": {"type": "boolean", "description": "Static IP address is protected against deletion"}}, "required": ["cloud_name", "ip_address", "service_name", "state", "static_ip_address_id", "termination_protection"]}, "StaticIPListResponse": {"type": "object", "description": "StaticIPListResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "static_ips": {"type": "array", "description": "Paginated array", "items": {"type": "object", "properties": {"cloud_name": {"type": "string", "maxLength": 256, "description": "Target cloud"}, "ip_address": {"type": "string", "description": "IPv4 address"}, "service_name": {"type": "string", "minLength": 1, "maxLength": 64, "description": "Service name"}, "state": {"type": "string", "description": "Static IP address state", "enum": ["creating", "created", "available", "assigned", "deleting", "deleted"]}, "static_ip_address_id": {"type": "string", "description": "Static IP address identifier"}, "termination_protection": {"type": "boolean", "description": "Static IP address is protected against deletion"}}, "required": ["cloud_name", "ip_address", "service_name", "state", "static_ip_address_id", "termination_protection"]}}}, "required": ["static_ips"]}, "OrganizationTicketListResponse": {"type": "object", "description": "OrganizationTicketListResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "tickets": {"type": "array", "description": "List of tickets", "items": {"type": "object", "properties": {"account_id": {"type": "string", "maxLength": 36, "description": "Account ID"}, "create_time": {"type": "string", "maxLength": 36, "description": "Created timestamp, ISO 8601 format"}, "description": {"type": "string", "minLength": 1, "maxLength": 32000, "description": "Longer description"}, "followers": {"type": "array", "description": "Ticket followers", "items": {"type": "object", "properties": {"real_name": {"type": "string", "maxLength": 256, "description": "User real name"}, "user_email": {"type": "string", "maxLength": 254, "description": "User email address"}, "user_id": {"type": "string", "description": "User ID"}}, "required": ["real_name", "user_email", "user_id"]}}, "following": {"type": "boolean", "description": "Whether the current user is following this ticket"}, "organization_id": {"type": "string", "maxLength": 36, "description": "Organization ID"}, "project_name": {"type": "string", "maxLength": 63, "description": "Project name"}, "service_name": {"type": "string", "minLength": 1, "maxLength": 64, "description": "Service name"}, "severity": {"type": "string", "description": "Severity level", "enum": ["critical", "high", "low"]}, "state": {"type": "string", "description": "Is ticket open or closed", "enum": ["closed", "open"]}, "submitter": {"type": "object", "description": "User information", "properties": {"real_name": {"type": "string", "maxLength": 256, "description": "User real name"}, "user_email": {"type": "string", "maxLength": 254, "description": "User email address"}, "user_id": {"type": "string", "description": "User ID"}}, "required": ["real_name", "user_email", "user_id"]}, "ticket_id": {"type": "string", "description": "Ticket ID"}, "title": {"type": "string", "minLength": 1, "maxLength": 255, "description": "Short description"}, "update_time": {"type": "string", "maxLength": 36, "description": "Update timestamp, ISO 8601 format"}, "user_email": {"type": "string", "maxLength": 254, "description": "User email address"}, "user_real_name": {"type": "string", "maxLength": 256, "description": "User real name"}}, "required": ["create_time", "description", "followers", "service_name", "severity", "state", "submitter", "ticket_id", "title", "update_time", "user_email", "user_real_name"]}}}, "required": ["tickets"]}, "ProjectTicketCreateResponse": {"type": "object", "description": "ProjectTicketCreateResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "ticket": {"type": "object", "description": "Support ticket", "properties": {"account_id": {"type": "string", "maxLength": 36, "description": "Account ID"}, "create_time": {"type": "string", "maxLength": 36, "description": "Created timestamp, ISO 8601 format"}, "description": {"type": "string", "minLength": 1, "maxLength": 32000, "description": "Longer description"}, "followers": {"type": "array", "description": "Ticket followers", "items": {"type": "object", "properties": {"real_name": {"type": "string", "maxLength": 256, "description": "User real name"}, "user_email": {"type": "string", "maxLength": 254, "description": "User email address"}, "user_id": {"type": "string", "description": "User ID"}}, "required": ["real_name", "user_email", "user_id"]}}, "following": {"type": "boolean", "description": "Whether the current user is following this ticket"}, "organization_id": {"type": "string", "maxLength": 36, "description": "Organization ID"}, "project_name": {"type": "string", "maxLength": 63, "description": "Project name"}, "service_name": {"type": "string", "minLength": 1, "maxLength": 64, "description": "Service name"}, "severity": {"type": "string", "description": "Severity level", "enum": ["critical", "high", "low"]}, "state": {"type": "string", "description": "Is ticket open or closed", "enum": ["closed", "open"]}, "submitter": {"type": "object", "description": "User information", "properties": {"real_name": {"type": "string", "maxLength": 256, "description": "User real name"}, "user_email": {"type": "string", "maxLength": 254, "description": "User email address"}, "user_id": {"type": "string", "description": "User ID"}}, "required": ["real_name", "user_email", "user_id"]}, "ticket_id": {"type": "string", "description": "Ticket ID"}, "title": {"type": "string", "minLength": 1, "maxLength": 255, "description": "Short description"}, "update_time": {"type": "string", "maxLength": 36, "description": "Update timestamp, ISO 8601 format"}, "user_email": {"type": "string", "maxLength": 254, "description": "User email address"}, "user_real_name": {"type": "string", "maxLength": 256, "description": "User real name"}}, "required": ["create_time", "description", "followers", "project_name", "service_name", "severity", "state", "submitter", "ticket_id", "title", "update_time", "user_email", "user_real_name"]}}, "required": ["ticket"]}, "ProjectTicketInviteResponse": {"type": "object", "description": "ProjectTicketInviteResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}, "required": ["message"]}, "ProjectTicketListResponse": {"type": "object", "description": "ProjectTicketListResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "tickets": {"type": "array", "description": "List of tickets", "items": {"type": "object", "properties": {"account_id": {"type": "string", "maxLength": 36, "description": "Account ID"}, "create_time": {"type": "string", "maxLength": 36, "description": "Created timestamp, ISO 8601 format"}, "description": {"type": "string", "minLength": 1, "maxLength": 32000, "description": "Longer description"}, "followers": {"type": "array", "description": "Ticket followers", "items": {"type": "object", "properties": {"real_name": {"type": "string", "maxLength": 256, "description": "User real name"}, "user_email": {"type": "string", "maxLength": 254, "description": "User email address"}, "user_id": {"type": "string", "description": "User ID"}}, "required": ["real_name", "user_email", "user_id"]}}, "following": {"type": "boolean", "description": "Whether the current user is following this ticket"}, "organization_id": {"type": "string", "maxLength": 36, "description": "Organization ID"}, "project_name": {"type": "string", "maxLength": 63, "description": "Project name"}, "service_name": {"type": "string", "minLength": 1, "maxLength": 64, "description": "Service name"}, "severity": {"type": "string", "description": "Severity level", "enum": ["critical", "high", "low"]}, "state": {"type": "string", "description": "Is ticket open or closed", "enum": ["closed", "open"]}, "submitter": {"type": "object", "description": "User information", "properties": {"real_name": {"type": "string", "maxLength": 256, "description": "User real name"}, "user_email": {"type": "string", "maxLength": 254, "description": "User email address"}, "user_id": {"type": "string", "description": "User ID"}}, "required": ["real_name", "user_email", "user_id"]}, "ticket_id": {"type": "string", "description": "Ticket ID"}, "title": {"type": "string", "minLength": 1, "maxLength": 255, "description": "Short description"}, "update_time": {"type": "string", "maxLength": 36, "description": "Update timestamp, ISO 8601 format"}, "user_email": {"type": "string", "maxLength": 254, "description": "User email address"}, "user_real_name": {"type": "string", "maxLength": 256, "description": "User real name"}}, "required": ["create_time", "description", "followers", "project_name", "service_name", "severity", "state", "submitter", "ticket_id", "title", "update_time", "user_email", "user_real_name"]}}}, "required": ["tickets"]}, "AccessTokenCreateRequestBody": {"type": "object", "description": "AccessTokenCreateRequestBody", "properties": {"description": {"type": "string", "maxLength": 1000, "description": "Name / description of an access token"}, "extend_when_used": {"type": "boolean", "description": "Extend token expiration time when token is used. Only applicable if max_age_seconds is specified.", "default": false}, "ip_allowlist": {"type": "array", "maxItems": 100, "description": "List of allowed IP ranges", "items": {"type": "string"}}, "max_age_seconds": {"type": "number", "minimum": 600, "maximum": 315360000, "description": "Time the token remains valid since creation (or since last use if extend_when_used is true)"}, "scopes": {"type": "array", "maxItems": 100, "description": "Scopes this token is restricted to, if specified", "items": {"type": "string"}}}, "required": ["description"]}, "AccessTokenCreateResponse": {"type": "object", "description": "AccessTokenCreateResponse", "properties": {"create_time": {"type": "string", "description": "Timestamp when the access token was created"}, "created_manually": {"type": "boolean", "description": "True for tokens explicitly created via the access_tokens API, false for tokens created via login."}, "currently_active": {"type": "boolean", "description": "true if API request was made with this access token"}, "description": {"type": "string", "maxLength": 1000, "description": "Name / description of an access token"}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "expiry_time": {"type": "string", "description": "Timestamp when the access token will expire unless extended, if ever"}, "extend_when_used": {"type": "boolean", "description": "Extend token expiration time when token is used. Only applicable if max_age_seconds is specified."}, "full_token": {"type": "string", "description": "This full access token can be used to make API calls. This can also be used to update or revoke tokens. Note that when using this token with the update and revoke APIs it must be URL encoded because it may contain /, + and = characters (/ =&gt; %2F, + =&gt; %2B, = =&gt; %3D)."}, "ip_allowlist": {"type": "array", "maxItems": 100, "description": "List of allowed IP ranges", "items": {"type": "string"}}, "last_ip": {"type": "string", "description": "IP address the access token was last used from in case it has ever been used"}, "last_used_time": {"type": "string", "description": "Timestamp when the access token was last used, if ever"}, "last_user_agent": {"type": "string", "description": "User agent string of the client that last used the token in case it has ever been used"}, "last_user_agent_human_readable": {"type": "string", "description": "Human readable user agent string of the client that last used the token in case user agent is known"}, "max_age_seconds": {"type": "number", "minimum": 600, "maximum": 315360000, "description": "Time the token remains valid since creation (or since last use if extend_when_used is true)"}, "message": {"type": "string", "description": "Printable result of the request"}, "scopes": {"type": "array", "maxItems": 100, "description": "Scopes this token is restricted to, if specified", "items": {"type": "string"}}, "token_prefix": {"type": "string", "description": "First characters of the actual token value. Full value is only exposed after creation. This value is used when updating or revoking tokens. Note that the value may contain /, + and = characters and must be URL encoded when used (/ =&gt; %2F, + =&gt; %2B, = =&gt; %3D)."}}, "required": ["create_time", "created_manually", "extend_when_used", "full_token", "max_age_seconds", "token_prefix"]}, "AccessTokenListResponse": {"type": "object", "description": "AccessTokenListResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "tokens": {"type": "array", "description": "List of access tokens", "items": {"type": "object", "properties": {"create_time": {"type": "string", "description": "Timestamp when the access token was created"}, "created_manually": {"type": "boolean", "description": "True for tokens explicitly created via the access_tokens API, false for tokens created via login."}, "currently_active": {"type": "boolean", "description": "true if API request was made with this access token"}, "description": {"type": "string", "maxLength": 1000, "description": "Name / description of an access token"}, "expiry_time": {"type": "string", "description": "Timestamp when the access token will expire unless extended, if ever"}, "extend_when_used": {"type": "boolean", "description": "Extend token expiration time when token is used. Only applicable if max_age_seconds is specified."}, "ip_allowlist": {"type": "array", "maxItems": 100, "description": "List of allowed IP ranges", "items": {"type": "string"}}, "last_ip": {"type": "string", "description": "IP address the access token was last used from in case it has ever been used"}, "last_used_time": {"type": "string", "description": "Timestamp when the access token was last used, if ever"}, "last_user_agent": {"type": "string", "description": "User agent string of the client that last used the token in case it has ever been used"}, "last_user_agent_human_readable": {"type": "string", "description": "Human readable user agent string of the client that last used the token in case user agent is known"}, "max_age_seconds": {"type": "number", "minimum": 600, "maximum": 315360000, "description": "Time the token remains valid since creation (or since last use if extend_when_used is true)"}, "scopes": {"type": "array", "maxItems": 100, "description": "Scopes this token is restricted to, if specified", "items": {"type": "string"}}, "token_prefix": {"type": "string", "description": "First characters of the actual token value. Full value is only exposed after creation. This value is used when updating or revoking tokens. Note that the value may contain /, + and = characters and must be URL encoded when used (/ =&gt; %2F, + =&gt; %2B, = =&gt; %3D)."}}, "required": ["create_time", "created_manually", "extend_when_used", "max_age_seconds", "token_prefix"]}}}, "required": ["tokens"]}, "AccessTokenRevokeResponse": {"type": "object", "description": "AccessTokenRevokeResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}}, "AccessTokenUpdateRequestBody": {"type": "object", "description": "AccessTokenUpdateRequestBody", "properties": {"description": {"type": "string", "maxLength": 1000, "description": "Name / description of an access token"}}, "required": ["description"]}, "AccessTokenUpdateResponse": {"type": "object", "description": "AccessTokenUpdateResponse", "properties": {"create_time": {"type": "string", "description": "Timestamp when the access token was created"}, "created_manually": {"type": "boolean", "description": "True for tokens explicitly created via the access_tokens API, false for tokens created via login."}, "currently_active": {"type": "boolean", "description": "true if API request was made with this access token"}, "description": {"type": "string", "maxLength": 1000, "description": "Name / description of an access token"}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "expiry_time": {"type": "string", "description": "Timestamp when the access token will expire unless extended, if ever"}, "extend_when_used": {"type": "boolean", "description": "Extend token expiration time when token is used. Only applicable if max_age_seconds is specified."}, "ip_allowlist": {"type": "array", "maxItems": 100, "description": "List of allowed IP ranges", "items": {"type": "string"}}, "last_ip": {"type": "string", "description": "IP address the access token was last used from in case it has ever been used"}, "last_used_time": {"type": "string", "description": "Timestamp when the access token was last used, if ever"}, "last_user_agent": {"type": "string", "description": "User agent string of the client that last used the token in case it has ever been used"}, "last_user_agent_human_readable": {"type": "string", "description": "Human readable user agent string of the client that last used the token in case user agent is known"}, "max_age_seconds": {"type": "number", "minimum": 600, "maximum": 315360000, "description": "Time the token remains valid since creation (or since last use if extend_when_used is true)"}, "message": {"type": "string", "description": "Printable result of the request"}, "scopes": {"type": "array", "maxItems": 100, "description": "Scopes this token is restricted to, if specified", "items": {"type": "string"}}, "token_prefix": {"type": "string", "description": "First characters of the actual token value. Full value is only exposed after creation. This value is used when updating or revoking tokens. Note that the value may contain /, + and = characters and must be URL encoded when used (/ =&gt; %2F, + =&gt; %2B, = =&gt; %3D)."}}, "required": ["create_time", "extend_when_used", "max_age_seconds", "token_prefix"]}, "CheckPasswordStrengthExistingUserRequestBody": {"type": "object", "description": "CheckPasswordStrengthExistingUserRequestBody", "properties": {"new_password": {"type": "string", "maxLength": 256, "description": "New password"}, "old_password": {"type": "string", "maxLength": 256, "description": "User password"}}, "required": ["new_password", "old_password"]}, "CheckPasswordStrengthExistingUserResponse": {"type": "object", "description": "CheckPasswordStrengthExistingUserResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "password_strength": {"type": "object", "description": "Password strength", "properties": {"is_acceptable": {"type": "boolean", "description": "True if the password is acceptable"}, "message": {"type": "string", "description": "Password strength message"}, "score": {"type": "integer", "minimum": 0, "maximum": 4, "description": "Password strength score"}}, "required": ["message", "score"]}}, "required": ["password_strength"]}, "CheckPasswordStrengthNewUserRequestBody": {"type": "object", "description": "CheckPasswordStrengthNewUserRequestBody", "properties": {"email": {"type": "string", "maxLength": 254, "description": "User email address"}, "password": {"type": "string", "maxLength": 256, "description": "New password"}, "real_name": {"type": "string", "maxLength": 256, "description": "User real name"}}, "required": ["password"]}, "CheckPasswordStrengthNewUserResponse": {"type": "object", "description": "CheckPasswordStrengthNewUserResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "password_strength": {"type": "object", "description": "Password strength", "properties": {"is_acceptable": {"type": "boolean", "description": "True if the password is acceptable"}, "message": {"type": "string", "description": "Password strength message"}, "score": {"type": "integer", "minimum": 0, "maximum": 4, "description": "Password strength score"}}, "required": ["message", "score"]}}, "required": ["password_strength"]}, "OrganizationMemberGroupsListResponse": {"type": "object", "description": "OrganizationMemberGroupsListResponse", "properties": {"user_groups": {"type": "array", "description": "User Groups", "items": {"type": "object", "properties": {"create_time": {"type": "string", "maxLength": 36, "description": "User group creation time"}, "description": {"type": "string", "maxLength": 4096, "description": "Description"}, "managed_by_scim": {"type": "boolean", "description": "Managed By Scim"}, "update_time": {"type": "string", "maxLength": 36, "description": "User group last update time"}, "user_group_id": {"type": "string", "maxLength": 36, "description": "User Group ID"}, "user_group_name": {"type": "string", "maxLength": 128, "description": "User Group Name"}}, "required": ["create_time", "description", "managed_by_scim", "update_time", "user_group_id", "user_group_name"]}}}, "required": ["user_groups"]}, "OrganizationMemberPermissionsListResponse": {"type": "object", "description": "OrganizationMemberPermissionsListResponse", "properties": {"permissions": {"type": "array", "description": "Organization member permissions", "items": {"type": "object", "properties": {"permissions": {"type": "array", "description": "List of roles", "items": {"type": "string"}}, "resource_id": {"type": "string", "description": "Resource Identifier"}, "resource_type": {"type": "string", "description": "An enumeration.", "title": "Resource type", "enum": ["project", "organization", "organization_unit"]}}, "required": ["permissions", "resource_id", "resource_type"]}}}, "required": ["permissions"]}, "OrganizationUserAuthenticationMethodsListResponse": {"type": "object", "description": "OrganizationUserAuthenticationMethodsListResponse", "properties": {"authentication_methods": {"type": "array", "description": "List of authentication methods for the organization user", "items": {"type": "object", "properties": {"is_enabled_2fa": {"type": "boolean", "description": "Verifies if 2FA is enabled for the user", "default": false}, "last_used_time": {"type": "string", "maxLength": 36, "description": "Last activity time with the authentication method"}, "local_provider_id": {"type": "string", "description": "Local authentication method provider resource ID"}, "method_id": {"type": "string", "description": "User authentication method ID"}, "name": {"type": "string", "description": "Name of the organization authentication method"}, "organization_id": {"type": "string", "description": "Organization ID"}, "remote_provider_id": {"type": "string", "description": "Remote authentication method provider ID"}, "type": {"type": "string", "description": "Type of the organization authentication method"}, "user_email": {"type": "string", "description": "User's email address for the authentication method"}, "user_id": {"type": "string", "description": "User ID"}}, "required": ["remote_provider_id"]}}}, "required": ["authentication_methods"]}, "OrganizationUserGetResponse": {"type": "object", "description": "OrganizationUserGetResponse", "properties": {"is_super_admin": {"type": "boolean", "description": "Super admin state of the organization user"}, "join_time": {"type": "string", "maxLength": 36, "description": "Join time"}, "last_activity_time": {"type": "string", "maxLength": 36, "description": "Last activity time"}, "user_id": {"type": "string", "description": "User ID"}, "user_info": {"type": "object", "description": "OrganizationUserInfo", "properties": {"city": {"type": "string", "maxLength": 512, "description": "City"}, "country": {"type": "string", "description": "Country"}, "create_time": {"type": "string", "maxLength": 36, "description": "Creation time"}, "department": {"type": "string", "description": "Department"}, "is_application_user": {"type": "boolean", "description": "Is Application User"}, "job_title": {"type": "string", "description": "Job Title"}, "managed_by_scim": {"type": "boolean", "description": "Managed By Scim"}, "managing_organization_id": {"type": "string", "maxLength": 36, "description": "Managing Organization ID"}, "real_name": {"type": "string", "maxLength": 256, "description": "Real Name"}, "state": {"type": "string", "description": "State"}, "user_email": {"type": "string", "maxLength": 254, "description": "User Email"}}, "required": ["create_time", "is_application_user", "managed_by_scim", "real_name", "state", "user_email"]}}, "required": ["is_super_admin", "join_time", "last_activity_time", "user_id", "user_info"]}, "OrganizationUserListResponse": {"type": "object", "description": "OrganizationUserListResponse", "properties": {"users": {"type": "array", "description": "List of users of the organization", "items": {"type": "object", "properties": {"is_super_admin": {"type": "boolean", "description": "Super admin state of the organization user"}, "join_time": {"type": "string", "maxLength": 36, "description": "Join time"}, "last_activity_time": {"type": "string", "maxLength": 36, "description": "Last activity time"}, "user_id": {"type": "string", "description": "User ID"}, "user_info": {"type": "object", "description": "OrganizationUserInfo", "properties": {"city": {"type": "string", "maxLength": 512, "description": "City"}, "country": {"type": "string", "description": "Country"}, "create_time": {"type": "string", "maxLength": 36, "description": "Creation time"}, "department": {"type": "string", "description": "Department"}, "is_application_user": {"type": "boolean", "description": "Is Application User"}, "job_title": {"type": "string", "description": "Job Title"}, "managed_by_scim": {"type": "boolean", "description": "Managed By Scim"}, "managing_organization_id": {"type": "string", "maxLength": 36, "description": "Managing Organization ID"}, "real_name": {"type": "string", "maxLength": 256, "description": "Real Name"}, "state": {"type": "string", "description": "State"}, "user_email": {"type": "string", "maxLength": 254, "description": "User Email"}}, "required": ["create_time", "is_application_user", "managed_by_scim", "real_name", "state", "user_email"]}}, "required": ["is_super_admin", "join_time", "last_activity_time", "user_id", "user_info"]}}}, "required": ["users"]}, "OrganizationUserTokensListResponse": {"type": "object", "description": "OrganizationUserTokensListResponse", "properties": {"tokens": {"type": "array", "description": "List of user tokens accessible to the organization", "items": {"type": "object", "properties": {"description": {"type": "string", "description": "Description"}, "ip_allowlist": {"type": "array", "description": "List of IP addresses that are allowed to use the token", "items": {"type": "string"}}, "last_ip": {"type": "string", "description": "Last-used IP"}, "last_used_time": {"type": "string", "maxLength": 36, "description": "Last-used time"}, "last_user_agent": {"type": "string", "description": "Last-used user agent"}, "token_prefix": {"type": "string", "description": "Token prefix"}}, "required": ["description", "ip_allowlist", "last_ip", "last_used_time", "last_user_agent", "token_prefix"]}}}, "required": ["tokens"]}, "OrganizationUserUpdateRequestBody": {"type": "object", "description": "OrganizationUserUpdateRequestBody", "properties": {"city": {"type": "string", "maxLength": 512, "description": "City"}, "country": {"type": "string", "description": "Country"}, "department": {"type": "string", "description": "Department"}, "is_super_admin": {"type": "boolean", "description": "Alters super admin state of the organization user"}, "job_title": {"type": "string", "description": "Job Title"}, "real_name": {"type": "string", "maxLength": 256, "description": "Real Name"}, "state": {"type": "string", "description": "An enumeration.", "title": "State of the user in the organization", "enum": ["active", "deactivated", "deleted"]}}}, "OrganizationUserUpdateResponse": {"type": "object", "description": "OrganizationUserUpdateResponse", "properties": {"is_super_admin": {"type": "boolean", "description": "Super admin state of the organization user"}, "join_time": {"type": "string", "maxLength": 36, "description": "Join time"}, "last_activity_time": {"type": "string", "maxLength": 36, "description": "Last activity time"}, "user_id": {"type": "string", "description": "User ID"}, "user_info": {"type": "object", "description": "OrganizationUserInfo", "properties": {"city": {"type": "string", "maxLength": 512, "description": "City"}, "country": {"type": "string", "description": "Country"}, "create_time": {"type": "string", "maxLength": 36, "description": "Creation time"}, "department": {"type": "string", "description": "Department"}, "is_application_user": {"type": "boolean", "description": "Is Application User"}, "job_title": {"type": "string", "description": "Job Title"}, "managed_by_scim": {"type": "boolean", "description": "Managed By Scim"}, "managing_organization_id": {"type": "string", "maxLength": 36, "description": "Managing Organization ID"}, "real_name": {"type": "string", "maxLength": 256, "description": "Real Name"}, "state": {"type": "string", "description": "State"}, "user_email": {"type": "string", "maxLength": 254, "description": "User Email"}}, "required": ["create_time", "is_application_user", "managed_by_scim", "real_name", "state", "user_email"]}}, "required": ["is_super_admin", "join_time", "last_activity_time", "user_id", "user_info"]}, "TwoFactorAuthConfigureRequestBody": {"type": "object", "description": "TwoFactorAuthConfigureRequestBody", "properties": {"method": {"type": "string", "maxLength": 32, "description": "Two-factor authentication method being used, if any"}, "password": {"type": "string", "maxLength": 256, "description": "Current password"}}, "required": ["method", "password"]}, "TwoFactorAuthConfigureResponse": {"type": "object", "description": "TwoFactorAuthConfigureResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "method": {"type": "string", "maxLength": 32, "description": "Two-factor authentication method being used, if any"}, "qrcode": {"type": "string", "description": "QR code describing the TOTP as a base64-encoded PNG"}, "uri": {"type": "string", "maxLength": 2048, "description": "URI describing the TOTP"}}, "required": ["method"]}, "TwoFactorAuthConfigureOTPRequestBody": {"type": "object", "description": "TwoFactorAuthConfigureOTPRequestBody", "properties": {"otp": {"type": "string", "maxLength": 6, "description": "One-time password"}, "password": {"type": "string", "maxLength": 256, "description": "Current password"}, "uri": {"type": "string", "maxLength": 2048, "description": "URI describing the TOTP"}}, "required": ["otp", "password", "uri"]}, "TwoFactorAuthConfigureOTPResponse": {"type": "object", "description": "TwoFactorAuthConfigureOTPResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "method": {"type": "string", "maxLength": 32, "description": "Two-factor authentication method being used, if any"}, "token": {"type": "string", "description": "New API session authentication token when configuration is complete"}}, "required": ["method", "token"]}, "UserAccountInvitesAcceptRequestBody": {"type": "object", "description": "UserAccountInvitesAcceptRequestBody", "properties": {"account_id": {"type": "string", "maxLength": 36, "description": "Account ID"}, "team_id": {"type": "string", "maxLength": 32, "description": "Team ID"}}, "required": ["account_id"]}, "UserAccountInvitesAcceptResponse": {"type": "object", "description": "UserAccountInvitesAcceptResponse", "properties": {"account_invites": {"type": "array", "description": "List of invites", "items": {"type": "object", "properties": {"account_id": {"type": "string", "maxLength": 36, "description": "Account ID"}, "account_name": {"type": "string", "maxLength": 83, "description": "Account name"}, "create_time": {"type": "string", "maxLength": 36, "description": "Timestamp in ISO 8601 format, always in UTC"}, "invited_by_user_email": {"type": "string", "maxLength": 254, "description": "User email address"}, "team_id": {"type": "string", "maxLength": 32, "description": "Team ID"}, "team_name": {"type": "string", "maxLength": 128, "description": "Team name"}, "user_email": {"type": "string", "maxLength": 254, "description": "User email address"}}, "required": ["account_id", "account_name", "create_time", "invited_by_user_email", "team_id", "team_name", "user_email"]}}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}, "required": ["account_invites"]}, "UserAccountInvitesListResponse": {"type": "object", "description": "UserAccountInvitesListResponse", "properties": {"account_invites": {"type": "array", "description": "List of invites", "items": {"type": "object", "properties": {"account_id": {"type": "string", "maxLength": 36, "description": "Account ID"}, "account_name": {"type": "string", "maxLength": 83, "description": "Account name"}, "create_time": {"type": "string", "maxLength": 36, "description": "Timestamp in ISO 8601 format, always in UTC"}, "invited_by_user_email": {"type": "string", "maxLength": 254, "description": "User email address"}, "team_id": {"type": "string", "maxLength": 32, "description": "Team ID"}, "team_name": {"type": "string", "maxLength": 128, "description": "Team name"}, "user_email": {"type": "string", "maxLength": 254, "description": "User email address"}}, "required": ["account_id", "account_name", "create_time", "invited_by_user_email", "team_id", "team_name", "user_email"]}}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}, "required": ["account_invites"]}, "UserAccountInvitesRejectRequestBody": {"type": "object", "description": "UserAccountInvitesRejectRequestBody", "properties": {"account_id": {"type": "string", "maxLength": 36, "description": "Account ID"}, "team_id": {"type": "string", "maxLength": 32, "description": "Team ID"}}, "required": ["account_id", "team_id"]}, "UserAccountInvitesRejectResponse": {"type": "object", "description": "UserAccountInvitesRejectResponse", "properties": {"account_invites": {"type": "array", "description": "List of invites", "items": {"type": "object", "properties": {"account_id": {"type": "string", "maxLength": 36, "description": "Account ID"}, "account_name": {"type": "string", "maxLength": 83, "description": "Account name"}, "create_time": {"type": "string", "maxLength": 36, "description": "Timestamp in ISO 8601 format, always in UTC"}, "invited_by_user_email": {"type": "string", "maxLength": 254, "description": "User email address"}, "team_id": {"type": "string", "maxLength": 32, "description": "Team ID"}, "team_name": {"type": "string", "maxLength": 128, "description": "Team name"}, "user_email": {"type": "string", "maxLength": 254, "description": "User email address"}}, "required": ["account_id", "account_name", "create_time", "invited_by_user_email", "team_id", "team_name", "user_email"]}}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}, "required": ["account_invites"]}, "UserAuthRequestBody": {"type": "object", "description": "UserAuthRequestBody", "properties": {"email": {"type": "string", "maxLength": 254, "description": "User email address"}, "otp": {"type": "string", "maxLength": 6, "description": "One-time password"}, "password": {"type": "string", "maxLength": 256, "description": "User password"}}, "required": ["email", "password"]}, "UserAuthResponse": {"type": "object", "description": "UserAuthResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "return_url": {"type": "string", "description": "Return URL"}, "state": {"type": "string", "description": "User account state"}, "tenant": {"type": "string", "maxLength": 64, "description": "Tenant identifier"}, "token": {"type": "string", "description": "API session authentication token"}, "user_email": {"type": "string", "maxLength": 254, "description": "User email address"}}, "required": ["state", "token", "user_email"]}, "UserAuthLoginOptionsRequestBody": {"type": "object", "description": "UserAuthLoginOptionsRequestBody", "properties": {"email": {"type": "string", "maxLength": 254, "description": "User email address"}}}, "UserAuthLoginOptionsResponse": {"type": "object", "description": "UserAuthLoginOptionsResponse", "properties": {"None": {"type": "array", "description": "List of available login methods", "items": {"type": "object", "properties": {}}}, "action": {"type": "string", "description": "Action", "enum": ["azure_oauth", "github_oauth", "google_oauth", "hasura_oauth", "password", "saml", "signup"]}, "method": {"type": "string", "description": "HTTP method used for redirecting", "enum": ["POST", "GET"]}, "name": {"type": "string", "description": "Human readable name"}, "redirect_url": {"type": "string", "description": "Redirect URL for signing in"}}, "required": ["action"]}, "UserAuthenticationMethodDeleteResponse": {"type": "object", "description": "UserAuthenticationMethodDeleteResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}}, "UserAuthenticationMethodsListResponse": {"type": "object", "description": "UserAuthenticationMethodsListResponse", "properties": {"authentication_methods": {"type": "array", "description": "List of linked authentication methods", "items": {"type": "object", "properties": {"authentication_method_account_id": {"type": "string", "maxLength": 36, "description": "Account ID"}, "create_time": {"type": "string", "maxLength": 36, "description": "Timestamp in ISO 8601 format, always in UTC"}, "currently_active": {"type": "boolean", "description": "true if API was accessed with this authentication method"}, "delete_time": {"type": "string", "maxLength": 36, "description": "Timestamp in ISO 8601 format, always in UTC"}, "last_used_time": {"type": "string", "maxLength": 36, "description": "Timestamp in ISO 8601 format, always in UTC"}, "method_id": {"type": "string", "description": "Unique ID for authentication method"}, "name": {"type": "string", "maxLength": 128, "description": "Authentication method name"}, "public_remote_identity": {"type": "string", "description": "Identity on remote provider, if available. May be email address, but not necessarily."}, "remote_provider_id": {"type": "string", "description": "Provider ID"}, "state": {"type": "string", "description": "State for authentication method", "enum": ["active", "deleted"]}, "update_time": {"type": "string", "maxLength": 36, "description": "Timestamp in ISO 8601 format, always in UTC"}, "user_email": {"type": "string", "maxLength": 254, "description": "User email address"}}, "required": ["authentication_method_account_id", "create_time", "currently_active", "delete_time", "last_used_time", "method_id", "public_remote_identity", "remote_provider_id", "state", "update_time", "user_email"]}}, "errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}, "required": ["authentication_methods"]}, "UserExpireTokensResponse": {"type": "object", "description": "UserExpireTokensResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}}, "UserInfoResponse": {"type": "object", "description": "UserInfoResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "user": {"type": "object", "description": "User information", "properties": {"auth": {"type": "array", "description": "List of user's required authentication methods", "items": {"type": "string"}}, "city": {"type": "string", "maxLength": 256, "description": "City"}, "country": {"type": "string", "maxLength": 256, "description": "Country code ISO 3166-1 alpha-2"}, "create_time": {"type": "string", "maxLength": 36, "description": "User registration time"}, "department": {"type": "string", "maxLength": 256, "description": "Job department"}, "features": {"type": "object", "description": "Feature flags", "properties": {}}, "invitations": {"type": "array", "description": "List of pending invitations", "items": {"type": "object", "properties": {"invite_code": {"type": "string", "description": "Code for accepting the invitation"}, "invite_time": {"type": "string", "maxLength": 36, "description": "Timestamp in ISO 8601 format, always in UTC"}, "inviting_user_email": {"type": "string", "maxLength": 254, "description": "User email address"}, "project_name": {"type": "string", "maxLength": 63, "description": "Project name"}}, "required": ["invite_code", "invite_time", "inviting_user_email", "project_name"]}}, "job_title": {"type": "string", "maxLength": 256, "description": "Job title"}, "managed_by_scim": {"type": "boolean", "description": "User management status"}, "managing_organization_id": {"type": "string", "maxLength": 36, "description": "Organization ID"}, "project_membership": {"type": "object", "description": "Project membership and type of membership", "properties": {"ANY": {"type": "string", "description": "Project member type", "enum": ["admin", "developer", "operator", "organization:app_users:write", "organization:audit_logs:read", "organization:billing:read", "organization:billing:write", "organization:domains:write", "organization:groups:write", "organization:networking:read", "organization:networking:write", "organization:projects:write", "organization:users:write", "project:audit_logs:read", "project:integrations:read", "project:integrations:write", "project:networking:read", "project:networking:write", "project:permissions:read", "project:services:read", "project:services:write", "read_only", "role:organization:admin", "role:project:admin", "role:services:maintenance", "role:services:recover", "service:configuration:write", "service:data:write", "service:logs:read", "service:secrets:read", "service:users:write"]}}}, "project_memberships": {"type": "object", "description": "List of project membership and type of membership", "properties": {"ANY": {"type": "array", "description": "List of project member type", "items": {"type": "string"}}}}, "projects": {"type": "array", "description": "List of projects the user is a member of", "items": {"type": "string"}}, "real_name": {"type": "string", "maxLength": 256, "description": "User real name"}, "state": {"type": "string", "description": "User account state"}, "tenant": {"type": "string", "maxLength": 64, "description": "Tenant identifier"}, "token_validity_begin": {"type": "string", "maxLength": 36, "description": "Earliest valid authentication token timestamp"}, "user": {"type": "string", "maxLength": 254, "description": "User email address"}, "user_id": {"type": "string", "description": "User ID"}}, "required": ["auth", "invitations", "project_membership", "project_memberships", "projects", "real_name", "state", "tenant", "user", "user_id"]}}, "required": ["user"]}, "UserLogoutResponse": {"type": "object", "description": "UserLogoutResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}}, "UserPasswordChangeRequestBody": {"type": "object", "description": "UserPasswordChangeRequestBody", "properties": {"new_password": {"type": "string", "maxLength": 256, "description": "New password"}, "password": {"type": "string", "maxLength": 256, "description": "Current password"}}, "required": ["new_password", "password"]}, "UserPasswordChangeResponse": {"type": "object", "description": "UserPasswordChangeResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "token": {"type": "string", "description": "API session authentication token"}}, "required": ["token"]}, "UserPasswordResetRequestBody": {"type": "object", "description": "UserPasswordResetRequestBody", "properties": {"new_password": {"type": "string", "maxLength": 256, "description": "New password"}}, "required": ["new_password"]}, "UserPasswordResetResponse": {"type": "object", "description": "UserPasswordResetResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}}, "UserPasswordResetRequestRequestBody": {"type": "object", "description": "UserPasswordResetRequestRequestBody", "properties": {"email": {"type": "string", "maxLength": 254, "description": "User email address"}}, "required": ["email"]}, "UserPasswordResetRequestResponse": {"type": "object", "description": "UserPasswordResetRequestResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}}, "UserUpdateRequestBody": {"type": "object", "description": "UserUpdateRequestBody", "properties": {"city": {"type": "string", "maxLength": 256, "description": "City"}, "country": {"type": "string", "maxLength": 256, "description": "Country code ISO 3166-1 alpha-2"}, "department": {"type": "string", "maxLength": 256, "description": "Job department"}, "job_title": {"type": "string", "maxLength": 256, "description": "Job title"}, "real_name": {"type": "string", "maxLength": 256, "description": "User real name"}}, "required": ["real_name"]}, "UserUpdateResponse": {"type": "object", "description": "UserUpdateResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}, "user": {"type": "object", "description": "User information", "properties": {"auth": {"type": "array", "description": "List of user's required authentication methods", "items": {"type": "string"}}, "city": {"type": "string", "maxLength": 256, "description": "City"}, "country": {"type": "string", "maxLength": 256, "description": "Country code ISO 3166-1 alpha-2"}, "create_time": {"type": "string", "maxLength": 36, "description": "User registration time"}, "department": {"type": "string", "maxLength": 256, "description": "Job department"}, "features": {"type": "object", "description": "Feature flags", "properties": {}}, "invitations": {"type": "array", "description": "List of pending invitations", "items": {"type": "object", "properties": {"invite_code": {"type": "string", "description": "Code for accepting the invitation"}, "invite_time": {"type": "string", "maxLength": 36, "description": "Timestamp in ISO 8601 format, always in UTC"}, "inviting_user_email": {"type": "string", "maxLength": 254, "description": "User email address"}, "project_name": {"type": "string", "maxLength": 63, "description": "Project name"}}, "required": ["invite_code", "invite_time", "inviting_user_email", "project_name"]}}, "job_title": {"type": "string", "maxLength": 256, "description": "Job title"}, "managed_by_scim": {"type": "boolean", "description": "User management status"}, "managing_organization_id": {"type": "string", "maxLength": 36, "description": "Organization ID"}, "project_membership": {"type": "object", "description": "Project membership and type of membership", "properties": {"ANY": {"type": "string", "description": "Project member type", "enum": ["admin", "developer", "operator", "organization:app_users:write", "organization:audit_logs:read", "organization:billing:read", "organization:billing:write", "organization:domains:write", "organization:groups:write", "organization:networking:read", "organization:networking:write", "organization:projects:write", "organization:users:write", "project:audit_logs:read", "project:integrations:read", "project:integrations:write", "project:networking:read", "project:networking:write", "project:permissions:read", "project:services:read", "project:services:write", "read_only", "role:organization:admin", "role:project:admin", "role:services:maintenance", "role:services:recover", "service:configuration:write", "service:data:write", "service:logs:read", "service:secrets:read", "service:users:write"]}}}, "project_memberships": {"type": "object", "description": "List of project membership and type of membership", "properties": {"ANY": {"type": "array", "description": "List of project member type", "items": {"type": "string"}}}}, "projects": {"type": "array", "description": "List of projects the user is a member of", "items": {"type": "string"}}, "real_name": {"type": "string", "maxLength": 256, "description": "User real name"}, "state": {"type": "string", "description": "User account state"}, "tenant": {"type": "string", "maxLength": 64, "description": "Tenant identifier"}, "token_validity_begin": {"type": "string", "maxLength": 36, "description": "Earliest valid authentication token timestamp"}, "user": {"type": "string", "maxLength": 254, "description": "User email address"}, "user_id": {"type": "string", "description": "User ID"}}, "required": ["auth", "invitations", "project_membership", "project_memberships", "projects", "real_name", "state", "tenant", "user", "user_id"]}}, "required": ["user"]}, "UserVerifyEmailResponse": {"type": "object", "description": "UserVerifyEmailResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "invite_details": {"type": "object", "description": "Details of verified invite", "properties": {"user_email": {"type": "string", "maxLength": 254, "description": "User email address"}}, "required": ["user_email"]}, "message": {"type": "string", "description": "Printable result of the request"}}, "required": ["invite_details"]}, "ValidateCreditCodeResponse": {"type": "object", "description": "ValidateCreditCodeResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}}, "ValidateReferralCodeResponse": {"type": "object", "description": "ValidateReferralCodeResponse", "properties": {"errors": {"type": "array", "description": "List of errors occurred during request processing", "items": {"type": "object", "properties": {"message": {"type": "string", "description": "Printable error message"}, "more_info": {"type": "string", "description": "URL to the documentation of the error"}, "status": {"type": "integer", "description": "HTTP error status code"}}, "required": ["message", "status"]}}, "message": {"type": "string", "description": "Printable result of the request"}}}}, "responses": {}, "requestBodies": {}, "parameters": {"account_id": {"in": "path", "name": "account_id", "description": "Account ID", "schema": {"type": "string"}, "required": true}, "account_authentication_method_id": {"in": "path", "name": "account_authentication_method_id", "description": "Account authentication method ID", "schema": {"type": "string"}, "required": true}, "card_id": {"in": "path", "name": "card_id", "description": "Credit card ID", "schema": {"type": "string"}, "required": true}, "project_name": {"in": "path", "name": "project_name", "description": "Project name", "schema": {"type": "string"}, "required": true}, "team_id": {"in": "path", "name": "team_id", "description": "Team ID", "schema": {"type": "string"}, "required": true}, "user_email": {"in": "path", "name": "user_email", "description": "Email address", "schema": {"type": "string"}, "required": true}, "invite_verification_code": {"in": "path", "name": "invite_verification_code", "description": "Verification code received via email", "schema": {"type": "string"}, "required": true}, "user_id": {"in": "path", "name": "user_id", "description": "User ID", "schema": {"type": "string"}, "required": true}, "project": {"in": "path", "name": "project", "description": "Project name", "schema": {"type": "string"}, "required": true}, "organization_id": {"in": "path", "name": "organization_id", "description": "ID of an organization", "schema": {"type": "string"}, "required": true}, "token_prefix": {"in": "path", "name": "token_prefix", "description": "Access token prefix", "schema": {"type": "string"}, "required": true}, "authentication_method_id": {"in": "path", "name": "authentication_method_id", "description": "Organization authentication method ID", "schema": {"type": "string"}, "required": true}, "domain_id": {"in": "path", "name": "domain_id", "description": "ID of a domain", "schema": {"type": "string"}, "required": true}, "credit_memo_id": {"in": "path", "name": "credit_memo_id", "description": "Credit Memo ID", "schema": {"type": "string"}, "required": true}, "download_cookie": {"in": "path", "name": "download_cookie", "description": "Authentication cookie for file download", "schema": {"type": "string"}, "required": true}, "billing_group_id": {"in": "path", "name": "billing_group_id", "description": "Billing group id", "schema": {"type": "string"}, "required": true}, "invoice_number": {"in": "path", "name": "invoice_number", "description": "Invoice number", "schema": {"type": "string"}, "required": true}, "billinggroupinvoicecsvget_cookie": {"in": "query", "name": "cookie", "description": "Download cookie signature.", "schema": {"type": "string"}, "required": true}, "billinggroupinvoicecsvget_project": {"in": "query", "name": "project", "description": "Project name. Only required if the provided cookie comes from the Project Billing API.", "schema": {"type": "string"}, "required": false}, "address_id": {"in": "path", "name": "address_id", "description": "Address id", "schema": {"type": "string"}, "required": true}, "tenant": {"in": "path", "name": "tenant", "description": "Aiven tenant ID", "schema": {"type": "string"}, "required": true}, "custom_cloud_environment_id": {"in": "path", "name": "custom_cloud_environment_id", "description": "ID of a custom cloud environment", "schema": {"type": "string"}, "required": true}, "user_group_id": {"in": "path", "name": "user_group_id", "description": "ID of the user group", "schema": {"type": "string"}, "required": true}, "organizationbillinginvoicelist_billing_group_ids": {"in": "query", "name": "billing_group_ids", "description": "IDs of the billing_groups", "schema": {"type": "array"}, "required": false}, "organizationbillinginvoicelist_state": {"in": "query", "name": "state", "description": "refers to state of the invoice", "schema": {"type": "array"}, "required": false}, "organizationbillinginvoicelist_starting_date": {"in": "query", "name": "starting_date", "description": "starting date in the invoice time period", "schema": {"type": "string"}, "required": false}, "organizationbillinginvoicelist_ending_date": {"in": "query", "name": "ending_date", "description": "ending date in the invoice time period", "schema": {"type": "string"}, "required": false}, "payment_method_id": {"in": "path", "name": "payment_method_id", "description": "ID of the payment method", "schema": {"type": "string"}, "required": true}, "organization_vpc_id": {"in": "path", "name": "organization_vpc_id", "description": "Organization VPC ID", "schema": {"type": "string"}, "required": true}, "peering_connection_id": {"in": "path", "name": "peering_connection_id", "description": "Organization peering connection ID", "schema": {"type": "string"}, "required": true}, "organizationdelete_recursive": {"in": "query", "name": "recursive", "description": "Delete all resources in the organization", "schema": {"type": "boolean"}, "required": true}, "access_id": {"in": "path", "name": "access_id", "description": "Access Id", "schema": {"type": "string"}, "required": true}, "organizationgovernanceaccesslist_cursor": {"in": "query", "name": "cursor", "description": "Pagination cursor", "schema": {"type": "string"}, "required": false}, "organizationgovernanceaccesslist_limit": {"in": "query", "name": "limit", "description": "Limit results to this number", "schema": {"type": "integer", "minimum": 30, "maximum": 999}, "required": false}, "organizationgovernanceaccesslist_resource_name": {"in": "query", "name": "resource_name", "description": "Filter by resource name", "schema": {"type": "string", "minimum": 1, "maximum": 256}, "required": false}, "organizationgovernanceaccesslist_owner_user_group_id": {"in": "query", "name": "owner_user_group_id", "description": "Filter by owner user group ID", "schema": {"type": "string", "minimum": 1, "maximum": 36}, "required": false}, "project_id": {"in": "path", "name": "project_id", "description": "Project Id", "schema": {"type": "string"}, "required": true}, "resource_type": {"in": "path", "name": "resource_type", "description": "Resource type", "schema": {"type": "string", "enum": ["project", "organization", "organization_unit"]}, "required": true}, "resource_id": {"in": "path", "name": "resource_id", "description": "Resource Id", "schema": {"type": "string"}, "required": true}, "file_format": {"in": "path", "name": "file_format", "description": "of the SBOM report", "schema": {"type": "string"}, "required": true}, "invited_email": {"in": "path", "name": "invited_email", "description": "Email address of user to be invited", "schema": {"type": "string"}, "required": true}, "service_type": {"in": "path", "name": "service_type", "description": "Service type", "schema": {"type": "string"}, "required": true}, "service_plan": {"in": "path", "name": "service_plan", "description": "Service plan", "schema": {"type": "string"}, "required": true}, "cloud": {"in": "path", "name": "cloud", "description": "Cloud", "schema": {"type": "string"}, "required": true}, "project_vpc_id": {"in": "path", "name": "project_vpc_id", "description": "Project VPC ID", "schema": {"type": "string"}, "required": true}, "peer_cloud_account": {"in": "path", "name": "peer_cloud_account", "description": "AWS account ID, Google project name, Azure subscription ID, or string &quot;upcloud&quot; for UpCloud peering connections", "schema": {"type": "string"}, "required": true}, "peer_vpc": {"in": "path", "name": "peer_vpc", "description": "AWS VPC-ID, Google network name, Azure VNet name, or UpCloud VPC ID", "schema": {"type": "string"}, "required": true}, "peer_region": {"in": "path", "name": "peer_region", "description": "AWS region", "schema": {"type": "string"}, "required": true}, "peer_resource_group": {"in": "path", "name": "peer_resource_group", "description": "Azure resource group", "schema": {"type": "string"}, "required": true}, "cmk_id": {"in": "path", "name": "cmk_id", "description": "CMK ID", "schema": {"type": "string"}, "required": true}, "service_name": {"in": "path", "name": "service_name", "description": "Service name", "schema": {"type": "string"}, "required": true}, "database": {"in": "path", "name": "database", "description": "Database name", "schema": {"type": "string"}, "required": true}, "user_uuid": {"in": "path", "name": "user_uuid", "description": "User identifier", "schema": {"type": "string"}, "required": true}, "serviceclickhousequerystats_limit": {"in": "query", "name": "limit", "description": "Limit for number of results", "schema": {"type": "integer", "minimum": 1, "maximum": 1000, "default": 100}, "required": false}, "serviceclickhousequerystats_offset": {"in": "query", "name": "offset", "description": "Offset for retrieved results based on sort order", "schema": {"type": "integer", "minimum": 0, "default": 0}, "required": false}, "serviceclickhousequerystats_order_by": {"in": "query", "name": "order_by", "description": "Order in which to sort retrieved results", "schema": {"type": "string", "default": "total_time:desc", "enum": ["calls:asc", "calls:desc", "min_time:asc", "min_time:desc", "max_time:asc", "max_time:desc", "mean_time:asc", "mean_time:desc", "p95_time:asc", "p95_time:desc", "stddev_time:asc", "stddev_time:desc", "total_time:asc", "total_time:desc"]}, "required": false}, "application_id": {"in": "path", "name": "application_id", "description": "Application Id", "schema": {"type": "string"}, "required": true}, "deployment_id": {"in": "path", "name": "deployment_id", "description": "Deployment Id", "schema": {"type": "string"}, "required": true}, "application_version_id": {"in": "path", "name": "application_version_id", "description": "ApplicationVersion Id", "schema": {"type": "string"}, "required": true}, "job_id": {"in": "path", "name": "job_id", "description": "Job Id", "schema": {"type": "string"}, "required": true}, "kafka_acl_id": {"in": "path", "name": "kafka_acl_id", "description": "Kafka ACL ID", "schema": {"type": "string"}, "required": true}, "connector_name": {"in": "path", "name": "connector_name", "description": "Connector name", "schema": {"type": "string"}, "required": true}, "task_id": {"in": "path", "name": "task_id", "description": "Service task", "schema": {"type": "string"}, "required": true}, "servicekafkaquotadelete_client-id": {"in": "query", "name": "client-id", "description": "Client ID.", "schema": {"type": "string"}, "required": false}, "servicekafkaquotadelete_user": {"in": "query", "name": "user", "description": "Username.", "schema": {"type": "string"}, "required": false}, "servicekafkaquotadescribe_client-id": {"in": "query", "name": "client-id", "description": "Client ID.", "schema": {"type": "string"}, "required": false}, "servicekafkaquotadescribe_user": {"in": "query", "name": "user", "description": "Username.", "schema": {"type": "string"}, "required": false}, "topic_name": {"in": "path", "name": "topic_name", "description": "Kafka topic name", "schema": {"type": "string"}, "required": true}, "schema_registry_acl_id": {"in": "path", "name": "schema_registry_acl_id", "description": "Kafka Schema Registry ACL ID", "schema": {"type": "string"}, "required": true}, "subject_name": {"in": "path", "name": "subject_name", "description": "Subject name", "schema": {"type": "string"}, "required": true}, "version_id": {"in": "path", "name": "version_id", "description": "Version Id", "schema": {"type": "string"}, "required": true}, "schema_id": {"in": "path", "name": "schema_id", "description": "Schema Id", "schema": {"type": "string"}, "required": true}, "source_cluster": {"in": "path", "name": "source_cluster", "description": "Source cluster alias", "schema": {"type": "string"}, "required": true}, "target_cluster": {"in": "path", "name": "target_cluster", "description": "Target cluster alias", "schema": {"type": "string"}, "required": true}, "index_pattern": {"in": "path", "name": "index_pattern", "description": "OpenSearch index name, comma-separated list or pattern", "schema": {"type": "string"}, "required": true}, "repository_name": {"in": "path", "name": "repository_name", "description": "Repository name", "schema": {"type": "string"}, "required": true}, "snapshot_name": {"in": "path", "name": "snapshot_name", "description": "Snapshot name", "schema": {"type": "string"}, "required": true}, "pool_name": {"in": "path", "name": "pool_name", "description": "PgBouncer connection pool name", "schema": {"type": "string"}, "required": true}, "dbname": {"in": "path", "name": "dbname", "description": "DatabaseName", "schema": {"type": "string"}, "required": true}, "serviceget_include_secrets": {"in": "query", "name": "include_secrets", "description": "Explicitly indicates that the client wants to read secrets that might be returned by this endpoint.", "schema": {"type": "boolean"}, "required": false}, "servicelist_include_secrets": {"in": "query", "name": "include_secrets", "description": "Explicitly indicates that the client wants to read secrets that might be returned by this endpoint.", "schema": {"type": "boolean"}, "required": false}, "privatelink_connection_id": {"in": "path", "name": "privatelink_connection_id", "description": "Privatelink connection ID", "schema": {"type": "string"}, "required": true}, "serviceupdate_allow_unclean_poweroff": {"in": "query", "name": "allow_unclean_poweroff", "description": "Allows or disallows powering off a service if some WAL segments are not available for a future restoration of the service, which might result in data loss when powering the service back on", "schema": {"type": "boolean", "default": true}, "required": false}, "service_username": {"in": "path", "name": "service_username", "description": "Service username", "schema": {"type": "string"}, "required": true}, "serviceuserget_include_secrets": {"in": "query", "name": "include_secrets", "description": "Explicitly indicates that the client wants to read secrets that might be returned by this endpoint.", "schema": {"type": "boolean"}, "required": false}, "integration_id": {"in": "path", "name": "integration_id", "description": "Integration ID", "schema": {"type": "string"}, "required": true}, "integration_endpoint_id": {"in": "path", "name": "integration_endpoint_id", "description": "Endpoint ID", "schema": {"type": "string"}, "required": true}, "serviceintegrationendpointget_include_secrets": {"in": "query", "name": "include_secrets", "description": "Explicitly indicates that the client wants to read secrets that might be returned by this endpoint.", "schema": {"type": "boolean"}, "required": false}, "static_ip_address_id": {"in": "path", "name": "static_ip_address_id", "description": "Static IP address identifier", "schema": {"type": "string"}, "required": true}, "ticket_id": {"in": "path", "name": "ticket_id", "description": "Ticket ID", "schema": {"type": "string"}, "required": true}, "member_user_id": {"in": "path", "name": "member_user_id", "description": "ID of the organization's user", "schema": {"type": "string"}, "required": true}, "user_authentication_method_id": {"in": "path", "name": "user_authentication_method_id", "description": "User authentication method ID", "schema": {"type": "string"}, "required": true}, "verification_code": {"in": "path", "name": "verification_code", "description": "Verification code received via email", "schema": {"type": "string"}, "required": true}, "credit_code": {"in": "path", "name": "credit_code", "description": "Credit Code", "schema": {"type": "string"}, "required": true}, "referral_code": {"in": "path", "name": "referral_code", "description": "Referral Code", "schema": {"type": "string"}, "required": true}}, "securitySchemes": {"tokenAuth": {"description": "Header should be of the format `authorization: aivenv1 <TOKEN>`. Tokens can be obtained from [your Aiven profile page](https://console.aiven.io/profile/auth)", "scheme": "bearer", "type": "http"}, "oauth2": {"type": "oauth2", "description": "OAuth2 security scheme", "flows": {"authorizationCode": {"authorizationUrl": "https://console.aiven.io/oauth/authorize", "tokenUrl": "https://api.aiven.io/v1/oauth2/token", "scopes": {"all": "Provide full access to the API", "accounts": "Allow enumerating and reading accounts configuration", "accounts:read": "Allow modifying account configuration", "accounts:write": "Provides full access to authentication related API", "authentication": "Provides full access to authentication related API", "authentication:read": "Allow reading authentication related configuration on resources (user profile, accounts)", "authentication:write": "Allow modifying authentication related configurations on resources (user profile, accounts)", "billing": "Provide full access to billing APIs", "billing:read": "Allow reading billing information and configuration", "billing:write": "Allow writing billing configuration", "payments": "Provide full access to payment method APIs", "payments:read": "Allow reading the payment method configurations", "payments:write": "Allows writing payment method configuration", "privatelink": "Provide full access to private link APIs", "privatelink:read": "Allow enumerating and reading private link items and configurations", "privatelink:write": "Allow writing (creating, modifying, deleting) private link items", "projects": "Provide full access to projects APIs", "projects:read": "Allow enumerating projects and reading their configuration", "projects:write": "Allow writing (creating, modifying, deleting) projects", "scim": "Provide full access to SCIM operations", "scim:read": "Allow reading SCIM endpoints", "scim:write": "Allow writing (modifying) SCIM endpoints", "services": "Provide full access to services APIs", "services:read": "Allow enumerating services and reading their configuration", "services:write": "Allow writing (creating, modifying, deleting) services", "static_ips": "Provide full access to static IPs APIs", "static_ips:read": "Allow enumerating and reading static IP items and configurations", "static_ips:write": "Allow writing (creating, modifying, deleting) static IP items", "tickets": "Provide full access to support ticket APIs", "tickets:read": "Allow enumerating and reading support tickets", "tickets:write": "Allow writing (creating, modifying) support tickets", "user": "Provide full access to user profile APIs", "user:read": "Allow reading user profile and configuration", "user:write": "Allow writing (modifying) user profile and configuration"}}}}}}, "externalDocs": {"description": "Aiven CLI client", "url": "https://github.com/aiven/aiven-client"}, "info": {"contact": {"email": "support@aiven.io", "name": "Aiven support team", "url": "https://aiven.io/support-services"}, "title": "Aiven API Documentation", "version": "v1", "x-logo": {"altText": "Aiven logo", "backgroundColor": "#fafafa", "href": "https://api.aiven.io/doc", "url": "https://aiven.io/assets/img/aiven-logo.png"}, "description": "# Introduction\n\n[Direct link to openapi.json](https://api.aiven.io/doc/openapi.json) for use with external tools\n\n[Aiven](https://aiven.io) is a modern fully-managed open source data platform for streaming, storing, and analyzing data on any public cloud. On Aiven Platform, you can operate your data infrastructure with a few devops tools: [Aiven Console](https://console.aiven.io/), [Aiven Terraform Provider](https://aiven.io/docs/tools/terraform), [Aiven CLI](https://github.com/aiven/aiven-client), and [Aiven Operator for Kubernetes](https://github.com/aiven/aiven-operator). All of them are built on an open secure powerful REST API for integration with custom tooling.\n\nThe Aiven [REST](http://en.wikipedia.org/wiki/Representational_State_Transfer) API\nprovides programmatic access to Aiven.io services. To call the Aiven API, you can use either CLI tools (for example, `cURL` or [Aiven CLI client](https://aiven.io/docs/tools/cli)) or GUI tools, such as the [Aiven public API Postman collection](https://www.postman.com/aiven-apis).\n\nThis Aiven API documentation will help you operate your Aiven organization, projects, or services programmatically by integrating your applications and processes with Aiven.\n\n# Description\n\nAiven's APIs ([Application Programming Interfaces](https://en.wikipedia.org/wiki/API)) power its platform for data management. Aiven has a number of REST APIs that can help you build strong and robust data infrastructure for your applications.\n\nThe Aiven API is organized around core resources. Each core resource has multiple endpoints, which can be interacted with using different HTTP methods.\n\n## Core resources\n\n### Platform APIs\n\n<dl>\n  <dt>Account</dt>\n  <dd>Operations on the organization level related to accounts, projects, teams, users, invites, billing groups, payment methods, credit cards, authentication methods, and more </dd>\n  <dt>User</dt>\n  <dd>Operations related to users and users' profiles, access, authentication, authorization, user management, and more</dd>\n  <dt>Project</dt>\n  <dd>General operations on projects related to users, VPCs, invitations, alerts, peering connections, and more</dd>\n  <dt>BillingGroup</dt>\n  <dd>Operation on invoices, billing groups' credits and events </dd>\n  <dt>Support ticket</dt>\n  <dd>Operations on support tickets: listing, creating, looping users in</dd>\n</dl>\n\n### Services APIs\n\n<dl>\n  <dt>Service</dt>\n  <dd>All general (non-service-specific) operations on the service level: service creation, termination, configuration, updates, information retrieval, reset, and more</dd>\n  <dt>Service Integrations</dt>\n  <dd>Operations related to integrating services and managing service integrations</dd>\n  <dt>Service: ClickHouse</dt>\n  <dd>ClickHouse-specific operations on queries and databases </dd>\n  <dt>Service: Flink</dt>\n  <dd>Operations on Flink queries, jobs, and applications</dd>\n  <dt>Service: Kafka</dt>\n  <dd>Kafka and Kafka Connect specific operations on connectors, ACL entries, quotas, topics, topic messages, schema registry, and more</dd>\n  <dt>Service: Kafka MirrorMaker</dt>\n  <dd>Operations on replication flows</dd>\n  <dt>Service: MySQL</dt>\n  <dd>Fetching service query statistics</dd>\n  <dt>Service: OpenSearch</dt>\n  <dd>Operations on ACL configuration, security administration and configuration</dd>\n  <dt>Service: PostgreSQL</dt>\n  <dd>Operations on extensions, service query statistics, and connection pools</dd>\n</dl>\n\n# Requests\n\nThere are multiple ways you can interact with the Aiven API over HTTP. You can access it by sending requests from a client (for example, a web browser) to the Aiven's server. In this API reference, you'll find code examples of how to do that using `cURL` and a few different client libraries (programming languages).\n\nTo send an API request, you need to specify the following:\n\n* HTTP method\n* Path\n* Request headers\n\n  Typically, `content-type` needs to be set to `application/json`: `content-type: application/json`. There are a few exceptions though.\n\n* Path, query, or body parameters (either required or optional).\n\n```bash\ncurl --request POST \\\n  --url https://api.aiven.io/v1/project/{project}/vpcs \\\n  --header 'Authorization: aivenv1 REPLACE_BEARER_TOKEN' \\\n  --header 'content-type: application/json' \\\n  --data\n     '{\n        \"cloud_name\": \"string\",\n        \"network_cidr\": \"string\",\n        \"peering_connections\": [\n          {\n            \"peer_azure_app_id\": \"string\",\n            \"peer_azure_tenant_id\": \"string\",\n            \"peer_cloud_account\": \"string\",\n            \"peer_region\": \"string\",\n            \"peer_resource_group\": \"string\",\n            \"peer_vpc\": \"string\",\n            \"user_peer_network_cidrs\": [\n              \"string\"\n            ]\n          }\n        ]\n      }'\n```\n\n# Responses\n\nUpon receiving and processing a request, the Aiven API returns the response status code, response headers, and a response body in the `JSON` format. Response bodies include different properties, which can be either required or optional, for example, the ``message`` property, which is an optional human-readable information on the result of the action (deleted, created, or updated).\n\n```json\n{\n    \"cloud_name\": \"string\",\n    \"create_time\": \"string\",\n    \"message\": \"string\",\n    \"network_cidr\": \"string\",\n    \"peering_connections\": [\n        { ... }\n    ],\n    \"pending_build_only_peering_connections\": \"string\",\n    \"project_vpc_id\": \"string\",\n    \"state\": \"ACTIVE\",\n    \"update_time\": \"string\"\n}\n```\n\n## Successful responses\n\nA successful API response returns an HTTP result code between 200 and 299.\n\nExample of the ``created`` response\n\n```json\n  {\n      \"service\": {\n          \"service_name\": \"foobar\",\n          ...\n      }\n  }\n```\n\n## Failed responses\n\nA failed API response returns a HTTP code greater or equal to 400. Additionally, the response may return a list of errors in the response body as JSON, for example\n\n```json\n{\n  \"errors\": [\n    {\n      \"error_code\": \"authentication_failed\",\n      \"message\": \"Authentication failed\",\n      \"status\": 403,\n      \"metadata\": {\n        ...\n      }\n    }\n  ],\n  \"message\": \"Authentication failed\"\n}\n```\n\n> For information on errors' properties and error codes, check [Errors](/doc/openapi/openapi-description#errors).\n\n# Get started\n\nCheck out how to start using the Aiven API either in [API quick start](https://aiven.io/docs/tools/api#api-quickstart) or [Your first API call](https://aiven.io/blog/your-first-aiven-api-call).\n\n## Authentication\n\n<!-- ReDoc-Inject: <security-definitions> -->\n\n# Errors\n\nWhen working with the Aiven API, you may encounter different error responses when you attempt to perform operations that can fail. For example, trying to enable writes for a database that has been powered off would lead to the following error response:\n\n```json\n{\n  \"errors\": [\n    {\n      \"error_code\": \"not_powered\",\n      \"message\": \"Database not powered on\",\n      \"status\": 409\n    }\n  ],\n  \"message\": \"Database not powered on\"\n}\n```\n\n## Check a response for errors\n\nIf a request fails with a HTTP code greater or equal to 400, it returns a list of errors in the response body as JSON. `errors` objects are embedded in the failed API responses.\n\n```json\n{\n  \"errors\": [\n    {\n      \"error_code\": \"account_not_found\",\n      \"message\": \"Account does not exist\",\n      \"status\": 404\n    }\n  ],\n  \"message\": \"Account does not exist\"\n}\n```\n\n## Errors' properties\n\nIn an API response, one or more errors may be included in the ``errors`` array of objects. Each error object may contain a few properties:\n\n* ``status`` (required) is an HTTP error code, which can be used to programmatically identify the error type.\n\n  * ``200`` <= ``status``< ``300`` means a successful request.\n  * ``300`` <= ``status`` <= ``500`` means a failed request.\n\n  ``errors`` can have the following HTTPS status codes:\n\n  * 200 - OK\n  * 201 - Created\n  * 400 - Bad Request\n  * 401 - Unauthorized\n  * 403 - Forbidden\n  * 404 - Not found\n  * 405 - Method Not Allowed\n  * 409 - Conflict\n  * 500 - Internal Server Error\n\n* ``message`` (required) is human-readable information on the error.\n* ``error_code`` is a machine-readable information on the error (see [Error codes](/doc/openapi/openapi-description#error-codes)).\n\n## Error codes\n\nMachine-readable ``error_code`` fields are progressively added to Aiven endpoints to allow you to identify different failure cases programmatically. Currently, the supported values are the following:\n\n- `account_already_exists`\n- `account_already_has_organization`\n- `account_and_project_do_not_match`\n- `account_and_project_must_belong_same_tenant`\n- `account_cannot_be_own_ancestor`\n- `account_must_have_enabled_authentication_method`\n- `account_not_found`\n- `account_team_not_found`\n- `account_unit_cannot_create_for_personal_tier`\n- `account_unit_cannot_have_billing_group`\n- `account_with_child_accounts_cannot_be_deleted`\n- `account_with_projects_cannot_be_deleted`\n- `action_forbidden_for_application_users`\n- `action_forbidden_for_managed_users`\n- `action_forbidden_for_marketplace_users`\n- `action_forbidden_for_scim_users`\n- `action_forbidden_for_timescale_users`\n- `action_forbidden_missing_governance_usergroup`\n- `action_forbidden_on_application_users`\n- `action_forbidden_on_topic_request`\n- `action_forbidden_on_unmanaged_users`\n- `acu_billing_not_allowed`\n- `address_already_belongs_to_organization`\n- `address_in_use`\n- `address_not_found`\n- `api_client_ip_allowlist_blocks_caller`\n- `approval_forbidden_on_topic_request`\n- `approval_missing_on_request`\n- `auth_token_max_age_too_low`\n- `authentication_method_disable_current_not_allowed`\n- `authentication_method_does_not_allow_auto_join_user_group`\n- `authentication_method_limit_reached`\n- `authentication_method_not_found`\n- `backup_failed`\n- `bad_request`\n- `billing_address_not_found`\n- `billing_customer_id_not_found`\n- `billing_group_not_found`\n- `billing_group_organization_active_trial`\n- `billing_group_owning_account_must_be_organization`\n- `ca_version_not_in_sequence`\n- `cannot_delete_active_managed_users`\n- `cannot_delete_users_with_organizations_memberships`\n- `cannot_move_project_not_assigned_to_organization`\n- `cannot_remove_managed_users_from_organization`\n- `cannot_set_groups_managed_by_scim_as_auto_join_group`\n- `client_ip_address_policy_violation`\n- `credit_card_not_found`\n- `credit_memo_not_found`\n- `custom_cloud_environment_cloud_not_supported`\n- `custom_cloud_environment_internal`\n- `custom_cloud_environment_invalid_iam_role_arn`\n- `custom_cloud_environment_missing_configuration`\n- `custom_cloud_environment_not_found`\n- `custom_cloud_environment_region_not_supported`\n- `decline_forbidden_on_topic_request`\n- `deleting_forbidden_on_governance_request`\n- `deleting_forbidden_on_topic_request`\n- `discount_not_found`\n- `feature_not_enabled`\n- `free_plans_in_high_demand_and_unavailable`\n- `free_trial_extensions_not_available`\n- `free_trial_max_extended`\n- `free_trial_not_active`\n- `free_trial_not_available`\n- `governance_access_no_permission_on_project`\n- `governance_access_not_found`\n- `governance_configuration_already_exists`\n- `governance_configuration_not_found`\n- `governance_group_not_found`\n- `governance_invalid_service_type`\n- `governance_request_already_in_progress`\n- `governance_request_deleted`\n- `idp_no_domains_linked`\n- `index_close_failed`\n- `index_not_found`\n- `internal_server_error`\n- `invalid_backup_configuration`\n- `invalid_cmk_id`\n- `invalid_currency_code`\n- `invalid_date_format`\n- `invalid_email_format`\n- `invalid_governance_group_provided`\n- `invalid_kafka_topic_request_type`\n- `invalid_os_migration_command`\n- `invalid_owner_user_group`\n- `invalid_private_access_settings`\n- `invalid_scim_user_state_update`\n- `invalid_service_type`\n- `invalid_vcs_type`\n- `invitation_expired`\n- `invitation_not_found`\n- `invoice_lines_not_supported`\n- `invoice_not_found`\n- `ip_address_not_present`\n- `ip_address_not_valid`\n- `kafka_acl_not_supported`\n- `kafka_console_governance_enabled`\n- `kafka_governance_not_available`\n- `kafka_governance_not_enabled`\n- `kafka_governance_policy_incomplete`\n- `kafka_partition_reassignment_in_progress`\n- `kafka_policy_violation`\n- `kafka_service_unavailable`\n- `kafka_terraform_governance_enabled`\n- `kafka_topic_already_exists`\n- `kafka_topic_invalid_config`\n- `kafka_topic_not_found`\n- `kafka_topic_not_synchronized`\n- `kafka_topic_queued_for_deletion`\n- `kafka_topic_reserved`\n- `marketplace_aws_customer_or_product_details_not_found`\n- `marketplace_subscription_already_linked_to_organization`\n- `marketplace_subscription_link_expired`\n- `marketplace_subscription_no_access`\n- `metadata_validation_failed`\n- `mfa_required_by_organization`\n- `mp_account_with_active_subscription_deleted`\n- `mp_account_with_commitment_deleted`\n- `mp_account_with_support_contract_deleted`\n- `mp_subscription_not_found`\n- `nested_account_cannot_have_authentication_method`\n- `nested_account_cannot_have_user_groups`\n- `new_subnet_id_required`\n- `no_failed_os_migration`\n- `node_prune_version_not_updated`\n- `not_powered`\n- `opensearch_delete_system_index`\n- `opensearch_internal_server_error`\n- `opensearch_service_unavailable`\n- `opensearch_too_many_requests`\n- `optimization_failed`\n- `optimization_not_found`\n- `organization_aiven_enterprise_contract_denied`\n- `organization_aiven_enterprise_contract_feature_denied`\n- `organization_aiven_enterprise_denied`\n- `organization_aiven_enterprise_organization_required`\n- `organization_cannot_exist_without_root_account`\n- `organization_domain_already_linked`\n- `organization_domain_not_found`\n- `organization_domain_not_root`\n- `organization_domain_verification_failed`\n- `organization_has_active_addresses`\n- `organization_has_active_payment_methods`\n- `organization_kafka_topics_invalid_filters`\n- `organization_mismatch`\n- `organization_must_have_one_super_admin`\n- `organization_not_found`\n- `organization_pending_support_contract_already_exists`\n- `organization_support_contract_tier_not_supported`\n- `organization_tier_downgrade_not_allowed`\n- `organization_user_not_found`\n- `orphaned_project_not_allowed`\n- `parent_account_cannot_be_own_ancestor`\n- `parent_account_not_found`\n- `parent_account_tenant_invalid`\n- `parent_account_too_deep`\n- `payment_method_not_found`\n- `permission_denied`\n- `pg_publication_not_found`\n- `pg_replication_slot_not_found`\n- `project_account_not_active`\n- `project_already_exists`\n- `project_belongs_to_account_billing_group_must_use_api`\n- `project_does_not_exist`\n- `project_has_no_such_user`\n- `project_limitation_not_found`\n- `project_move_invalid`\n- `project_move_organizations_internal_config_not_match`\n- `project_not_found`\n- `project_without_billing_group_must_be_assigned_from_account`\n- `query_validation_failed`\n- `replication_already_exists`\n- `replication_config_invalid`\n- `replication_not_found`\n- `replication_service_not_found`\n- `repository_not_found`\n- `request_already_exists`\n- `request_forbidden`\n- `request_not_found`\n- `request_operation_already_exists`\n- `request_operation_not_found`\n- `resource_managed_by_governance`\n- `resource_managed_by_scim`\n- `resource_not_managed_by_scim`\n- `retired_api_endpoint`\n- `root_account_required`\n- `same_organization_required`\n- `schema_insights_failed`\n- `service_acl_not_found`\n- `service_acl_too_many`\n- `service_does_not_exist`\n- `service_governance_not_enabled`\n- `service_integration_endpoint_not_found`\n- `service_integration_not_found`\n- `service_integration_project_mismatch_source_destination`\n- `service_maintenance_required`\n- `service_not_found`\n- `service_type_not_allowed`\n- `service_type_version_pin_locked`\n- `shipping_address_not_found`\n- `signup_welcome_invalid_key`\n- `snapshot_creation_failed`\n- `snapshot_deletion_failed`\n- `snapshot_not_found`\n- `snapshot_restoration_failed`\n- `stripe_customer_owning_account_must_be_organization`\n- `support_contract_and_account_must_be_in_same_organization`\n- `support_contract_earliest_cancellation_date_later_than_end_date`\n- `support_contract_must_have_billing_group`\n- `support_contract_null_tier`\n- `team_limit_exceeded`\n- `team_names_must_be_unique`\n- `tenant_mismatch`\n- `topic_not_found`\n- `unable_to_parse_query`\n- `unit_cannot_be_moved_out_of_organization`\n- `unknown_user_sso_login_attempt`\n- `unsupported_resource_type`\n- `upgrade_pipeline_no_nodes`\n- `upgrade_pipeline_no_validation`\n- `upgrade_pipeline_service_not_destination`\n- `upgrade_pipeline_service_not_found`\n- `upgrade_step_destination_already_has_source`\n- `upgrade_step_destination_service_not_found`\n- `upgrade_step_exceeds_max_chain_length`\n- `upgrade_step_not_found`\n- `upgrade_step_service_type_mismatch`\n- `upgrade_step_source_service_not_found`\n- `upgrade_step_unsupported_service_type`\n- `upgrade_step_validation_not_possible_due_to_service_state`\n- `upgrade_step_would_create_cycle`\n- `upgrade_validation_already_exists`\n- `user_already_in_organization`\n- `user_already_invited_to_organization`\n- `user_config_2fa_otp_verification_failed`\n- `user_deactivated`\n- `user_domain_does_not_belong_to_organization_or_no_linked_auth_method`\n- `user_group_names_must_be_unique`\n- `user_group_not_found`\n- `user_groups_belong_to_different_accounts`\n- `user_groups_must_be_from_same_account`\n- `user_has_no_access_to_billing_info`\n- `user_has_no_access_to_project_with_current_authentication_method`\n- `user_has_to_sign_in_with_non_account_authentication_method`\n- `user_has_too_many_disk_addition_requests`\n- `user_is_internal_user`\n- `user_not_account_owner`\n- `user_not_account_owner_of_billing_group`\n- `user_not_account_owner_of_parent_account`\n- `user_not_admin_of_account_billing_group`\n- `user_not_application_user`\n- `user_not_found`\n- `user_not_managed_by_organization`\n- `user_not_organization_admin`\n- `user_not_signed_in_with_account_authentication_method`\n- `user_oauth_authentication_method_not_allowed`\n- `user_password_authentication_method_not_allowed`\n- `user_password_compromised`\n- `user_personal_token_allowed_authentication_methods_cannot_be_disabled`\n- `user_personal_token_not_allowed`\n- `user_personal_tokens_cannot_be_disabled`\n- `user_role_not_allowed_to_perform_operation`\n- `user_saml_authentication_method_not_allowed`\n- `user_weblink_action_expired`\n- `users_belong_to_different_tenant_from_user_group_account`\n- `vcs_integration_installation_not_found_or_not_accessible`\n- `vcs_integration_not_found`\n- `vpc_id_and_subnet_id_required`\n- `webhook_invalid_event_data`\n- `webhook_unauthorized`\n"}, "openapi": "3.0.1", "paths": {"/account/{account_id}/payment_methods": {"post": {"summary": "Attach payment method for account", "tags": ["Account"], "operationId": "AccountAttachPaymentMethod", "parameters": [{"$ref": "#/components/parameters/account_id"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/AccountAttachPaymentMethodRequestBody"}, "example": {"payment_method_id": "pm_1Q0PsIJvEtkwdCNYMSaVuRz6"}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AccountAttachPaymentMethodResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["accounts:write", "payments:write"]}]}, "get": {"summary": "List credit cards attached as a payment method to the account", "tags": ["Account"], "operationId": "AccountPaymentMethodsList", "parameters": [{"$ref": "#/components/parameters/account_id"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AccountPaymentMethodsListResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["accounts:read", "payments:read"]}]}}, "/account/{account_id}/authentication": {"post": {"summary": "Create a new authentication method", "tags": ["Account"], "operationId": "AccountAuthenticationMethodCreate", "parameters": [{"$ref": "#/components/parameters/account_id"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/AccountAuthenticationMethodCreateRequestBody"}, "example": {"auth_token_extend_when_used": true, "auth_token_max_age_seconds": 42, "authentication_method_name": "Main SAML service", "authentication_method_type": "internal", "auto_join_team_id": "at29872a9e", "auto_join_user_group_id": "ug22ba494e096", "linked_domains": [{"domain_id": "domain-a9s7d6f98as7d6"}], "saml_assertion_signed_enabled": true, "saml_authn_requests_signed_enabled": true, "saml_certificate": "-----BEGIN CERTIFICATE...", "saml_digest_algorithm": "sha256", "saml_entity_id": "https://example.com/saml2/entity", "saml_field_mapping": {"email": "email", "first_name": "first_name", "groups": "groups", "identity": "email", "last_name": "last_name", "real_name": "full_name"}, "saml_idp_login_allowed": true, "saml_idp_url": "https://example.com/saml2/idp", "saml_join_groups": true, "saml_requested_authn_context_enabled": true, "saml_signature_algorithm": "rsa-sha256", "saml_variant": "adfs", "scim_enabled": true}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AccountAuthenticationMethodCreateResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["accounts:write", "authentication:write"]}]}, "get": {"summary": "List authentication methods", "tags": ["Account"], "operationId": "AccountAuthenticationMethodsList", "parameters": [{"$ref": "#/components/parameters/account_id"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AccountAuthenticationMethodsListResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["accounts:read", "authentication:read"]}]}}, "/account/{account_id}/authentication/{account_authentication_method_id}": {"delete": {"summary": "Delete authentication method", "tags": ["Account"], "operationId": "AccountAuthenticationMethodDelete", "parameters": [{"$ref": "#/components/parameters/account_id"}, {"$ref": "#/components/parameters/account_authentication_method_id"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AccountAuthenticationMethodDeleteResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["accounts:write", "authentication:write"]}]}, "get": {"summary": "Get details of a single authentication method", "tags": ["Account"], "operationId": "AccountAuthenticationMethodGet", "parameters": [{"$ref": "#/components/parameters/account_id"}, {"$ref": "#/components/parameters/account_authentication_method_id"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AccountAuthenticationMethodGetResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["accounts:read", "authentication:read"]}]}, "put": {"summary": "Update authentication method", "tags": ["Account"], "operationId": "AccountAuthenticationMethodUpdate", "parameters": [{"$ref": "#/components/parameters/account_id"}, {"$ref": "#/components/parameters/account_authentication_method_id"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/AccountAuthenticationMethodUpdateRequestBody"}, "example": {"auth_token_extend_when_used": true, "auth_token_max_age_seconds": 42, "authentication_method_enabled": true, "authentication_method_name": "Main SAML service", "auto_join_team_id": "at29872a9e", "auto_join_user_group_id": "ug22ba494e096", "saml_assertion_signed_enabled": true, "saml_authn_requests_signed_enabled": true, "saml_certificate": "-----BEGIN CERTIFICATE...", "saml_digest_algorithm": "sha256", "saml_entity_id": "https://example.com/saml2/entity", "saml_field_mapping": {"email": "email", "first_name": "first_name", "groups": "groups", "identity": "email", "last_name": "last_name", "real_name": "full_name"}, "saml_idp_login_allowed": true, "saml_idp_url": "https://example.com/saml2/idp", "saml_join_groups": true, "saml_requested_authn_context_enabled": true, "saml_signature_algorithm": "rsa-sha256", "saml_variant": "adfs", "scim_enabled": true}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AccountAuthenticationMethodUpdateResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["accounts:write", "authentication:write"]}]}}, "/account/{account_id}/billing-group": {"get": {"summary": "List account billing groups", "tags": ["Account"], "operationId": "AccountBillingGroupList", "parameters": [{"$ref": "#/components/parameters/account_id"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AccountBillingGroupListResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["accounts:read", "billing:read"]}]}}, "/account": {"post": {"summary": "Create a new account", "tags": ["Account"], "operationId": "AccountCreate", "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/AccountCreateRequestBody"}, "example": {"account_name": "Aiven Ltd", "parent_account_id": "a22ba494e096", "primary_billing_group_id": "ffb3f0cd-5532-4eb9-8867-f2cac5823492"}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AccountCreateResponse"}}}}, "400": {"description": "Invalid request parameters", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["marketplace_subscription_already_linked_to_organization"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "marketplace_subscription_already_linked_to_organization: Marketplace subscription is already linked to an organization."}}}}}}}}}, "403": {"description": "Operation not allowed", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["account_unit_cannot_create_for_personal_tier"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "account_unit_cannot_create_for_personal_tier: You cannot create organizational units in a Personal organization. Consider upgrading to a Business organization."}}}}}}}}}}, "security": [{"tokenAuth": [], "oauth2": ["accounts:write"]}]}, "get": {"summary": "List accounts you have access to", "tags": ["Account"], "operationId": "AccountList", "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AccountListResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["accounts:read"]}]}}, "/account/{account_id}": {"delete": {"summary": "Delete empty account", "tags": ["Account"], "operationId": "AccountDelete", "parameters": [{"$ref": "#/components/parameters/account_id"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AccountDeleteResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["accounts:write"]}]}, "get": {"summary": "Get account details", "tags": ["Account"], "operationId": "AccountGet", "parameters": [{"$ref": "#/components/parameters/account_id"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AccountGetResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["accounts:read"]}]}, "put": {"summary": "Update existing account", "tags": ["Account"], "operationId": "AccountUpdate", "parameters": [{"$ref": "#/components/parameters/account_id"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/AccountUpdateRequestBody"}, "example": {"account_name": "Aiven Ltd", "primary_billing_group_id": "ffb3f0cd-5532-4eb9-8867-f2cac5823492"}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AccountUpdateResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["accounts:write"]}]}}, "/account/{account_id}/events": {"get": {"summary": "List account events", "tags": ["Account"], "operationId": "AccountEventList", "parameters": [{"$ref": "#/components/parameters/account_id"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AccountEventListResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["accounts:read"]}]}}, "/account/{account_id}/parent_account": {"put": {"summary": "Move an existing organization unit", "tags": ["Account"], "operationId": "AccountMove", "parameters": [{"$ref": "#/components/parameters/account_id"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/AccountMoveRequestBody"}, "example": {"parent_account_id": "a22ba494e096"}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AccountMoveResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["accounts:write"]}]}}, "/account/{account_id}/payment_method/{card_id}": {"delete": {"summary": "Delete credit card attached to the account as a payment method", "tags": ["Account"], "operationId": "AccountPaymentMethodDelete", "parameters": [{"$ref": "#/components/parameters/account_id"}, {"$ref": "#/components/parameters/card_id"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AccountPaymentMethodDeleteResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["accounts:write", "payments:write"]}]}}, "/account/{account_id}/projects": {"get": {"summary": "List projects belonging to account", "tags": ["Account"], "operationId": "AccountProjectsList", "parameters": [{"$ref": "#/components/parameters/account_id"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AccountProjectsListResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["accounts:read", "projects:read"]}]}}, "/account/{account_id}/project/{project_name}/teams": {"get": {"summary": "List account teams associated to a project", "tags": ["Account"], "operationId": "AccountProjectsTeamsList", "description": "<p>Teams have been replaced by groups. To make the transition to groups smoother, migrate your teams to groups. Members of the Account Owners team are automatically made super admin. You can change their access level by revoking super admin privileges, or by granting other roles and permissions.</p>", "deprecated": true, "parameters": [{"$ref": "#/components/parameters/account_id"}, {"$ref": "#/components/parameters/project_name"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AccountProjectsTeamsListResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["accounts:read", "projects:read"]}]}}, "/account/{account_id}/teams": {"post": {"summary": "Create a new team", "tags": ["Account"], "operationId": "AccountTeamCreate", "description": "<p>Teams have been replaced by groups. To make the transition to groups smoother, migrate your teams to groups. Members of the Account Owners team are automatically made super admin. You can change their access level by revoking super admin privileges, or by granting other roles and permissions.</p>", "deprecated": true, "parameters": [{"$ref": "#/components/parameters/account_id"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/AccountTeamCreateRequestBody"}, "example": {"team_name": "Ops team"}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AccountTeamCreateResponse"}}}}, "400": {"description": "Invalid request parameters", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["team_names_must_be_unique"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "team_names_must_be_unique: Team with the same name already exists"}}}}}}}}}, "403": {"description": "Operation not allowed", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["feature_not_enabled", "team_limit_exceeded"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "feature_not_enabled: This feature is not enabled in your context, please contact support to enable it. team_limit_exceeded: Maximum number of teams reached, please contact support to increase the limit"}}}}}}}}}, "404": {"description": "Account not found", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["account_not_found"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "account_not_found: No such account exists"}}}}}}}}}}, "security": [{"tokenAuth": [], "oauth2": ["accounts:write"]}]}, "get": {"summary": "List teams belonging to an account", "tags": ["Account"], "operationId": "AccountTeamList", "description": "<p>Teams have been replaced by groups. To make the transition to groups smoother, migrate your teams to groups. Members of the Account Owners team are automatically made super admin. You can change their access level by revoking super admin privileges, or by granting other roles and permissions.</p>", "deprecated": true, "parameters": [{"$ref": "#/components/parameters/account_id"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AccountTeamListResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["accounts:read"]}]}}, "/account/{account_id}/team/{team_id}": {"delete": {"summary": "Delete a team", "tags": ["Account"], "operationId": "AccountTeamDelete", "description": "<p>Teams have been replaced by groups. To make the transition to groups smoother, migrate your teams to groups. Members of the Account Owners team are automatically made super admin. You can change their access level by revoking super admin privileges, or by granting other roles and permissions.</p>", "deprecated": true, "parameters": [{"$ref": "#/components/parameters/account_id"}, {"$ref": "#/components/parameters/team_id"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AccountTeamDeleteResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["accounts:write"]}]}, "get": {"summary": "Get details for a single team", "tags": ["Account"], "operationId": "AccountTeamGet", "description": "<p>Teams have been replaced by groups. To make the transition to groups smoother, migrate your teams to groups. Members of the Account Owners team are automatically made super admin. You can change their access level by revoking super admin privileges, or by granting other roles and permissions.</p>", "deprecated": true, "parameters": [{"$ref": "#/components/parameters/account_id"}, {"$ref": "#/components/parameters/team_id"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AccountTeamGetResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["accounts:read"]}]}, "put": {"summary": "Update team details", "tags": ["Account"], "operationId": "AccountTeamUpdate", "description": "<p>Teams have been replaced by groups. To make the transition to groups smoother, migrate your teams to groups. Members of the Account Owners team are automatically made super admin. You can change their access level by revoking super admin privileges, or by granting other roles and permissions.</p>", "deprecated": true, "parameters": [{"$ref": "#/components/parameters/account_id"}, {"$ref": "#/components/parameters/team_id"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/AccountTeamUpdateRequestBody"}, "example": {"team_name": "Ops team"}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AccountTeamUpdateResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["accounts:write"]}]}}, "/account/{account_id}/team/{team_id}/invites": {"get": {"summary": "List pending invites", "tags": ["Account"], "operationId": "AccountTeamInvitesList", "description": "<p>Teams have been replaced by groups. To make the transition to groups smoother, migrate your teams to groups. Members of the Account Owners team are automatically made super admin. You can change their access level by revoking super admin privileges, or by granting other roles and permissions.</p>", "deprecated": true, "parameters": [{"$ref": "#/components/parameters/account_id"}, {"$ref": "#/components/parameters/team_id"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AccountTeamInvitesListResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["accounts:read"]}]}}, "/account/{account_id}/team/{team_id}/invites/{user_email}": {"delete": {"summary": "Cancel pending user invite", "tags": ["Account"], "operationId": "AccountTeamMemberCancelInvite", "description": "<p>Teams have been replaced by groups. To make the transition to groups smoother, migrate your teams to groups. Members of the Account Owners team are automatically made super admin. You can change their access level by revoking super admin privileges, or by granting other roles and permissions.</p>", "deprecated": true, "parameters": [{"$ref": "#/components/parameters/account_id"}, {"$ref": "#/components/parameters/team_id"}, {"$ref": "#/components/parameters/user_email"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AccountTeamMemberCancelInviteResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["accounts:write"]}]}}, "/account/{account_id}/invite/{invite_verification_code}": {"post": {"summary": "Confirm account team invite", "tags": ["Account"], "operationId": "AccountTeamMemberVerifyInvite", "parameters": [{"$ref": "#/components/parameters/account_id"}, {"$ref": "#/components/parameters/invite_verification_code"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AccountTeamMemberVerifyInviteResponse"}}}}}}}, "/account/{account_id}/team/{team_id}/member/{user_id}": {"delete": {"summary": "Remove a member from the team", "tags": ["Account"], "operationId": "AccountTeamMembersDelete", "description": "<p>Teams have been replaced by groups. To make the transition to groups smoother, migrate your teams to groups. Members of the Account Owners team are automatically made super admin. You can change their access level by revoking super admin privileges, or by granting other roles and permissions.</p>", "deprecated": true, "parameters": [{"$ref": "#/components/parameters/account_id"}, {"$ref": "#/components/parameters/team_id"}, {"$ref": "#/components/parameters/user_id"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AccountTeamMembersDeleteResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["accounts:write"]}]}}, "/account/{account_id}/team/{team_id}/members": {"post": {"summary": "Invite a new member to join the team", "tags": ["Account"], "operationId": "AccountTeamMembersInvite", "description": "<p>Teams have been replaced by groups. To make the transition to groups smoother, migrate your teams to groups. Members of the Account Owners team are automatically made super admin. You can change their access level by revoking super admin privileges, or by granting other roles and permissions.</p>", "deprecated": true, "parameters": [{"$ref": "#/components/parameters/account_id"}, {"$ref": "#/components/parameters/team_id"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/AccountTeamMembersInviteRequestBody"}, "example": {"email": "jane@example.com"}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AccountTeamMembersInviteResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["accounts:write"]}]}, "get": {"summary": "List members of a single team", "tags": ["Account"], "operationId": "AccountTeamMembersList", "description": "<p>Teams have been replaced by groups. To make the transition to groups smoother, migrate your teams to groups. Members of the Account Owners team are automatically made super admin. You can change their access level by revoking super admin privileges, or by granting other roles and permissions.</p>", "deprecated": true, "parameters": [{"$ref": "#/components/parameters/account_id"}, {"$ref": "#/components/parameters/team_id"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AccountTeamMembersListResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["accounts:read"]}]}}, "/account/{account_id}/team/{team_id}/project/{project}": {"post": {"summary": "Associate team to a project", "tags": ["Account"], "operationId": "AccountTeamProjectAssociate", "description": "<p>Teams have been replaced by groups. To make the transition to groups smoother, migrate your teams to groups. Members of the Account Owners team are automatically made super admin. You can change their access level by revoking super admin privileges, or by granting other roles and permissions.</p>", "deprecated": true, "parameters": [{"$ref": "#/components/parameters/account_id"}, {"$ref": "#/components/parameters/team_id"}, {"$ref": "#/components/parameters/project"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/AccountTeamProjectAssociateRequestBody"}, "example": {"team_type": "operator"}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AccountTeamProjectAssociateResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["accounts:write", "projects:read"]}]}, "put": {"summary": "Update team-project association", "tags": ["Account"], "operationId": "AccountTeamProjectAssociationUpdate", "description": "<p>Teams have been replaced by groups. To make the transition to groups smoother, migrate your teams to groups. Members of the Account Owners team are automatically made super admin. You can change their access level by revoking super admin privileges, or by granting other roles and permissions.</p>", "deprecated": true, "parameters": [{"$ref": "#/components/parameters/account_id"}, {"$ref": "#/components/parameters/team_id"}, {"$ref": "#/components/parameters/project"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/AccountTeamProjectAssociationUpdateRequestBody"}, "example": {"team_type": "operator"}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AccountTeamProjectAssociationUpdateResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["accounts:write", "projects:read"]}]}, "delete": {"summary": "Disassociate team from a project", "tags": ["Account"], "operationId": "AccountTeamProjectDisassociate", "description": "<p>Teams have been replaced by groups. To make the transition to groups smoother, migrate your teams to groups. Members of the Account Owners team are automatically made super admin. You can change their access level by revoking super admin privileges, or by granting other roles and permissions.</p>", "deprecated": true, "parameters": [{"$ref": "#/components/parameters/account_id"}, {"$ref": "#/components/parameters/team_id"}, {"$ref": "#/components/parameters/project"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AccountTeamProjectDisassociateResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["accounts:write", "projects:read"]}]}}, "/account/{account_id}/team/{team_id}/projects": {"get": {"summary": "List projects associated to a team", "tags": ["Account"], "operationId": "AccountTeamProjectList", "description": "<p>Teams have been replaced by groups. To make the transition to groups smoother, migrate your teams to groups. Members of the Account Owners team are automatically made super admin. You can change their access level by revoking super admin privileges, or by granting other roles and permissions.</p>", "deprecated": true, "parameters": [{"$ref": "#/components/parameters/account_id"}, {"$ref": "#/components/parameters/team_id"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AccountTeamProjectListResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["accounts:read", "projects:read"]}]}}, "/account/{account_id}/user/{user_id}/projects": {"get": {"summary": "List projects associated with this account that user has access to", "tags": ["Account"], "operationId": "AccountUserProjectsList", "parameters": [{"$ref": "#/components/parameters/account_id"}, {"$ref": "#/components/parameters/user_id"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AccountUserProjectsListResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["accounts:read", "projects:read"]}]}}, "/account/{account_id}/user/{user_id}/teams": {"get": {"summary": "List all teams for user", "tags": ["Account"], "operationId": "AccountUserTeamsList", "description": "<p>Teams have been replaced by groups. To make the transition to groups smoother, migrate your teams to groups. Members of the Account Owners team are automatically made super admin. You can change their access level by revoking super admin privileges, or by granting other roles and permissions.</p>", "deprecated": true, "parameters": [{"$ref": "#/components/parameters/account_id"}, {"$ref": "#/components/parameters/user_id"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AccountUserTeamsListResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["accounts:read"]}]}}, "/account/{account_id}/users/search": {"post": {"summary": "List/search users who are members of any team on this account", "tags": ["Account"], "operationId": "AccountUsersSearch", "parameters": [{"$ref": "#/components/parameters/account_id"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/AccountUsersSearchRequestBody"}, "example": {"limit": 100, "order_by": ["user_email:desc"], "query": "john"}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AccountUsersSearchResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["accounts:read"]}]}}, "/organization/{organization_id}/application-users/{user_id}/access-tokens": {"post": {"summary": "Create an application token", "tags": ["Application_Users"], "operationId": "ApplicationUserAccessTokenCreate", "description": "<p>Creates a token for an application user.</p>", "parameters": [{"$ref": "#/components/parameters/organization_id"}, {"$ref": "#/components/parameters/user_id"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ApplicationUserAccessTokenCreateRequestBody"}, "example": {"description": "Integration client Alpha", "extend_when_used": false, "ip_allowlist": ["192.168.0.0/24", "2001:db8::/32"], "max_age_seconds": 86400, "scopes": ["user:read"]}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ApplicationUserAccessTokenCreateResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["accounts:write", "authentication:write"]}]}, "get": {"summary": "List application tokens", "tags": ["Application_Users"], "operationId": "ApplicationUserAccessTokensList", "description": "<p>Returns a list of tokens for an application user.</p>", "parameters": [{"$ref": "#/components/parameters/organization_id"}, {"$ref": "#/components/parameters/user_id"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ApplicationUserAccessTokensListResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["accounts:read", "authentication:read"]}]}}, "/organization/{organization_id}/application-users/{user_id}/access-tokens/{token_prefix}": {"delete": {"summary": "Delete an application token", "tags": ["Application_Users"], "operationId": "ApplicationUserAccessTokenDelete", "description": "<p>Deletes an application user's token.</p>", "parameters": [{"$ref": "#/components/parameters/organization_id"}, {"$ref": "#/components/parameters/user_id"}, {"$ref": "#/components/parameters/token_prefix"}], "responses": {"204": {"description": "Delete an application token", "content": {}}}, "security": [{"tokenAuth": [], "oauth2": ["accounts:write", "authentication:write"]}]}}, "/organization/{organization_id}/application-users": {"post": {"summary": "Create an application user", "tags": ["Application_Users"], "operationId": "ApplicationUserCreate", "description": "<p>Creates an application user in an organization.</p>", "parameters": [{"$ref": "#/components/parameters/organization_id"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ApplicationUserCreateRequestBody"}, "example": {"is_super_admin": true, "name": "devops app user"}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ApplicationUserCreateResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["accounts:write", "authentication:write"]}]}, "get": {"summary": "List application users", "tags": ["Application_Users"], "operationId": "ApplicationUsersList", "description": "<p>Returns a list of application users for an organization.</p>", "parameters": [{"$ref": "#/components/parameters/organization_id"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ApplicationUsersListResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["accounts:read", "authentication:read"]}]}}, "/organization/{organization_id}/application-users/{user_id}": {"delete": {"summary": "Delete an application user", "tags": ["Application_Users"], "operationId": "ApplicationUserDelete", "description": "<p>Deletes an application user.</p>", "parameters": [{"$ref": "#/components/parameters/organization_id"}, {"$ref": "#/components/parameters/user_id"}], "responses": {"204": {"description": "Delete an application user", "content": {}}}, "security": [{"tokenAuth": [], "oauth2": ["accounts:write", "authentication:write"]}]}, "get": {"summary": "Get an application user", "tags": ["Application_Users"], "operationId": "ApplicationUserGet", "description": "<p>Gets profile information for an application user.</p>", "parameters": [{"$ref": "#/components/parameters/organization_id"}, {"$ref": "#/components/parameters/user_id"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ApplicationUserGetResponse"}}}}, "404": {"description": "Resource not found", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["organization_not_found", "organization_user_not_found"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "organization_not_found: Organization not found.. organization_user_not_found: User not in organization"}}}}}}}}}, "403": {"description": "Operation not allowed", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["user_is_internal_user"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "user_is_internal_user: User is internal"}}}}}}}}}, "400": {"description": "Invalid request parameters", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["user_not_application_user"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "user_not_application_user: User is not an application user"}}}}}}}}}}, "security": [{"tokenAuth": [], "oauth2": ["accounts:read", "authentication:read"]}]}, "patch": {"summary": "Update details on an application user of the organization", "tags": ["Application_Users"], "operationId": "ApplicationUserUpdate", "description": "<p>Update details on an application user of the organization.</p>", "parameters": [{"$ref": "#/components/parameters/organization_id"}, {"$ref": "#/components/parameters/user_id"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ApplicationUserUpdateRequestBody"}, "example": {"is_super_admin": true, "name": "devops app user"}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ApplicationUserUpdateResponse"}}}}, "404": {"description": "Resource not found", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["organization_not_found", "organization_user_not_found"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "organization_not_found: Organization not found.. organization_user_not_found: User not in organization"}}}}}}}}}, "403": {"description": "Operation not allowed", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["user_is_internal_user"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "user_is_internal_user: User is internal"}}}}}}}}}, "400": {"description": "Invalid request parameters", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["user_not_application_user"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "user_not_application_user: User is not an application user"}}}}}}}}}}, "security": [{"tokenAuth": [], "oauth2": ["accounts:write"]}]}}, "/organization/{organization_id}/authentication-methods/{authentication_method_id}/domains": {"put": {"summary": "Link a domain to an organization's identity provider", "tags": ["Authentication_Methods"], "operationId": "OrganizationAuthDomainLink", "parameters": [{"$ref": "#/components/parameters/organization_id"}, {"$ref": "#/components/parameters/authentication_method_id"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/OrganizationAuthDomainLinkRequestBody"}, "example": {"domain_id": "domain-a9s7d6f98as7d6"}}}}, "responses": {"204": {"description": "Link a domain to an organization's identity provider", "content": {}}, "404": {"description": "Resource not found", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["organization_not_found"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "organization_not_found: Organization not found."}}}}}}}}}, "400": {"description": "Invalid request parameters", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["organization_mismatch"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "organization_mismatch: Resources must belong to the same organization."}}}}}}}}}, "403": {"description": "Operation not allowed", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["user_not_organization_admin"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "user_not_organization_admin: User is not organization administrator."}}}}}}}}}}, "security": [{"tokenAuth": [], "oauth2": ["accounts:write"]}]}, "get": {"summary": "List domains linked to an organization's identity provider", "tags": ["Authentication_Methods"], "operationId": "OrganizationAuthDomainList", "parameters": [{"$ref": "#/components/parameters/organization_id"}, {"$ref": "#/components/parameters/authentication_method_id"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/OrganizationAuthDomainListResponse"}}}}, "403": {"description": "Operation not allowed", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["user_not_organization_admin"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "user_not_organization_admin: User is not organization administrator."}}}}}}}}}}, "security": [{"tokenAuth": [], "oauth2": ["accounts:read"]}]}}, "/organization/{organization_id}/authentication-methods/{authentication_method_id}/domains/{domain_id}": {"delete": {"summary": "Unlink domain from authentication method", "tags": ["Authentication_Methods"], "operationId": "OrganizationAuthDomainUnlink", "parameters": [{"$ref": "#/components/parameters/organization_id"}, {"$ref": "#/components/parameters/authentication_method_id"}, {"$ref": "#/components/parameters/domain_id"}], "responses": {"204": {"description": "Unlink domain from authentication method", "content": {}}, "404": {"description": "Resource not found", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["organization_not_found"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "organization_not_found: Organization not found."}}}}}}}}}, "403": {"description": "Operation not allowed", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["user_not_organization_admin"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "user_not_organization_admin: User is not organization administrator."}}}}}}}}}}, "security": [{"tokenAuth": [], "oauth2": ["accounts:write"]}]}}, "/credit-memos/{credit_memo_id}/{download_cookie}": {"get": {"summary": "Download PDF Credit Memo", "tags": ["Billing"], "operationId": "BillingCreditMemoDownload", "x-badges": [{"name": "Experimental", "position": "after", "color": "#787885"}], "x-experimental": true, "description": "<p><blockquote>This endpoint <b>may be changed or removed at any time</b>. Don't use it in production environments.</blockquote><p>", "parameters": [{"$ref": "#/components/parameters/credit_memo_id"}, {"$ref": "#/components/parameters/download_cookie"}], "responses": {"200": {"description": "Returns a PDF report", "content": {"application/pdf": {"schema": {"type": "string", "format": "binary"}}}}, "403": {"description": "Invoice link expired", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["request_forbidden"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "request_forbidden: Not authorized to view the request"}}}}}}}}}, "404": {"description": "Invoice not found", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["invoice_not_found"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "invoice_not_found: Invoice not found"}}}}}}}}}}}}, "/billing-group": {"post": {"summary": "Create a billing group", "tags": ["BillingGroup"], "operationId": "BillingGroupCreate", "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/BillingGroupCreateRequestBody"}, "example": {"account_id": "a22ba494e096", "address_lines": ["Main Street 1"], "billing_address_id": "addr4b1ff1asdfasdf", "billing_contact_emails": [{"email": "jane@example.com"}], "billing_currency": "USD", "billing_emails": [{"email": "jane@example.com"}], "billing_extra_text": "Purchase order: PO100018", "billing_group_name": "my billing group", "card_id": "9330c086-8781-11e5-89ff-5404a64abfef", "city": "Helsinki", "company": "My Company", "copy_from_billing_group": "ffb3f0cd-5532-4eb9-8867-f2cac5823492", "country_code": "FI", "shipping_address_id": "addr4b1ff1asdfasdf", "state": "", "vat_id": "FI27957435", "zip_code": "01234"}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/BillingGroupCreateResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["billing:write"]}]}, "get": {"summary": "List billing groups", "tags": ["BillingGroup"], "operationId": "BillingGroupList", "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/BillingGroupListResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["billing:read"]}]}}, "/billing-group/{billing_group_id}/credits": {"post": {"summary": "Claim a credit code", "tags": ["BillingGroup"], "operationId": "BillingGroupCreditsClaim", "parameters": [{"$ref": "#/components/parameters/billing_group_id"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/BillingGroupCreditsClaimRequestBody"}, "example": {"code": "AVN2015"}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/BillingGroupCreditsClaimResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["billing:write"]}]}, "get": {"summary": "List billing group credits", "tags": ["BillingGroup"], "operationId": "BillingGroupCreditsList", "parameters": [{"$ref": "#/components/parameters/billing_group_id"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/BillingGroupCreditsListResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["billing:read"]}]}}, "/billing-group/{billing_group_id}": {"delete": {"summary": "Delete billing group", "tags": ["BillingGroup"], "operationId": "BillingGroupDelete", "parameters": [{"$ref": "#/components/parameters/billing_group_id"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/BillingGroupDeleteResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["billing:write"]}]}, "get": {"summary": "Get billing group details", "tags": ["BillingGroup"], "operationId": "BillingGroupGet", "parameters": [{"$ref": "#/components/parameters/billing_group_id"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/BillingGroupGetResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["billing:read"]}]}, "put": {"summary": "Update billing group", "tags": ["BillingGroup"], "operationId": "BillingGroupUpdate", "parameters": [{"$ref": "#/components/parameters/billing_group_id"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/BillingGroupUpdateRequestBody"}, "example": {"account_id": "a22ba494e096", "address_lines": ["Main Street 1"], "billing_address_id": "addr4b1ff1asdfasdf", "billing_contact_emails": [{"email": "jane@example.com"}], "billing_currency": "USD", "billing_emails": [{"email": "jane@example.com"}], "billing_extra_text": "Purchase order: PO100018", "billing_group_name": "my billing group", "card_id": "9330c086-8781-11e5-89ff-5404a64abfef", "city": "Helsinki", "company": "My Company", "country_code": "FI", "shipping_address_id": "addr4b1ff1asdfasdf", "state": "", "vat_id": "FI27957435", "zip_code": "01234"}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/BillingGroupUpdateResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["billing:write"]}]}}, "/billing-group/{billing_group_id}/events": {"get": {"summary": "List billing group events", "tags": ["BillingGroup"], "operationId": "BillingGroupEventList", "parameters": [{"$ref": "#/components/parameters/billing_group_id"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/BillingGroupEventListResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["billing:read"]}]}}, "/billing-group/{billing_group_id}/invoice/{invoice_number}/csv": {"get": {"summary": "Get a single invoice as a CSV of invoice lines", "tags": ["BillingGroup"], "operationId": "BillingGroupInvoiceCsvGet", "parameters": [{"$ref": "#/components/parameters/billing_group_id"}, {"$ref": "#/components/parameters/invoice_number"}, {"$ref": "#/components/parameters/billinggroupinvoicecsvget_cookie"}, {"$ref": "#/components/parameters/billinggroupinvoicecsvget_project"}], "responses": {"200": {"description": "Returns a CSV report", "content": {"text/csv": {"schema": {"type": "string", "format": "binary"}}}}}}}, "/billing-group/{billing_group_id}/invoice/{invoice_number}/{download_cookie}": {"get": {"summary": "Download PDF invoice", "tags": ["BillingGroup"], "operationId": "BillingGroupInvoiceDownload", "parameters": [{"$ref": "#/components/parameters/billing_group_id"}, {"$ref": "#/components/parameters/invoice_number"}, {"$ref": "#/components/parameters/download_cookie"}], "responses": {"200": {"description": "Returns a PDF report", "content": {"application/pdf": {"schema": {"type": "string", "format": "binary"}}}}}}}, "/billing-group/{billing_group_id}/invoice/{invoice_number}": {"get": {"summary": "Get a single invoice", "tags": ["BillingGroup"], "operationId": "BillingGroupInvoiceGet", "deprecated": true, "description": "<p>Use GET /invoices/{invoice_number}</p>", "parameters": [{"$ref": "#/components/parameters/billing_group_id"}, {"$ref": "#/components/parameters/invoice_number"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/BillingGroupInvoiceGetResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["billing:read"]}]}}, "/billing-group/{billing_group_id}/invoice/{invoice_number}/lines": {"get": {"summary": "Get invoice lines for a single invoice", "tags": ["BillingGroup"], "operationId": "BillingGroupInvoiceLinesList", "parameters": [{"$ref": "#/components/parameters/billing_group_id"}, {"$ref": "#/components/parameters/invoice_number"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/BillingGroupInvoiceLinesListResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["billing:read"]}]}}, "/billing-group/{billing_group_id}/invoice": {"get": {"summary": "Get invoices generated for billing group", "tags": ["BillingGroup"], "operationId": "BillingGroupInvoiceList", "parameters": [{"$ref": "#/components/parameters/billing_group_id"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/BillingGroupInvoiceListResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["billing:read"]}]}}, "/billing-group/{billing_group_id}/project-assign/{project}": {"post": {"summary": "Assign project to billing group", "tags": ["BillingGroup"], "operationId": "BillingGroupProjectAssign", "parameters": [{"$ref": "#/components/parameters/billing_group_id"}, {"$ref": "#/components/parameters/project"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/BillingGroupProjectAssignResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["billing:write"]}]}}, "/billing-group/{billing_group_id}/projects": {"get": {"summary": "Get projects assigned to billing group", "tags": ["BillingGroup"], "operationId": "BillingGroupProjectList", "parameters": [{"$ref": "#/components/parameters/billing_group_id"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/BillingGroupProjectListResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["billing:read"]}]}}, "/billing-group/{billing_group_id}/projects-assign": {"post": {"summary": "Assign projects to billing group", "tags": ["BillingGroup"], "operationId": "BillingGroupProjectsAssign", "parameters": [{"$ref": "#/components/parameters/billing_group_id"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/BillingGroupProjectsAssignRequestBody"}, "example": {"projects_names": ["myproject"]}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/BillingGroupProjectsAssignResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["billing:write"]}]}}, "/invoices/{invoice_number}": {"get": {"summary": "Get a single invoice", "tags": ["Billing"], "operationId": "InvoiceGet", "parameters": [{"$ref": "#/components/parameters/invoice_number"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/InvoiceGetResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["billing:read"]}]}}, "/organizations/{organization_id}/addresses": {"post": {"summary": "Create new address for an organization", "tags": ["Billing"], "operationId": "OrganizationAddressCreate", "x-badges": [{"name": "Experimental", "position": "after", "color": "#787885"}], "x-experimental": true, "description": "<p><blockquote>This endpoint <b>may be changed or removed at any time</b>. Don't use it in production environments.</blockquote><p>", "parameters": [{"$ref": "#/components/parameters/organization_id"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/OrganizationAddressCreateRequestBody"}, "example": {"address_lines": ["Street 1", "Street 2"], "city": "Helsinki", "country_code": "FI", "name": "Aiven Oy", "state": "", "zip_code": "01234"}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/OrganizationAddressCreateResponse"}}}}, "404": {"description": "Resource not found", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["organization_not_found"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "organization_not_found: Organization not found."}}}}}}}}}, "403": {"description": "Operation not allowed", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["user_not_organization_admin"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "user_not_organization_admin: User is not organization administrator."}}}}}}}}}}, "security": [{"tokenAuth": [], "oauth2": ["accounts:write", "billing:write"]}]}, "get": {"summary": "List addresses of an organization", "tags": ["Billing"], "operationId": "OrganizationAddressList", "x-badges": [{"name": "Experimental", "position": "after", "color": "#787885"}], "x-experimental": true, "description": "<p><blockquote>This endpoint <b>may be changed or removed at any time</b>. Don't use it in production environments.</blockquote><p>", "parameters": [{"$ref": "#/components/parameters/organization_id"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/OrganizationAddressListResponse"}}}}, "404": {"description": "Resource not found", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["organization_not_found"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "organization_not_found: Organization not found."}}}}}}}}}}, "security": [{"tokenAuth": [], "oauth2": ["accounts:read", "billing:read"]}]}}, "/organizations/{organization_id}/addresses/{address_id}": {"delete": {"summary": "Delete an address of an organization", "tags": ["Billing"], "operationId": "OrganizationAddressDelete", "x-badges": [{"name": "Experimental", "position": "after", "color": "#787885"}], "x-experimental": true, "description": "<p><blockquote>This endpoint <b>may be changed or removed at any time</b>. Don't use it in production environments.</blockquote><p>", "parameters": [{"$ref": "#/components/parameters/organization_id"}, {"$ref": "#/components/parameters/address_id"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/OrganizationAddressDeleteResponse"}}}}, "403": {"description": "Operation not allowed", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["user_not_organization_admin"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "user_not_organization_admin: User is not organization administrator."}}}}}}}}}, "404": {"description": "Resource not found", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["organization_not_found"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "organization_not_found: Organization not found."}}}}}}}}}}, "security": [{"tokenAuth": [], "oauth2": ["accounts:write", "billing:write"]}]}, "get": {"summary": "Get organization address info", "tags": ["Billing"], "operationId": "OrganizationAddressGet", "x-badges": [{"name": "Experimental", "position": "after", "color": "#787885"}], "x-experimental": true, "description": "<p><blockquote>This endpoint <b>may be changed or removed at any time</b>. Don't use it in production environments.</blockquote><p>", "parameters": [{"$ref": "#/components/parameters/organization_id"}, {"$ref": "#/components/parameters/address_id"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/OrganizationAddressGetResponse"}}}}, "404": {"description": "Resource not found", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["organization_not_found"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "organization_not_found: Organization not found."}}}}}}}}}}, "security": [{"tokenAuth": [], "oauth2": ["accounts:read", "billing:read"]}]}, "patch": {"summary": "Update an address of an organization", "tags": ["Billing"], "operationId": "OrganizationAddressUpdate", "x-badges": [{"name": "Experimental", "position": "after", "color": "#787885"}], "x-experimental": true, "description": "<p><blockquote>This endpoint <b>may be changed or removed at any time</b>. Don't use it in production environments.</blockquote><p>", "parameters": [{"$ref": "#/components/parameters/organization_id"}, {"$ref": "#/components/parameters/address_id"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/OrganizationAddressUpdateRequestBody"}, "example": {"address_lines": ["Main Street 1"], "city": "Helsinki", "country_code": "FI", "name": "Aiven Oy", "state": "", "zip_code": "01234"}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/OrganizationAddressUpdateResponse"}}}}, "403": {"description": "Operation not allowed", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["user_not_organization_admin"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "user_not_organization_admin: User is not organization administrator."}}}}}}}}}, "404": {"description": "Resource not found", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["organization_not_found"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "organization_not_found: Organization not found."}}}}}}}}}}, "security": [{"tokenAuth": [], "oauth2": ["accounts:write", "billing:write"]}]}}, "/clouds": {"get": {"summary": "List cloud platforms", "tags": ["Cloud_platforms"], "operationId": "ListClouds", "description": "<p>Returns a list of available cloud platforms.</p>", "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ListCloudsResponse"}}}}}}}, "/project/{project}/clouds": {"get": {"summary": "List cloud platforms for a project", "tags": ["Cloud_platforms"], "operationId": "ListProjectClouds", "description": "<p>Returns a list of cloud platforms available for a project.</p>", "parameters": [{"$ref": "#/components/parameters/project"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ListProjectCloudsResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["projects:read"]}]}}, "/tenants/{tenant}/privatelink-availability": {"get": {"summary": "List privatelink clouds and prices", "tags": ["Cloud_platforms"], "operationId": "PublicPrivatelinkAvailabilityList", "description": "<p>Returns a list of cloud platforms supporting privatelink along with privatelink costs for specific cloud platforms.</p>", "parameters": [{"$ref": "#/components/parameters/tenant"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/PublicPrivatelinkAvailabilityListResponse"}}}}}}}, "/tenants/{tenant}/static-ip-availability": {"get": {"summary": "List static IP clouds and prices", "tags": ["Cloud_platforms"], "operationId": "PublicStaticIPAvailabilityList", "description": "<p>Returns a list of cloud platforms supporting static IP addresses along with static IP addresses costs for specific cloud platforms.</p>", "parameters": [{"$ref": "#/components/parameters/tenant"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/PublicStaticIPAvailabilityListResponse"}}}}}}}, "/organization/{organization_id}/custom-cloud-environments": {"post": {"summary": "Create a custom cloud", "tags": ["Custom_Cloud"], "operationId": "CustomCloudEnvironmentCreate", "description": "<p><blockquote>This endpoint <b>may be changed or removed at any time</b>. Don't use it in production environments.</blockquote><p>\n\n<p>Creates a custom cloud environment in an organization.</p>", "x-badges": [{"name": "Experimental", "position": "after", "color": "#787885"}], "x-experimental": true, "parameters": [{"$ref": "#/components/parameters/organization_id"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/CustomCloudEnvironmentCreateRequestBody"}, "example": {"cloud_provider": "aws", "cloud_region": "eu-west-1", "contact_emails": [{"email": "jane@example.com", "real_name": "Jane Smith", "role": "admin"}], "deployment_model": "standard", "display_name": "byoc-cloud-prod-eu-west-1", "reserved_cidr": "192.168.6.0/24", "tags": {}}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CustomCloudEnvironmentCreateResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["accounts:write"]}]}}, "/organization/{organization_id}/custom-cloud-environments/{custom_cloud_environment_id}": {"delete": {"summary": "Delete a custom cloud", "tags": ["Custom_Cloud"], "operationId": "CustomCloudEnvironmentDelete", "description": "<p><blockquote>This endpoint <b>may be changed or removed at any time</b>. Don't use it in production environments.</blockquote><p>\n\n<p>Deletes a custom cloud environment from an organization.</p>", "x-badges": [{"name": "Experimental", "position": "after", "color": "#787885"}], "x-experimental": true, "parameters": [{"$ref": "#/components/parameters/organization_id"}, {"$ref": "#/components/parameters/custom_cloud_environment_id"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CustomCloudEnvironmentDeleteResponse"}}}}, "403": {"description": "Operation not allowed", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["request_forbidden"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "request_forbidden: Not authorized to view the request"}}}}}}}}}, "404": {"description": "Resource not found", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["custom_cloud_environment_not_found"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "custom_cloud_environment_not_found: Custom cloud environment not found"}}}}}}}}}}, "security": [{"tokenAuth": [], "oauth2": ["accounts:write"]}]}, "get": {"summary": "Retrieve a custom cloud", "tags": ["Custom_Cloud"], "operationId": "CustomCloudEnvironmentGet", "description": "<p><blockquote>This endpoint <b>may be changed or removed at any time</b>. Don't use it in production environments.</blockquote><p>\n\n<p>Retrieves the details of a custom cloud environment.</p>", "x-badges": [{"name": "Experimental", "position": "after", "color": "#787885"}], "x-experimental": true, "parameters": [{"$ref": "#/components/parameters/organization_id"}, {"$ref": "#/components/parameters/custom_cloud_environment_id"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CustomCloudEnvironmentGetResponse"}}}}, "404": {"description": "Resource not found", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["custom_cloud_environment_not_found"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "custom_cloud_environment_not_found: Custom cloud environment not found"}}}}}}}}}}, "security": [{"tokenAuth": [], "oauth2": ["accounts:read"]}]}, "put": {"summary": "Update a custom cloud", "tags": ["Custom_Cloud"], "operationId": "CustomCloudEnvironmentUpdate", "description": "<p><blockquote>This endpoint <b>may be changed or removed at any time</b>. Don't use it in production environments.</blockquote><p>\n\n<p>Updates a custom cloud environment.</p>", "x-badges": [{"name": "Experimental", "position": "after", "color": "#787885"}], "x-experimental": true, "parameters": [{"$ref": "#/components/parameters/organization_id"}, {"$ref": "#/components/parameters/custom_cloud_environment_id"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/CustomCloudEnvironmentUpdateRequestBody"}, "example": {"aws_iam_role_arn": "arn:aws:iam::012345678901:root", "cloud_provider": "aws", "cloud_region": "eu-west-1", "contact_emails": [{"email": "jane@example.com", "real_name": "Jane Smith", "role": "admin"}], "deployment_model": "standard", "display_name": "byoc-cloud-prod-eu-west-1", "google_privilege_bearing_service_account_id": "projects/your-project/serviceAccounts/infrastructure@your-project.iam.gserviceaccount.com", "oracle_compartment_id": "ocid1.tenancy.oc1..aaaaaaaaba3pv6wkcr4jqae5f44n2b2m2yt2j6rx32uzr4h25vqstifsfdsq", "reserved_cidr": "192.168.6.0/24", "tags": {}}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CustomCloudEnvironmentUpdateResponse"}}}}, "403": {"description": "Operation not allowed", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["request_forbidden"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "request_forbidden: Not authorized to view the request"}}}}}}}}}, "404": {"description": "Resource not found", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["custom_cloud_environment_not_found"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "custom_cloud_environment_not_found: Custom cloud environment not found"}}}}}}}}}}, "security": [{"tokenAuth": [], "oauth2": ["accounts:write"]}]}}, "/organization/{organization_id}/custom-cloud-environments/{custom_cloud_environment_id}/permissions": {"get": {"summary": "Retrieve custom cloud permissions", "tags": ["Custom_Cloud"], "operationId": "CustomCloudEnvironmentPermissionsGet", "description": "<p><blockquote>This endpoint <b>may be changed or removed at any time</b>. Don't use it in production environments.</blockquote><p>\n\n<p>Retrieves details of the permissions for using a custom cloud environment.</p>", "x-badges": [{"name": "Experimental", "position": "after", "color": "#787885"}], "x-experimental": true, "parameters": [{"$ref": "#/components/parameters/organization_id"}, {"$ref": "#/components/parameters/custom_cloud_environment_id"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CustomCloudEnvironmentPermissionsGetResponse"}}}}, "404": {"description": "Resource not found", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["custom_cloud_environment_not_found"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "custom_cloud_environment_not_found: Custom cloud environment not found"}}}}}}}}}}, "security": [{"tokenAuth": [], "oauth2": ["accounts:read"]}]}, "put": {"summary": "Update custom cloud permissions", "tags": ["Custom_Cloud"], "operationId": "CustomCloudEnvironmentPermissionsSet", "description": "<p><blockquote>This endpoint <b>may be changed or removed at any time</b>. Don't use it in production environments.</blockquote><p>\n\n<p>Updates the permissions to use a custom cloud environment.</p>", "x-badges": [{"name": "Experimental", "position": "after", "color": "#787885"}], "x-experimental": true, "parameters": [{"$ref": "#/components/parameters/organization_id"}, {"$ref": "#/components/parameters/custom_cloud_environment_id"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/CustomCloudEnvironmentPermissionsSetRequestBody"}, "example": {"accounts": ["a22ba494e096", "a441b467e067"], "projects": ["project-prod", "project-dev"]}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CustomCloudEnvironmentPermissionsSetResponse"}}}}, "403": {"description": "Operation not allowed", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["request_forbidden"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "request_forbidden: Not authorized to view the request"}}}}}}}}}, "404": {"description": "Resource not found", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["custom_cloud_environment_not_found"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "custom_cloud_environment_not_found: Custom cloud environment not found"}}}}}}}}}}, "security": [{"tokenAuth": [], "oauth2": ["accounts:write"]}]}}, "/organization/{organization_id}/custom-cloud-environments/{custom_cloud_environment_id}/provision": {"post": {"summary": "Provision custom cloud resources in Aiven", "tags": ["Custom_Cloud"], "operationId": "CustomCloudEnvironmentProvision", "description": "<p><blockquote>This endpoint <b>may be changed or removed at any time</b>. Don't use it in production environments.</blockquote><p>\n\n<p>Call this endpoint after running the Terraform infrastructure template in your cloud provider account. This validates the creation of the custom cloud environment and provisions the resources required for building the environment.</p>", "x-badges": [{"name": "Experimental", "position": "after", "color": "#787885"}], "x-experimental": true, "parameters": [{"$ref": "#/components/parameters/organization_id"}, {"$ref": "#/components/parameters/custom_cloud_environment_id"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/CustomCloudEnvironmentProvisionRequestBody"}, "example": {"aws_iam_role_arn": "arn:aws:iam::012345678901:root", "google_privilege_bearing_service_account_id": "projects/your-project/serviceAccounts/infrastructure@your-project.iam.gserviceaccount.com", "oracle_compartment_id": "ocid1.tenancy.oc1..aaaaaaaaba3pv6wkcr4jqae5f44n2b2m2yt2j6rx32uzr4h25vqstifsfdsq"}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CustomCloudEnvironmentProvisionResponse"}}}}, "400": {"description": "Invalid request parameters", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["custom_cloud_environment_cloud_not_supported"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "custom_cloud_environment_cloud_not_supported: Provisioning a custom cloud in this cloud is not supported."}}}}}}}}}, "403": {"description": "Operation not allowed", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["request_forbidden"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "request_forbidden: Not authorized to view the request"}}}}}}}}}, "404": {"description": "Resource not found", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["custom_cloud_environment_not_found"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "custom_cloud_environment_not_found: Custom cloud environment not found"}}}}}}}}}}, "security": [{"tokenAuth": [], "oauth2": ["accounts:write"]}]}}, "/organization/{organization_id}/domains": {"post": {"summary": "Create a domain", "tags": ["Domains"], "operationId": "OrganizationDomainAdd", "description": "<p>Creates a new domain in an organization.</p>", "parameters": [{"$ref": "#/components/parameters/organization_id"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/OrganizationDomainAddRequestBody"}, "example": {"domain_name": "example.com", "verification_type": "dns"}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/OrganizationDomainAddResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["accounts:write"]}]}, "get": {"summary": "List domains", "tags": ["Domains"], "operationId": "OrganizationDomainsList", "description": "<p>Returns a list of all verified domains in an organization.</p>", "parameters": [{"$ref": "#/components/parameters/organization_id"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/OrganizationDomainsListResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["accounts:read"]}]}}, "/organization/{organization_id}/domains/{domain_id}": {"patch": {"summary": "Update a domain", "tags": ["Domains"], "operationId": "OrganizationDomainUpdate", "description": "<p>Updates a domain in an organization.</p>", "parameters": [{"$ref": "#/components/parameters/organization_id"}, {"$ref": "#/components/parameters/domain_id"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/OrganizationDomainUpdateRequestBody"}, "example": {"verification_type": "dns"}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/OrganizationDomainUpdateResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["accounts:write"]}]}, "delete": {"summary": "Delete a domain", "tags": ["Domains"], "operationId": "OrganizationDomainsRemove", "description": "<p>Deletes a domain from an organization.</p>", "parameters": [{"$ref": "#/components/parameters/organization_id"}, {"$ref": "#/components/parameters/domain_id"}], "responses": {"204": {"description": "Delete a domain", "content": {}}}, "security": [{"tokenAuth": [], "oauth2": ["accounts:write"]}]}}, "/organization/{organization_id}/domains/{domain_id}/verify": {"post": {"summary": "Verify a domain", "tags": ["Domains"], "operationId": "OrganizationDomainVerify", "description": "<p>Verifies a domain in an organization. If a user signs up to the Aiven platform with a verified domain, they are automatically added as managed users to the organization that has this domain verified.</p>", "parameters": [{"$ref": "#/components/parameters/organization_id"}, {"$ref": "#/components/parameters/domain_id"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/OrganizationDomainVerifyResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["accounts:write"]}]}}, "/organization/{organization_id}/user-groups": {"post": {"summary": "Create a group", "tags": ["Groups"], "operationId": "UserGroupCreate", "description": "<p>Create a new user group in an organization</p>", "parameters": [{"$ref": "#/components/parameters/organization_id"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/UserGroupCreateRequestBody"}, "example": {"description": "The group of admins for the organization", "user_group_name": "Admin Users"}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/UserGroupCreateResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["accounts:write"]}]}, "get": {"summary": "List groups", "tags": ["Groups"], "operationId": "UserGroupsList", "description": "<p>List all user groups within an organization</p>", "parameters": [{"$ref": "#/components/parameters/organization_id"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/UserGroupsListResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["accounts:read"]}]}}, "/organization/{organization_id}/user-groups/{user_group_id}": {"delete": {"summary": "Delete a group", "tags": ["Groups"], "operationId": "UserGroupDelete", "description": "<p>Delete a user group from an organization</p>", "parameters": [{"$ref": "#/components/parameters/organization_id"}, {"$ref": "#/components/parameters/user_group_id"}], "responses": {"204": {"description": "Delete a group", "content": {}}, "409": {"description": "Request conflict", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["resource_managed_by_scim"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "resource_managed_by_scim: Cannot perform operation on SCIM managed resource"}}}}}}}}}}, "security": [{"tokenAuth": [], "oauth2": ["accounts:write"]}]}, "get": {"summary": "Retrieve a group", "tags": ["Groups"], "operationId": "UserGroupGet", "description": "<p>Retrieve the details of a user group</p>", "parameters": [{"$ref": "#/components/parameters/organization_id"}, {"$ref": "#/components/parameters/user_group_id"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/UserGroupGetResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["accounts:read"]}]}, "patch": {"summary": "Update a group", "tags": ["Groups"], "operationId": "UserGroupUpdate", "description": "<p>Update details of a user group</p>", "parameters": [{"$ref": "#/components/parameters/organization_id"}, {"$ref": "#/components/parameters/user_group_id"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/UserGroupUpdateRequestBody"}, "example": {"description": "The group of admins for the organization", "user_group_name": "Admin Users"}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/UserGroupUpdateResponse"}}}}, "409": {"description": "Request conflict", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["resource_managed_by_scim"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "resource_managed_by_scim: Cannot perform operation on SCIM managed resource"}}}}}}}}}}, "security": [{"tokenAuth": [], "oauth2": ["accounts:write"]}]}}, "/organization/{organization_id}/user-groups/{user_group_id}/members": {"get": {"summary": "List group members", "tags": ["Groups"], "operationId": "UserGroupMemberList", "description": "<p>List members of a user group</p>", "parameters": [{"$ref": "#/components/parameters/organization_id"}, {"$ref": "#/components/parameters/user_group_id"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/UserGroupMemberListResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["accounts:read"]}]}, "patch": {"summary": "Add or remove group members", "tags": ["Groups"], "operationId": "UserGroupMembersUpdate", "description": "<p>Add or remove members of a user group</p>", "parameters": [{"$ref": "#/components/parameters/organization_id"}, {"$ref": "#/components/parameters/user_group_id"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/UserGroupMembersUpdateRequestBody"}, "example": {"member_ids": ["uas3l323kj"], "operation": "add_members"}}}}, "responses": {"204": {"description": "Add or remove group members", "content": {}}, "409": {"description": "Request conflict", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["resource_managed_by_scim"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "resource_managed_by_scim: Cannot perform operation on SCIM managed resource"}}}}}}}}}}, "security": [{"tokenAuth": [], "oauth2": ["accounts:write"]}]}}, "/organization/{organization_id}/credit-memos/{credit_memo_id}": {"get": {"summary": "Get a specific credit memo by ID", "tags": ["OrganizationBillingGroup"], "operationId": "OrganizationBillingCreditMemoGet", "x-badges": [{"name": "Experimental", "position": "after", "color": "#787885"}], "x-experimental": true, "description": "<p><blockquote>This endpoint <b>may be changed or removed at any time</b>. Don't use it in production environments.</blockquote><p>", "parameters": [{"$ref": "#/components/parameters/organization_id"}, {"$ref": "#/components/parameters/credit_memo_id"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/OrganizationBillingCreditMemoGetResponse"}}}}, "404": {"description": "Resource not found", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["organization_not_found"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "organization_not_found: Organization not found."}}}}}}}}}}, "security": [{"tokenAuth": [], "oauth2": ["billing:read"]}]}}, "/organization/{organization_id}/credit-memos/{credit_memo_id}/pdf": {"get": {"summary": "Get a PDF Credit Memo", "tags": ["OrganizationBillingGroup"], "operationId": "OrganizationBillingCreditMemoPdfGet", "x-badges": [{"name": "Experimental", "position": "after", "color": "#787885"}], "x-experimental": true, "description": "<p><blockquote>This endpoint <b>may be changed or removed at any time</b>. Don't use it in production environments.</blockquote><p>", "parameters": [{"$ref": "#/components/parameters/organization_id"}, {"$ref": "#/components/parameters/credit_memo_id"}], "responses": {"200": {"description": "Returns a PDF report", "content": {"application/pdf": {"schema": {"type": "string", "format": "binary"}}}}, "404": {"description": "Resource not found", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["organization_not_found"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "organization_not_found: Organization not found."}}}}}}}}}}, "security": [{"tokenAuth": [], "oauth2": ["billing:read"]}]}}, "/organization/{organization_id}/credit-memos": {"get": {"summary": "Get credit memos for an organization", "tags": ["OrganizationBillingGroup"], "operationId": "OrganizationBillingCreditMemosList", "x-badges": [{"name": "Experimental", "position": "after", "color": "#787885"}], "x-experimental": true, "description": "<p><blockquote>This endpoint <b>may be changed or removed at any time</b>. Don't use it in production environments.</blockquote><p>", "parameters": [{"$ref": "#/components/parameters/organization_id"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/OrganizationBillingCreditMemosListResponse"}}}}, "404": {"description": "Resource not found", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["organization_not_found"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "organization_not_found: Organization not found."}}}}}}}}}}, "security": [{"tokenAuth": [], "oauth2": ["billing:read"]}]}}, "/organization/{organization_id}/billing-groups": {"post": {"summary": "Create an organization billing group", "tags": ["OrganizationBillingGroup"], "operationId": "OrganizationBillingGroupCreate", "x-badges": [{"name": "Experimental", "position": "after", "color": "#787885"}], "x-experimental": true, "description": "<p><blockquote>This endpoint <b>may be changed or removed at any time</b>. Don't use it in production environments.</blockquote><p>", "parameters": [{"$ref": "#/components/parameters/organization_id"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/OrganizationBillingGroupCreateRequestBody"}, "example": {"billing_address_id": "addr4b1ff1ceeaa", "billing_contact_emails": [{"email": "jane@example.com"}], "billing_emails": [{"email": "jane@example.com"}], "billing_group_name": "Default billing group for the organization", "custom_invoice_text": "Extra billing text", "payment_method": {"payment_method_id": "pm4b1ff1ceeaa", "payment_method_type": "credit_card"}, "shipping_address_id": "addr4b1ff1ceeaa", "vat_id": "FI12345678"}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/OrganizationBillingGroupCreateResponse"}}}}, "404": {"description": "Resource not found", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["organization_not_found"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "organization_not_found: Organization not found."}}}}}}}}}, "400": {"description": "Invalid request parameters", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["invalid_email_format"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "invalid_email_format: Invalid email format"}}}}}}}}}}, "security": [{"tokenAuth": [], "oauth2": ["billing:write"]}]}, "get": {"summary": "List billing groups in an organization", "tags": ["OrganizationBillingGroup"], "operationId": "OrganizationBillingGroupList", "x-badges": [{"name": "Experimental", "position": "after", "color": "#787885"}], "x-experimental": true, "description": "<p><blockquote>This endpoint <b>may be changed or removed at any time</b>. Don't use it in production environments.</blockquote><p>", "parameters": [{"$ref": "#/components/parameters/organization_id"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/OrganizationBillingGroupListResponse"}}}}, "404": {"description": "Resource not found", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["organization_not_found"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "organization_not_found: Organization not found."}}}}}}}}}}, "security": [{"tokenAuth": [], "oauth2": ["billing:read"]}]}}, "/organization/{organization_id}/billing-groups/{billing_group_id}": {"delete": {"summary": "Delete an organization billing group", "tags": ["OrganizationBillingGroup"], "operationId": "OrganizationBillingGroupDelete", "x-badges": [{"name": "Experimental", "position": "after", "color": "#787885"}], "x-experimental": true, "description": "<p><blockquote>This endpoint <b>may be changed or removed at any time</b>. Don't use it in production environments.</blockquote><p>", "parameters": [{"$ref": "#/components/parameters/organization_id"}, {"$ref": "#/components/parameters/billing_group_id"}], "responses": {"204": {"description": "Delete an organization billing group", "content": {}}, "404": {"description": "Resource not found", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["billing_group_not_found"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "billing_group_not_found: Billing group not found"}}}}}}}}}}, "security": [{"tokenAuth": [], "oauth2": ["billing:read"]}]}, "get": {"summary": "Get organization billing group details", "tags": ["OrganizationBillingGroup"], "operationId": "OrganizationBillingGroupGet", "x-badges": [{"name": "Experimental", "position": "after", "color": "#787885"}], "x-experimental": true, "description": "<p><blockquote>This endpoint <b>may be changed or removed at any time</b>. Don't use it in production environments.</blockquote><p>", "parameters": [{"$ref": "#/components/parameters/organization_id"}, {"$ref": "#/components/parameters/billing_group_id"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/OrganizationBillingGroupGetResponse"}}}}, "404": {"description": "Resource not found", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["billing_group_not_found"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "billing_group_not_found: Billing group not found"}}}}}}}}}}, "security": [{"tokenAuth": [], "oauth2": ["billing:read"]}]}, "put": {"summary": "Update organization billing group details", "tags": ["OrganizationBillingGroup"], "operationId": "OrganizationBillingGroupUpdate", "x-badges": [{"name": "Experimental", "position": "after", "color": "#787885"}], "x-experimental": true, "description": "<p><blockquote>This endpoint <b>may be changed or removed at any time</b>. Don't use it in production environments.</blockquote><p>", "parameters": [{"$ref": "#/components/parameters/organization_id"}, {"$ref": "#/components/parameters/billing_group_id"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/OrganizationBillingGroupUpdateRequestBody"}, "example": {"billing_address_id": "addr4b1ff1ceeaa", "billing_contact_emails": [{"email": "jane@example.com"}], "billing_emails": [{"email": "jane@example.com"}], "billing_group_name": "Default billing group for the organization", "custom_invoice_text": "Extra billing text", "payment_method": {"payment_method_id": "pm4b1ff1ceeaa", "payment_method_type": "credit_card"}, "shipping_address_id": "addr4b1ff1ceeaa", "vat_id": "FI12345678"}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/OrganizationBillingGroupUpdateResponse"}}}}, "404": {"description": "Resource not found", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["billing_group_not_found"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "billing_group_not_found: Billing group not found"}}}}}}}}}}, "security": [{"tokenAuth": [], "oauth2": ["billing:write"]}]}}, "/organization/{organization_id}/invoices/{invoice_number}/csv": {"get": {"summary": "Get a single invoice as a CSV of invoice lines", "tags": ["OrganizationBillingGroup"], "operationId": "OrganizationBillingInvoiceCsvGet", "x-badges": [{"name": "Experimental", "position": "after", "color": "#787885"}], "x-experimental": true, "description": "<p><blockquote>This endpoint <b>may be changed or removed at any time</b>. Don't use it in production environments.</blockquote><p>", "parameters": [{"$ref": "#/components/parameters/organization_id"}, {"$ref": "#/components/parameters/invoice_number"}], "responses": {"200": {"description": "Returns a CSV report", "content": {"text/csv": {"schema": {"type": "string", "format": "binary"}}}}, "404": {"description": "Resource not found", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["invoice_not_found"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "invoice_not_found: Invoice not found"}}}}}}}}}, "501": {"description": "Server does not support this operation", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["invoice_lines_not_supported"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "invoice_lines_not_supported: Invoice lines not supported for this specific invoice. Please contact Aiven support for assistance."}}}}}}}}}}, "security": [{"tokenAuth": [], "oauth2": ["billing:read"]}]}}, "/organization/{organization_id}/invoices/{invoice_number}": {"get": {"summary": "Get a single invoice", "tags": ["OrganizationBillingGroup"], "operationId": "OrganizationBillingInvoiceGet", "x-badges": [{"name": "Experimental", "position": "after", "color": "#787885"}], "x-experimental": true, "description": "<p><blockquote>This endpoint <b>may be changed or removed at any time</b>. Don't use it in production environments.</blockquote><p>", "parameters": [{"$ref": "#/components/parameters/organization_id"}, {"$ref": "#/components/parameters/invoice_number"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/OrganizationBillingInvoiceGetResponse"}}}}, "404": {"description": "Resource not found", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["invoice_not_found"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "invoice_not_found: Invoice not found"}}}}}}}}}}, "security": [{"tokenAuth": [], "oauth2": ["billing:read"]}]}}, "/organization/{organization_id}/invoices/{invoice_number}/lines": {"get": {"summary": "Get invoice lines for a single invoice", "tags": ["OrganizationBillingGroup"], "operationId": "OrganizationBillingInvoiceLinesList", "x-badges": [{"name": "Experimental", "position": "after", "color": "#787885"}], "x-experimental": true, "description": "<p><blockquote>This endpoint <b>may be changed or removed at any time</b>. Don't use it in production environments.</blockquote><p>", "parameters": [{"$ref": "#/components/parameters/organization_id"}, {"$ref": "#/components/parameters/invoice_number"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/OrganizationBillingInvoiceLinesListResponse"}}}}, "404": {"description": "Resource not found", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["organization_not_found"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "organization_not_found: Organization not found."}}}}}}}}}, "501": {"description": "Server does not support this operation", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["invoice_lines_not_supported"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "invoice_lines_not_supported: Invoice lines not supported for this specific invoice. Please contact Aiven support for assistance."}}}}}}}}}}, "security": [{"tokenAuth": [], "oauth2": ["billing:read"]}]}}, "/organization/{organization_id}/invoices": {"get": {"summary": "Get a list of invoices", "tags": ["OrganizationBillingGroup"], "operationId": "OrganizationBillingInvoiceList", "x-badges": [{"name": "Experimental", "position": "after", "color": "#787885"}], "x-experimental": true, "description": "<p><blockquote>This endpoint <b>may be changed or removed at any time</b>. Don't use it in production environments.</blockquote><p>", "parameters": [{"$ref": "#/components/parameters/organization_id"}, {"$ref": "#/components/parameters/organizationbillinginvoicelist_billing_group_ids"}, {"$ref": "#/components/parameters/organizationbillinginvoicelist_state"}, {"$ref": "#/components/parameters/organizationbillinginvoicelist_starting_date"}, {"$ref": "#/components/parameters/organizationbillinginvoicelist_ending_date"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/OrganizationBillingInvoiceListResponse"}}}}, "404": {"description": "Resource not found", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["organization_not_found"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "organization_not_found: Organization not found."}}}}}}}}}}, "security": [{"tokenAuth": [], "oauth2": ["billing:read"]}]}}, "/organization/{organization_id}/invoices/{invoice_number}/pdf": {"get": {"summary": "Get a PDF invoice", "tags": ["OrganizationBillingGroup"], "operationId": "OrganizationBillingInvoicePdfGet", "x-badges": [{"name": "Experimental", "position": "after", "color": "#787885"}], "x-experimental": true, "description": "<p><blockquote>This endpoint <b>may be changed or removed at any time</b>. Don't use it in production environments.</blockquote><p>", "parameters": [{"$ref": "#/components/parameters/organization_id"}, {"$ref": "#/components/parameters/invoice_number"}], "responses": {"200": {"description": "Returns a PDF report", "content": {"application/pdf": {"schema": {"type": "string", "format": "binary"}}}}, "404": {"description": "Resource not found", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["organization_not_found"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "organization_not_found: Organization not found."}}}}}}}}}}, "security": [{"tokenAuth": [], "oauth2": ["billing:read"]}]}}, "/organization/{organization_id}/payment-methods/bank-transfer/{payment_method_id}": {"get": {"summary": "Get bank transfer payment method in the organization", "tags": ["OrganizationPaymentMethod"], "operationId": "BankTransferGet", "x-badges": [{"name": "Experimental", "position": "after", "color": "#787885"}], "x-experimental": true, "description": "<p><blockquote>This endpoint <b>may be changed or removed at any time</b>. Don't use it in production environments.</blockquote><p>", "parameters": [{"$ref": "#/components/parameters/organization_id"}, {"$ref": "#/components/parameters/payment_method_id"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/BankTransferGetResponse"}}}}, "404": {"description": "Resource not found", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["organization_not_found"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "organization_not_found: Organization not found."}}}}}}}}}}, "security": [{"tokenAuth": [], "oauth2": ["billing:read"]}]}}, "/organization/{organization_id}/payment-methods/bank-transfer": {"get": {"summary": "List bank transfers payment methods in an organization", "tags": ["OrganizationPaymentMethod"], "operationId": "BankTransferList", "x-badges": [{"name": "Experimental", "position": "after", "color": "#787885"}], "x-experimental": true, "description": "<p><blockquote>This endpoint <b>may be changed or removed at any time</b>. Don't use it in production environments.</blockquote><p>", "parameters": [{"$ref": "#/components/parameters/organization_id"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/BankTransferListResponse"}}}}, "404": {"description": "Resource not found", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["organization_not_found"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "organization_not_found: Organization not found."}}}}}}}}}}, "security": [{"tokenAuth": [], "oauth2": ["billing:read"]}]}}, "/organization/{organization_id}/payment-methods/credit-card": {"post": {"summary": "Create credit card payment method in the organization", "tags": ["OrganizationPaymentMethod"], "operationId": "CreditCardCreate", "x-badges": [{"name": "Experimental", "position": "after", "color": "#787885"}], "x-experimental": true, "description": "<p><blockquote>This endpoint <b>may be changed or removed at any time</b>. Don't use it in production environments.</blockquote><p>", "parameters": [{"$ref": "#/components/parameters/organization_id"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/CreditCardCreateRequestBody"}, "example": {"stripe_payment_method_id": "pm_1JXXXXXX"}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CreditCardCreateResponse"}}}}, "404": {"description": "Resource not found", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["organization_not_found"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "organization_not_found: Organization not found."}}}}}}}}}}, "security": [{"tokenAuth": [], "oauth2": ["billing:write"]}]}, "get": {"summary": "List credit cards payment methods in an organization", "tags": ["OrganizationPaymentMethod"], "operationId": "CreditCardList", "x-badges": [{"name": "Experimental", "position": "after", "color": "#787885"}], "x-experimental": true, "description": "<p><blockquote>This endpoint <b>may be changed or removed at any time</b>. Don't use it in production environments.</blockquote><p>", "parameters": [{"$ref": "#/components/parameters/organization_id"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CreditCardListResponse"}}}}, "404": {"description": "Resource not found", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["organization_not_found"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "organization_not_found: Organization not found."}}}}}}}}}}, "security": [{"tokenAuth": [], "oauth2": ["billing:read"]}]}}, "/organization/{organization_id}/payment-methods/credit-card/{payment_method_id}": {"delete": {"summary": "Delete credit card payment method in the organization", "tags": ["OrganizationPaymentMethod"], "operationId": "CreditCardDelete", "x-badges": [{"name": "Experimental", "position": "after", "color": "#787885"}], "x-experimental": true, "description": "<p><blockquote>This endpoint <b>may be changed or removed at any time</b>. Don't use it in production environments.</blockquote><p>", "parameters": [{"$ref": "#/components/parameters/organization_id"}, {"$ref": "#/components/parameters/payment_method_id"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CreditCardDeleteResponse"}}}}, "404": {"description": "Resource not found", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["organization_not_found"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "organization_not_found: Organization not found."}}}}}}}}}}, "security": [{"tokenAuth": [], "oauth2": ["billing:write"]}]}, "get": {"summary": "Get credit card payment method in the organization", "tags": ["OrganizationPaymentMethod"], "operationId": "CreditCardGet", "x-badges": [{"name": "Experimental", "position": "after", "color": "#787885"}], "x-experimental": true, "description": "<p><blockquote>This endpoint <b>may be changed or removed at any time</b>. Don't use it in production environments.</blockquote><p>", "parameters": [{"$ref": "#/components/parameters/organization_id"}, {"$ref": "#/components/parameters/payment_method_id"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CreditCardGetResponse"}}}}, "404": {"description": "Resource not found", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["organization_not_found"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "organization_not_found: Organization not found."}}}}}}}}}}, "security": [{"tokenAuth": [], "oauth2": ["billing:read"]}]}}, "/organization/{organization_id}/payment-methods/custom/{payment_method_id}": {"get": {"summary": "Get custom payment method in the organization", "tags": ["OrganizationPaymentMethod"], "operationId": "PaymentMethodCustomGet", "x-badges": [{"name": "Experimental", "position": "after", "color": "#787885"}], "x-experimental": true, "description": "<p><blockquote>This endpoint <b>may be changed or removed at any time</b>. Don't use it in production environments.</blockquote><p>", "parameters": [{"$ref": "#/components/parameters/organization_id"}, {"$ref": "#/components/parameters/payment_method_id"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/PaymentMethodCustomGetResponse"}}}}, "404": {"description": "Resource not found", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["organization_not_found"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "organization_not_found: Organization not found."}}}}}}}}}}, "security": [{"tokenAuth": [], "oauth2": ["billing:read"]}]}}, "/organization/{organization_id}/payment-methods/custom": {"get": {"summary": "List custom payment methods in an organization", "tags": ["OrganizationPaymentMethod"], "operationId": "PaymentMethodCustomList", "x-badges": [{"name": "Experimental", "position": "after", "color": "#787885"}], "x-experimental": true, "description": "<p><blockquote>This endpoint <b>may be changed or removed at any time</b>. Don't use it in production environments.</blockquote><p>", "parameters": [{"$ref": "#/components/parameters/organization_id"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/PaymentMethodCustomListResponse"}}}}, "404": {"description": "Resource not found", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["organization_not_found"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "organization_not_found: Organization not found."}}}}}}}}}}, "security": [{"tokenAuth": [], "oauth2": ["billing:read"]}]}}, "/organization/{organization_id}/payment-methods": {"get": {"summary": "List payment methods for an organization", "tags": ["OrganizationPaymentMethod"], "operationId": "PaymentMethodsList", "description": "<p><blockquote>This endpoint <b>may be changed or removed at any time</b>. Don't use it in production environments.</blockquote><p>\n\n<p>Returns a lightweight list of payment method identifiers and their types for the given organization. This endpoint does <strong>not</strong> return full payment method metadata; it is intended for selection/association workflows where only <code>(payment_method_id, payment_method_type)</code> are needed.</p>", "x-badges": [{"name": "Experimental", "position": "after", "color": "#787885"}], "x-experimental": true, "parameters": [{"$ref": "#/components/parameters/organization_id"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/PaymentMethodsListResponse"}}}}, "404": {"description": "Resource not found", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["organization_not_found"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "organization_not_found: Organization not found."}}}}}}}}}}, "security": [{"tokenAuth": [], "oauth2": ["billing:read"]}]}}, "/organization/{organization_id}/vpc-clouds": {"get": {"summary": "List organization VPC clouds", "tags": ["Organization_Vpc"], "operationId": "OrganizationVpcCloudsList", "description": "<p><blockquote>This endpoint <b>may be changed or removed at any time</b>. Don't use it in production environments.</blockquote><p>\n\n<p>List clouds available for creating organization VPCs in this organization.</p>", "x-badges": [{"name": "Experimental", "position": "after", "color": "#787885"}], "x-experimental": true, "parameters": [{"$ref": "#/components/parameters/organization_id"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/OrganizationVpcCloudsListResponse"}}}}, "404": {"description": "Resource not found", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["organization_not_found"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "organization_not_found: Organization not found."}}}}}}}}}}, "security": [{"tokenAuth": [], "oauth2": ["accounts:read"]}]}}, "/organization/{organization_id}/vpcs": {"post": {"summary": "Create organization VPC", "tags": ["Organization_Vpc"], "operationId": "OrganizationVpcCreate", "description": "<p><blockquote>This endpoint <b>may be changed or removed at any time</b>. Don't use it in production environments.</blockquote><p>\n\n<p>Creates an organization VPC. This requires the manage-organization-networking permissions and can be also achieved using the Aiven Console, the Aiven CLI, or the Aiven Terraform Provider.</p>", "x-badges": [{"name": "Experimental", "position": "after", "color": "#787885"}], "x-experimental": true, "parameters": [{"$ref": "#/components/parameters/organization_id"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/OrganizationVpcCreateRequestBody"}, "example": {"clouds": [{"cloud_name": "aws-eu-central-1", "network_cidr": "192.168.6.0/24"}], "display_name": "My organization VPC", "peering_connections": [{"peer_azure_app_id": "adcf7194-d877-4505-a47a-91fefd96e3b8", "peer_azure_tenant_id": "adcf7194-d877-4505-a47a-91fefd96e3b8", "peer_cloud_account": "123456789012", "peer_region": "us-east-1", "peer_resource_group": "my-peered-rg", "peer_vpc": "vpc-2f09a348", "user_peer_network_cidrs": ["192.168.6.0/24"]}]}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/OrganizationVpcCreateResponse"}}}}, "404": {"description": "Resource not found", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["organization_not_found"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "organization_not_found: Organization not found."}}}}}}}}}}, "security": [{"tokenAuth": [], "oauth2": ["accounts:write"]}]}, "get": {"summary": "List organization VPCs", "tags": ["Organization_Vpc"], "operationId": "OrganizationVpcList", "description": "<p><blockquote>This endpoint <b>may be changed or removed at any time</b>. Don't use it in production environments.</blockquote><p>\n\n<p>Lists organization VPCs in an organization.</p>", "x-badges": [{"name": "Experimental", "position": "after", "color": "#787885"}], "x-experimental": true, "parameters": [{"$ref": "#/components/parameters/organization_id"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/OrganizationVpcListResponse"}}}}, "404": {"description": "Resource not found", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["organization_not_found"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "organization_not_found: Organization not found."}}}}}}}}}}, "security": [{"tokenAuth": [], "oauth2": ["accounts:read"]}]}}, "/organization/{organization_id}/vpcs/{organization_vpc_id}": {"delete": {"summary": "Delete organization VPC", "tags": ["Organization_Vpc"], "operationId": "OrganizationVpcDelete", "description": "<p><blockquote>This endpoint <b>may be changed or removed at any time</b>. Don't use it in production environments.</blockquote><p>\n\n<p>Deletes an organization VPC. This requires removing all services from the VCP before deleting it. To remove the services from the VCP, either migrate them out of the VCP or delete them. Deleting the organization VPC terminates its peering connections, if any.</p>", "x-badges": [{"name": "Experimental", "position": "after", "color": "#787885"}], "x-experimental": true, "parameters": [{"$ref": "#/components/parameters/organization_id"}, {"$ref": "#/components/parameters/organization_vpc_id"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/OrganizationVpcDeleteResponse"}}}}, "404": {"description": "Resource not found", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["organization_not_found"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "organization_not_found: Organization not found."}}}}}}}}}}, "security": [{"tokenAuth": [], "oauth2": ["accounts:write"]}]}, "get": {"summary": "Get organization VPC", "tags": ["Organization_Vpc"], "operationId": "OrganizationVpcGet", "description": "<p><blockquote>This endpoint <b>may be changed or removed at any time</b>. Don't use it in production environments.</blockquote><p>\n\n<p>Retrieves information about an organization VPC. This requires an organization ID and an organization VPC ID, which you can find in the Aiven Console or using the Aiven API or CLI to list your organizations or VPCs.</p>", "x-badges": [{"name": "Experimental", "position": "after", "color": "#787885"}], "x-experimental": true, "parameters": [{"$ref": "#/components/parameters/organization_id"}, {"$ref": "#/components/parameters/organization_vpc_id"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/OrganizationVpcGetResponse"}}}}, "404": {"description": "Resource not found", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["organization_not_found"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "organization_not_found: Organization not found."}}}}}}}}}}, "security": [{"tokenAuth": [], "oauth2": ["accounts:read"]}]}, "put": {"summary": "Update organization VPC", "tags": ["Organization_Vpc"], "operationId": "OrganizationVpcUpdate", "description": "<p><blockquote>This endpoint <b>may be changed or removed at any time</b>. Don't use it in production environments.</blockquote><p>\n\n<p>Updates organization VPC properties that can be changed after creation.</p>", "x-badges": [{"name": "Experimental", "position": "after", "color": "#787885"}], "x-experimental": true, "parameters": [{"$ref": "#/components/parameters/organization_id"}, {"$ref": "#/components/parameters/organization_vpc_id"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/OrganizationVpcUpdateRequestBody"}, "example": {"display_name": "My organization VPC"}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/OrganizationVpcUpdateResponse"}}}}, "404": {"description": "Resource not found", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["organization_not_found"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "organization_not_found: Organization not found."}}}}}}}}}}, "security": [{"tokenAuth": [], "oauth2": ["accounts:write"]}]}}, "/organization/{organization_id}/vpcs/{organization_vpc_id}/peering-connections": {"post": {"summary": "Create organization VPC peering", "tags": ["Organization_Vpc"], "operationId": "OrganizationVpcPeeringConnectionCreate", "description": "<p><blockquote>This endpoint <b>may be changed or removed at any time</b>. Don't use it in production environments.</blockquote><p>\n\n<p>Creates a peering connection for an organization VPC. This requires the manage-organization-networking permissions and two VPCs to peer: one in Aiven and one in your cloud account (Azure, AWS, Google Cloud, or UpCloud).</p>", "x-badges": [{"name": "Experimental", "position": "after", "color": "#787885"}], "x-experimental": true, "parameters": [{"$ref": "#/components/parameters/organization_id"}, {"$ref": "#/components/parameters/organization_vpc_id"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/OrganizationVpcPeeringConnectionCreateRequestBody"}, "example": {"peer_azure_app_id": "adcf7194-d877-4505-a47a-91fefd96e3b8", "peer_azure_tenant_id": "adcf7194-d877-4505-a47a-91fefd96e3b8", "peer_cloud_account": "123456789012", "peer_region": "us-east-1", "peer_resource_group": "my-peered-rg", "peer_vpc": "vpc-2f09a348", "user_peer_network_cidrs": ["192.168.6.0/24"]}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/OrganizationVpcPeeringConnectionCreateResponse"}}}}, "404": {"description": "Resource not found", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["organization_not_found"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "organization_not_found: Organization not found."}}}}}}}}}}, "security": [{"tokenAuth": [], "oauth2": ["accounts:read"]}]}}, "/organization/{organization_id}/vpcs/{organization_vpc_id}/peering-connections/{peering_connection_id}": {"delete": {"summary": "Delete organization VPC peering", "tags": ["Organization_Vpc"], "operationId": "OrganizationVpcPeeringConnectionDeleteById", "description": "<p><blockquote>This endpoint <b>may be changed or removed at any time</b>. Don't use it in production environments.</blockquote><p>\n\n<p>Deletes a peering connection between an Aiven organization VPC and a VPC in your cloud account (Azure, AWS, Google Cloud, or UpCloud). This results in terminating all the traffic between the VPCs.</p>", "x-badges": [{"name": "Experimental", "position": "after", "color": "#787885"}], "x-experimental": true, "parameters": [{"$ref": "#/components/parameters/organization_id"}, {"$ref": "#/components/parameters/organization_vpc_id"}, {"$ref": "#/components/parameters/peering_connection_id"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/OrganizationVpcPeeringConnectionDeleteByIdResponse"}}}}, "404": {"description": "Resource not found", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["organization_not_found"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "organization_not_found: Organization not found."}}}}}}}}}}, "security": [{"tokenAuth": [], "oauth2": ["accounts:write"]}]}}, "/organization/{organization_id}/vpcs/{organization_vpc_id}/peering-connections/{peering_connection_id}/user-peer-network-cidrs": {"put": {"summary": "Update peering connection user peer network CIDRs", "tags": ["Organization_Vpc"], "operationId": "OrganizationVpcPeeringConnectionPeerNetworkCidrsUpdate", "description": "<p><blockquote>This endpoint <b>may be changed or removed at any time</b>. Don't use it in production environments.</blockquote><p>\n\n<p>Updates user peer network CIDRS of an organization VPC peering connection.</p>", "x-badges": [{"name": "Experimental", "position": "after", "color": "#787885"}], "x-experimental": true, "parameters": [{"$ref": "#/components/parameters/organization_id"}, {"$ref": "#/components/parameters/organization_vpc_id"}, {"$ref": "#/components/parameters/peering_connection_id"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/OrganizationVpcPeeringConnectionPeerNetworkCidrsUpdateRequestBody"}, "example": {"add": [{"cidr": "192.168.6.0/24", "peer_cloud_account": "123456789012", "peer_resource_group": "my-peered-rg", "peer_vpc": "vpc-2f09a348"}], "delete": ["192.168.6.0/24"]}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/OrganizationVpcPeeringConnectionPeerNetworkCidrsUpdateResponse"}}}}, "404": {"description": "Resource not found", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["organization_not_found"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "organization_not_found: Organization not found."}}}}}}}}}}, "security": [{"tokenAuth": [], "oauth2": ["accounts:write"]}]}}, "/organization/{organization_id}/vpc-peering-connection-types": {"get": {"summary": "List organization VPC peering connection types", "tags": ["Organization_Vpc"], "operationId": "OrganizationVpcPeeringConnectionTypesList", "description": "<p><blockquote>This endpoint <b>may be changed or removed at any time</b>. Don't use it in production environments.</blockquote><p>\n\n<p>Lists peering connection types available for VPCs in the organization.</p>", "x-badges": [{"name": "Experimental", "position": "after", "color": "#787885"}], "x-experimental": true, "parameters": [{"$ref": "#/components/parameters/organization_id"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/OrganizationVpcPeeringConnectionTypesListResponse"}}}}, "404": {"description": "Resource not found", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["organization_not_found"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "organization_not_found: Organization not found."}}}}}}}}}}, "security": [{"tokenAuth": [], "oauth2": ["accounts:read"]}]}}, "/organization/{organization_id}/discovered-organizations": {"get": {"summary": "List the other organizations that existing managed users are part of", "tags": ["Organizations"], "operationId": "DiscoveredOrganizationList", "x-badges": [{"name": "Experimental", "position": "after", "color": "#787885"}], "x-experimental": true, "description": "<p><blockquote>This endpoint <b>may be changed or removed at any time</b>. Don't use it in production environments.</blockquote><p>", "parameters": [{"$ref": "#/components/parameters/organization_id"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/DiscoveredOrganizationListResponse"}}}}, "404": {"description": "Organization not found", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["organization_not_found"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "organization_not_found: Organization not found."}}}}}}}}}}, "security": [{"tokenAuth": [], "oauth2": ["accounts:read", "user:read"]}]}}, "/organization/{organization_id}/config/authentication": {"get": {"summary": "Retrieve authentication configuration", "tags": ["Organizations"], "operationId": "OrganizationAuthenticationConfigGet", "description": "<p>Retrieve current authentication configuration for an organization.</p>", "parameters": [{"$ref": "#/components/parameters/organization_id"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/OrganizationAuthenticationConfigGetResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["accounts:read", "authentication:read"]}]}, "patch": {"summary": "Update authentication configuration", "tags": ["Organizations"], "operationId": "OrganizationAuthenticationConfigUpdate", "description": "<p>Update current authentication configuration for an organization.</p>", "parameters": [{"$ref": "#/components/parameters/organization_id"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/OrganizationAuthenticationConfigUpdateRequestBody"}, "example": {"oauth_enabled": false, "password_auth_enabled": false, "personal_tokens_enabled": false, "personal_tokens_require_allowed_auth_method": false, "saml_allow_external": false, "saml_enabled": false, "two_factor_required": false}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/OrganizationAuthenticationConfigUpdateResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["accounts:write", "authentication:write"]}]}}, "/organization/{organization_id}": {"delete": {"summary": "Delete an organization", "tags": ["Organizations"], "operationId": "OrganizationDelete", "x-badges": [{"name": "Experimental", "position": "after", "color": "#787885"}], "x-experimental": true, "description": "<p><blockquote>This endpoint <b>may be changed or removed at any time</b>. Don't use it in production environments.</blockquote><p>", "parameters": [{"$ref": "#/components/parameters/organization_id"}, {"$ref": "#/components/parameters/organizationdelete_recursive"}], "responses": {"204": {"description": "Delete an organization", "content": {}}, "404": {"description": "Resource not found", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["organization_not_found"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "organization_not_found: Organization not found."}}}}}}}}}}, "security": [{"tokenAuth": [], "oauth2": ["accounts:write"]}]}, "get": {"summary": "Get information about an organization", "tags": ["Organizations"], "operationId": "OrganizationGet", "parameters": [{"$ref": "#/components/parameters/organization_id"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/OrganizationGetResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["accounts:read"]}]}, "patch": {"summary": "Update organization's details", "tags": ["Organizations"], "operationId": "OrganizationUpdate", "parameters": [{"$ref": "#/components/parameters/organization_id"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/OrganizationUpdateRequestBody"}, "example": {"name": "Aiven Ltd", "tier": "business"}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/OrganizationUpdateResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["accounts:write"]}]}}, "/organization/{organization_id}/governance/access": {"post": {"summary": "Create organization access", "tags": ["Organizations"], "operationId": "OrganizationGovernanceAccessCreate", "x-badges": [{"name": "Experimental", "position": "after", "color": "#787885"}], "x-experimental": true, "description": "<p><blockquote>This endpoint <b>may be changed or removed at any time</b>. Don't use it in production environments.</blockquote><p>", "parameters": [{"$ref": "#/components/parameters/organization_id"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/OrganizationGovernanceAccessCreateRequestBody"}, "example": {"access_data": {"acls": [{"host": "*", "operation": "Write", "permission_type": "ALLOW", "resource_name": "events", "resource_type": "Topic"}], "project_name": "project-1", "service_name": "service-1", "username": "api3"}, "access_name": "My Access", "access_type": "KAFKA", "owner_user_group_id": "ug22ba494e096"}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/OrganizationGovernanceAccessCreateResponse"}}}}, "404": {"description": "Resource not found", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["organization_not_found"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "organization_not_found: Organization not found."}}}}}}}}}, "400": {"description": "Invalid request parameters", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["kafka_governance_not_enabled", "kafka_console_governance_enabled"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "kafka_governance_not_enabled: Governance on Kafka is not enabled for organization. kafka_console_governance_enabled: Console Governance is enabled for this kafka service"}}}}}}}}}}, "security": [{"tokenAuth": [], "oauth2": ["accounts:read"]}]}, "get": {"summary": "List access for organization", "tags": ["Organizations"], "operationId": "OrganizationGovernanceAccessList", "x-badges": [{"name": "Experimental", "position": "after", "color": "#787885"}], "x-experimental": true, "description": "<p><blockquote>This endpoint <b>may be changed or removed at any time</b>. Don't use it in production environments.</blockquote><p>", "parameters": [{"$ref": "#/components/parameters/organization_id"}, {"$ref": "#/components/parameters/organizationgovernanceaccesslist_cursor"}, {"$ref": "#/components/parameters/organizationgovernanceaccesslist_limit"}, {"$ref": "#/components/parameters/organizationgovernanceaccesslist_resource_name"}, {"$ref": "#/components/parameters/organizationgovernanceaccesslist_owner_user_group_id"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/OrganizationGovernanceAccessListResponse"}}}}, "404": {"description": "Resource not found", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["organization_not_found"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "organization_not_found: Organization not found."}}}}}}}}}, "400": {"description": "Invalid request parameters", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["kafka_governance_not_enabled"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "kafka_governance_not_enabled: Governance on Kafka is not enabled for organization"}}}}}}}}}}, "security": [{"tokenAuth": [], "oauth2": ["accounts:read"]}]}}, "/organization/{organization_id}/governance/access/{access_id}/credentials": {"get": {"summary": "Get organization access credentials", "tags": ["Organizations"], "operationId": "OrganizationGovernanceAccessCredentialsGet", "x-badges": [{"name": "Experimental", "position": "after", "color": "#787885"}], "x-experimental": true, "description": "<p><blockquote>This endpoint <b>may be changed or removed at any time</b>. Don't use it in production environments.</blockquote><p>", "parameters": [{"$ref": "#/components/parameters/organization_id"}, {"$ref": "#/components/parameters/access_id"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/OrganizationGovernanceAccessCredentialsGetResponse"}}}}, "404": {"description": "Resource not found", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["organization_not_found"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "organization_not_found: Organization not found."}}}}}}}}}, "400": {"description": "Invalid request parameters", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["kafka_governance_not_enabled"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "kafka_governance_not_enabled: Governance on Kafka is not enabled for organization"}}}}}}}}}}, "security": [{"tokenAuth": [], "oauth2": ["accounts:read"]}]}}, "/organization/{organization_id}/governance/access/{access_id}": {"delete": {"summary": "Delete organization access", "tags": ["Organizations"], "operationId": "OrganizationGovernanceAccessDelete", "x-badges": [{"name": "Experimental", "position": "after", "color": "#787885"}], "x-experimental": true, "description": "<p><blockquote>This endpoint <b>may be changed or removed at any time</b>. Don't use it in production environments.</blockquote><p>", "parameters": [{"$ref": "#/components/parameters/organization_id"}, {"$ref": "#/components/parameters/access_id"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/OrganizationGovernanceAccessDeleteResponse"}}}}, "404": {"description": "Resource not found", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["organization_not_found"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "organization_not_found: Organization not found."}}}}}}}}}, "400": {"description": "Invalid request parameters", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["kafka_governance_not_enabled", "kafka_console_governance_enabled"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "kafka_governance_not_enabled: Governance on Kafka is not enabled for organization. kafka_console_governance_enabled: Console Governance is enabled for this kafka service"}}}}}}}}}}, "security": [{"tokenAuth": [], "oauth2": ["accounts:read"]}]}, "get": {"summary": "Get organization access details", "tags": ["Organizations"], "operationId": "OrganizationGovernanceAccessGet", "x-badges": [{"name": "Experimental", "position": "after", "color": "#787885"}], "x-experimental": true, "description": "<p><blockquote>This endpoint <b>may be changed or removed at any time</b>. Don't use it in production environments.</blockquote><p>", "parameters": [{"$ref": "#/components/parameters/organization_id"}, {"$ref": "#/components/parameters/access_id"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/OrganizationGovernanceAccessGetResponse"}}}}, "404": {"description": "Resource not found", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["organization_not_found", "governance_access_not_found"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "organization_not_found: Organization not found.. governance_access_not_found: Governance access not found"}}}}}}}}}, "400": {"description": "Invalid request parameters", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["kafka_governance_not_enabled"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "kafka_governance_not_enabled: Governance on Kafka is not enabled for organization"}}}}}}}}}}, "security": [{"tokenAuth": [], "oauth2": ["accounts:read"]}]}}, "/organization/{organization_id}/projects": {"post": {"summary": "Create project under the organization", "tags": ["Organizations"], "operationId": "OrganizationProjectsCreate", "parameters": [{"$ref": "#/components/parameters/organization_id"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/OrganizationProjectsCreateRequestBody"}, "example": {"base_port": 10000, "billing_group_id": "721bf796-1d89-402d-9195-425a23c4efdc", "parent_id": "a3fd7a594e01", "project_id": "project-1", "tags": {"ANY": "value"}, "tech_emails": "[{\"email\": \"jane@aiven.io\"}]"}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/OrganizationProjectsCreateResponse"}}}}, "404": {"description": "Resource not found", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["project_not_found", "organization_not_found"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "project_not_found: Project not found. organization_not_found: Organization not found."}}}}}}}}}, "403": {"description": "Operation not allowed", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["user_not_organization_admin"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "user_not_organization_admin: User is not organization administrator."}}}}}}}}}, "409": {"description": "Request conflict", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["project_already_exists"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "project_already_exists: Project already exists"}}}}}}}}}}, "security": [{"tokenAuth": [], "oauth2": ["accounts:write", "projects:write"]}]}, "get": {"summary": "List projects under the organization", "tags": ["Organizations"], "operationId": "OrganizationProjectsList", "parameters": [{"$ref": "#/components/parameters/organization_id"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/OrganizationProjectsListResponse"}}}}, "404": {"description": "Resource not found", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["project_not_found"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "project_not_found: Project not found"}}}}}}}}}}, "security": [{"tokenAuth": [], "oauth2": ["accounts:read", "projects:read"]}]}}, "/organization/{organization_id}/projects/{project_id}": {"delete": {"summary": "Delete project under the organization", "tags": ["Organizations"], "operationId": "OrganizationProjectsDelete", "parameters": [{"$ref": "#/components/parameters/organization_id"}, {"$ref": "#/components/parameters/project_id"}], "responses": {"204": {"description": "Delete project under the organization", "content": {}}, "404": {"description": "Resource not found", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["project_not_found"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "project_not_found: Project not found"}}}}}}}}}, "403": {"description": "Operation not allowed", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["user_not_organization_admin"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "user_not_organization_admin: User is not organization administrator."}}}}}}}}}}, "security": [{"tokenAuth": [], "oauth2": ["accounts:write", "projects:write"]}]}, "get": {"summary": "Retrieve project under the organization", "tags": ["Organizations"], "operationId": "OrganizationProjectsGet", "parameters": [{"$ref": "#/components/parameters/organization_id"}, {"$ref": "#/components/parameters/project_id"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/OrganizationProjectsGetResponse"}}}}, "404": {"description": "Resource not found", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["project_not_found"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "project_not_found: Project not found"}}}}}}}}}}, "security": [{"tokenAuth": [], "oauth2": ["accounts:read", "projects:read"]}]}, "patch": {"summary": "Update project under the organization", "tags": ["Organizations"], "operationId": "OrganizationProjectsUpdate", "description": "<p>Moving a project to a different unit requires organization admin privileges (role:organization:admin). Moving to a different organization requires admin privileges in both organizations, and specifying both the target organization and the target parent unit IDs.</p>", "parameters": [{"$ref": "#/components/parameters/organization_id"}, {"$ref": "#/components/parameters/project_id"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/OrganizationProjectsUpdateRequestBody"}, "example": {"base_port": 10000, "billing_group_id": "721bf796-1d89-402d-9195-425a23c4efdc", "organization_id": "org1234abcd", "parent_id": "a3fd7a594e01", "project_name": "project-1", "tags": {"ANY": "value"}, "tech_emails": "[{\"email\": \"jane@aiven.io\"}]"}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/OrganizationProjectsUpdateResponse"}}}}, "404": {"description": "Resource not found", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["project_not_found"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "project_not_found: Project not found"}}}}}}}}}, "403": {"description": "Operation not allowed", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["user_not_organization_admin", "project_move_organizations_internal_config_not_match"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "user_not_organization_admin: User is not organization administrator.. project_move_organizations_internal_config_not_match: Project internal configuration does not match between organizations"}}}}}}}}}}, "security": [{"tokenAuth": [], "oauth2": ["accounts:write", "projects:write"]}]}}, "/organization/{organization_id}/invitation/{user_email}": {"post": {"summary": "Accept a user invitation to the organization", "tags": ["Organizations"], "operationId": "OrganizationUserInvitationAccept", "parameters": [{"$ref": "#/components/parameters/organization_id"}, {"$ref": "#/components/parameters/user_email"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/OrganizationUserInvitationAcceptRequestBody"}, "example": {"action": "accept"}}}}, "responses": {"204": {"description": "Accept a user invitation to the organization", "content": {}}}, "security": [{"tokenAuth": [], "oauth2": ["accounts:read"]}]}, "delete": {"summary": "Remove an invitation to the organization", "tags": ["Organizations"], "operationId": "OrganizationUserInvitationDelete", "parameters": [{"$ref": "#/components/parameters/organization_id"}, {"$ref": "#/components/parameters/user_email"}], "responses": {"204": {"description": "Remove an invitation to the organization", "content": {}}}, "security": [{"tokenAuth": [], "oauth2": ["accounts:read"]}]}}, "/organization/{organization_id}/invitation": {"get": {"summary": "List user invitations to the organization", "tags": ["Organizations"], "operationId": "OrganizationUserInvitationsList", "parameters": [{"$ref": "#/components/parameters/organization_id"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/OrganizationUserInvitationsListResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["accounts:read"]}]}, "post": {"summary": "Invite a user to the organization", "tags": ["Organizations"], "operationId": "OrganizationUserInvite", "parameters": [{"$ref": "#/components/parameters/organization_id"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/OrganizationUserInviteRequestBody"}, "example": {"user_email": "jane@example.com"}}}}, "responses": {"204": {"description": "Invite a user to the organization", "content": {}}}, "security": [{"tokenAuth": [], "oauth2": ["accounts:read"]}]}}, "/organizations": {"post": {"summary": "Create an organization", "tags": ["Organizations"], "operationId": "UserOrganizationCreate", "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/UserOrganizationCreateRequestBody"}, "example": {"organization_name": "Aiven Ltd", "primary_billing_group_id": "adcf7194-d877-4505-a47a-91fefd96e3b8", "tier": "business"}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/UserOrganizationCreateResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["accounts:write"]}]}, "get": {"summary": "List organizations the user belongs to", "tags": ["Organizations"], "operationId": "UserOrganizationsList", "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/UserOrganizationsListResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["accounts:read"]}]}}, "/card": {"post": {"summary": "Add credit card for user", "tags": ["Payment"], "operationId": "UserCreditCardAdd", "deprecated": true, "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/UserCreditCardAddRequestBody"}, "example": {"stripe_token": "tok_17JIPf2eZvKYlo2CIkGwJXpO"}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/UserCreditCardAddResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["payments:write"]}]}, "get": {"summary": "List user's credit cards", "tags": ["Payment"], "operationId": "UserCreditCardsList", "deprecated": true, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/UserCreditCardsListResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["payments:read"]}]}}, "/card/{card_id}": {"delete": {"summary": "Delete user's credit card", "tags": ["Payment"], "operationId": "UserCreditCardDelete", "deprecated": true, "parameters": [{"$ref": "#/components/parameters/card_id"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/UserCreditCardDeleteResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["payments:write"]}]}, "put": {"summary": "Update user's credit card", "tags": ["Payment"], "operationId": "UserCreditCardUpdate", "deprecated": true, "parameters": [{"$ref": "#/components/parameters/card_id"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/UserCreditCardUpdateRequestBody"}, "example": {"exp_month": 1, "exp_year": 2015, "name": "John Smith"}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/UserCreditCardUpdateResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["payments:read"]}]}}, "/organization/{organization_id}/permissions/{resource_type}/{resource_id}": {"get": {"summary": "List of permissions", "tags": ["Permissions"], "operationId": "PermissionsGet", "description": "<p>Returns a list of permissions for a resource.</p>", "parameters": [{"$ref": "#/components/parameters/organization_id"}, {"$ref": "#/components/parameters/resource_type"}, {"$ref": "#/components/parameters/resource_id"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/PermissionsGetResponse"}}}}, "400": {"description": "Invalid request parameters", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["unsupported_resource_type"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "unsupported_resource_type: The resource type is not supported for the current operation"}}}}}}}}}}, "security": [{"tokenAuth": [], "oauth2": ["accounts:read", "authentication:read"]}]}, "put": {"summary": "Set permissions", "tags": ["Permissions"], "operationId": "PermissionsSet", "description": "<p>Replaces permissions for a resource. The entries entry provided in the request body are applied, replacing all the previously defined permissions defined on the specified resource. Updates are not atomic (changes are computed and each are individually applied); if an error occurs, permissions may have been partially updated. They are however idempotent, so in case of transient errors it is possible to simply retry the request.</p>", "parameters": [{"$ref": "#/components/parameters/organization_id"}, {"$ref": "#/components/parameters/resource_type"}, {"$ref": "#/components/parameters/resource_id"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/PermissionsSetRequestBody"}, "example": {"permissions": [{"permissions": ["read_only"], "principal_id": "u12345", "principal_type": "user"}]}}}}, "responses": {"204": {"description": "Set permissions", "content": {}}, "400": {"description": "Invalid request parameters", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["unsupported_resource_type"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "unsupported_resource_type: The resource type is not supported for the current operation"}}}}}}}}}}, "security": [{"tokenAuth": [], "oauth2": ["accounts:write", "authentication:write"]}]}, "patch": {"summary": "Update permissions", "tags": ["Permissions"], "operationId": "PermissionsUpdate", "description": "<p>Updates permissions for a resource. Each entry provided in the request body is applied, replacing the previous assignment for the target principal. To remove permission assignments an entry with an empty set of permissions must be provided. Updates are not atomic (each entry is individually applied); if an error occurs, permissions may have been partially updated. They are however idempotent, so in case of transient errors it is possible to simply retry the request.</p>", "parameters": [{"$ref": "#/components/parameters/organization_id"}, {"$ref": "#/components/parameters/resource_type"}, {"$ref": "#/components/parameters/resource_id"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/PermissionsUpdateRequestBody"}, "example": {"operation": "set", "permissions": [{"permissions": ["read_only"], "principal_id": "u12345", "principal_type": "user"}]}}}}, "responses": {"204": {"description": "Update permissions", "content": {}}, "400": {"description": "Invalid request parameters", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["unsupported_resource_type"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "unsupported_resource_type: The resource type is not supported for the current operation"}}}}}}}}}}, "security": [{"tokenAuth": [], "oauth2": ["accounts:write", "authentication:write"]}]}}, "/project/{project}/vpc-peering-connection-types": {"get": {"summary": "List VPC peering connection types for a project", "tags": ["Project"], "operationId": "ListProjectVpcPeeringConnectionTypes", "parameters": [{"$ref": "#/components/parameters/project"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ListProjectVpcPeeringConnectionTypesResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["projects:read"]}]}}, "/project/{project}/alerts": {"get": {"summary": "List active alerts for a project", "tags": ["Project"], "operationId": "ProjectAlertsList", "parameters": [{"$ref": "#/components/parameters/project"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ProjectAlertsListResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["projects:read"]}]}}, "/project": {"post": {"summary": "Create a project", "tags": ["Project"], "operationId": "ProjectCreate", "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ProjectCreateRequestBody"}, "example": {"account_id": "a22ba494e096", "add_account_owners_admin_access": true, "address_lines": ["Main Street 1"], "base_port": 10000, "billing_address": "DEPRECATED: use split address fields like `company`, `address_lines`, `zip_code`, `city` and `state` instead", "billing_currency": "USD", "billing_emails": [{"email": "jane@example.com"}], "billing_extra_text": "Purchase order: PO100018", "billing_group_id": "ffb3f0cd-5532-4eb9-8867-f2cac5823492", "card_id": "9330c086-8781-11e5-89ff-5404a64abfef", "city": "Helsinki", "cloud": "aws-eu-central-1", "company": "My Company", "copy_from_project": "myexistingproject", "copy_tags": true, "country_code": "FI", "project": "myproject", "state": "", "tags": {}, "tech_emails": [{"email": "jane@example.com"}], "use_source_project_billing_group": false, "vat_id": "FI27957435", "zip_code": "01234"}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ProjectCreateResponse"}}}}, "409": {"description": "Request conflict", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["project_already_exists"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "project_already_exists: Project already exists"}}}}}}}}}}, "security": [{"tokenAuth": [], "oauth2": ["projects:write"]}]}, "get": {"summary": "List projects", "tags": ["Project"], "operationId": "ProjectList", "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ProjectListResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["projects:read"]}]}}, "/project/{project}": {"delete": {"summary": "Delete project", "tags": ["Project"], "operationId": "ProjectDelete", "parameters": [{"$ref": "#/components/parameters/project"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ProjectDeleteResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["projects:write"]}]}, "get": {"summary": "Get project details", "tags": ["Project"], "operationId": "ProjectGet", "parameters": [{"$ref": "#/components/parameters/project"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ProjectGetResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["projects:read"]}]}, "put": {"summary": "Update project", "tags": ["Project"], "operationId": "ProjectUpdate", "parameters": [{"$ref": "#/components/parameters/project"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ProjectUpdateRequestBody"}, "example": {"account_id": "a22ba494e096", "add_account_owners_admin_access": true, "address_lines": ["Main Street 1"], "billing_address": "DEPRECATED: use split address fields like `company`, `address_lines`, `zip_code`, `city` and `state` instead", "billing_currency": "USD", "billing_emails": [{"email": "jane@example.com"}], "billing_extra_text": "Purchase order: PO100018", "billing_group_id": "ffb3f0cd-5532-4eb9-8867-f2cac5823492", "card_id": "9330c086-8781-11e5-89ff-5404a64abfef", "city": "Helsinki", "cloud": "aws-eu-central-1", "company": "My Company", "country_code": "FI", "project_name": "myproject", "state": "", "tags": {}, "tech_emails": [{"email": "jane@example.com"}], "vat_id": "FI27957435", "zip_code": "01234"}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ProjectUpdateResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["projects:write"]}]}}, "/project/{project}/download-sbom/{file_format}/{download_cookie}": {"get": {"summary": "Download SBOM report", "tags": ["Project"], "operationId": "ProjectDownloadSBOMReport", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/file_format"}, {"$ref": "#/components/parameters/download_cookie"}], "responses": {"200": {"description": "Returns a SBOM report", "content": {"text/csv": {"schema": {"type": "string", "format": "binary"}}, "text/json": {"schema": {"type": "string", "format": "binary"}}}}}}}, "/project/{project}/generate-sbom-download-url/{file_format}": {"get": {"summary": "Generate SBOM for project", "tags": ["Project"], "operationId": "ProjectGenerateSbomDownloadUrl", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/file_format"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ProjectGenerateSbomDownloadUrlResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["projects:read"]}]}}, "/project/{project}/events": {"get": {"summary": "Get project event log entries", "tags": ["Project"], "operationId": "ProjectGetEventLogs", "parameters": [{"$ref": "#/components/parameters/project"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ProjectGetEventLogsResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["projects:read"]}]}}, "/project/{project}/invite": {"post": {"summary": "Send project membership invitation", "tags": ["Project"], "operationId": "ProjectInvite", "deprecated": true, "description": "<p>DEPRECATED: Use the Organizations APIs to invite users and the Permissions API to manage access</p>", "parameters": [{"$ref": "#/components/parameters/project"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ProjectInviteRequestBody"}, "example": {"member_type": "admin", "user_email": "jane@example.com"}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ProjectInviteResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["projects:write"]}]}}, "/project/{project}/invite/{invite_verification_code}": {"post": {"summary": "Confirm project invite", "tags": ["Project"], "operationId": "ProjectInviteAccept", "deprecated": true, "description": "<p>DEPRECATED: Use the Organizations APIs to invite users and the Permissions API to manage access</p>", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/invite_verification_code"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ProjectInviteAcceptResponse"}}}}}}}, "/project/{project}/invite/{invited_email}": {"delete": {"summary": "Delete an invitation to a project", "tags": ["Project"], "operationId": "ProjectInviteDelete", "deprecated": true, "description": "<p>DEPRECATED: Use the Organizations APIs to invite users and the Permissions API to manage access</p>", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/invited_email"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ProjectInviteDeleteResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["projects:write"]}]}}, "/project/{project}/privatelink-availability": {"get": {"summary": "List Privatelink cloud availability and prices for a project", "tags": ["Project"], "operationId": "ProjectPrivatelinkAvailabilityList", "parameters": [{"$ref": "#/components/parameters/project"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ProjectPrivatelinkAvailabilityListResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["privatelink:read"]}]}}, "/project/{project}/service-types/{service_type}/plans": {"get": {"summary": "List service plans", "tags": ["Project"], "operationId": "ProjectServicePlanList", "description": "<p>Returns a list of the plans available for a service type.</p>", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_type"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ProjectServicePlanListResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["projects:read"]}]}}, "/project/{project}/pricing/service-types/{service_type}/plans/{service_plan}/clouds/{cloud}": {"get": {"summary": "Get plan pricing", "tags": ["Project"], "operationId": "ProjectServicePlanPriceGet", "description": "<p>Returns pricing information for a service plan.</p>", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_type"}, {"$ref": "#/components/parameters/service_plan"}, {"$ref": "#/components/parameters/cloud"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ProjectServicePlanPriceGetResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["projects:read"]}]}}, "/project/{project}/service-types/{service_type}/plans/{service_plan}": {"get": {"summary": "Get service plan details", "tags": ["Project"], "operationId": "ProjectServicePlanSpecsGet", "description": "<p>Returns information about a plan for a service type such as the disk storage and backup configuration.</p>", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_type"}, {"$ref": "#/components/parameters/service_plan"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ProjectServicePlanSpecsGetResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["projects:read"]}]}}, "/project/{project}/service-types/{service_type}": {"get": {"summary": "Get service type details", "tags": ["Project"], "operationId": "ProjectServiceTypesGet", "description": "<p>Returns the configuration options for a service type.</p>", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_type"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ProjectServiceTypesGetResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["projects:read"]}]}}, "/project/{project}/service-types": {"get": {"summary": "List service types", "tags": ["Project"], "operationId": "ProjectServiceTypesList", "description": "<p>Returns a list of all available service types and their configuration options.</p>", "parameters": [{"$ref": "#/components/parameters/project"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ProjectServiceTypesListResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["projects:read"]}]}}, "/project/{project}/tags": {"get": {"summary": "List all tags attached to this project", "tags": ["Project"], "operationId": "ProjectTagsList", "parameters": [{"$ref": "#/components/parameters/project"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ProjectTagsListResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["projects:read"]}]}, "put": {"summary": "Replace all project tags with a new set of tags, deleting old ones", "tags": ["Project"], "operationId": "ProjectTagsReplace", "parameters": [{"$ref": "#/components/parameters/project"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ProjectTagsReplaceRequestBody"}, "example": {"tags": {}}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ProjectTagsReplaceResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["projects:write"]}]}, "patch": {"summary": "Update one or more tags, creating ones that don't exist, and deleting ones given NULL value", "tags": ["Project"], "operationId": "ProjectTagsUpdate", "parameters": [{"$ref": "#/components/parameters/project"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ProjectTagsUpdateRequestBody"}, "example": {"tags": {}}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ProjectTagsUpdateResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["projects:write"]}]}}, "/project/{project}/users": {"get": {"summary": "List users with access to the project. May contain same user multiple times if they belong to multiple teams associated to the project", "tags": ["Project"], "operationId": "ProjectUserList", "parameters": [{"$ref": "#/components/parameters/project"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ProjectUserListResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["projects:read"]}]}}, "/project/{project}/user/{user_email}": {"delete": {"summary": "Remove user from the project", "tags": ["Project"], "operationId": "ProjectUserRemove", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/user_email"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ProjectUserRemoveResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["projects:write"]}]}, "put": {"summary": "Update a project user", "tags": ["Project"], "operationId": "ProjectUserUpdate", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/user_email"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ProjectUserUpdateRequestBody"}, "example": {"member_type": "admin"}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ProjectUserUpdateResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["projects:write"]}]}}, "/project/{project}/vpcs": {"post": {"summary": "Create a VPC in a cloud for the project", "tags": ["Project"], "operationId": "VpcCreate", "parameters": [{"$ref": "#/components/parameters/project"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/VpcCreateRequestBody"}, "example": {"cloud_name": "aws-eu-central-1", "network_cidr": "192.168.6.0/24", "peering_connections": [{"peer_azure_app_id": "adcf7194-d877-4505-a47a-91fefd96e3b8", "peer_azure_tenant_id": "adcf7194-d877-4505-a47a-91fefd96e3b8", "peer_cloud_account": "123456789012", "peer_region": "us-east-1", "peer_resource_group": "my-peered-rg", "peer_vpc": "vpc-2f09a348", "user_peer_network_cidrs": ["192.168.6.0/24"]}]}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/VpcCreateResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["projects:write"]}]}, "get": {"summary": "List VPCs for a project", "tags": ["Project"], "operationId": "VpcList", "parameters": [{"$ref": "#/components/parameters/project"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/VpcListResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["projects:read"]}]}}, "/project/{project}/vpcs/{project_vpc_id}": {"delete": {"summary": "Delete a project VPC", "tags": ["Project"], "operationId": "VpcDelete", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/project_vpc_id"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/VpcDeleteResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["projects:write"]}]}, "get": {"summary": "Get VPC information", "tags": ["Project"], "operationId": "VpcGet", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/project_vpc_id"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/VpcGetResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["projects:read"]}]}}, "/project/{project}/vpcs/{project_vpc_id}/peering-connections": {"post": {"summary": "Create a peering connection for a project VPC", "tags": ["Project"], "operationId": "VpcPeeringConnectionCreate", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/project_vpc_id"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/VpcPeeringConnectionCreateRequestBody"}, "example": {"peer_azure_app_id": "adcf7194-d877-4505-a47a-91fefd96e3b8", "peer_azure_tenant_id": "adcf7194-d877-4505-a47a-91fefd96e3b8", "peer_cloud_account": "123456789012", "peer_region": "us-east-1", "peer_resource_group": "my-peered-rg", "peer_vpc": "vpc-2f09a348", "user_peer_network_cidrs": ["192.168.6.0/24"]}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/VpcPeeringConnectionCreateResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["projects:write"]}]}}, "/project/{project}/vpcs/{project_vpc_id}/peering-connections/peer-accounts/{peer_cloud_account}/peer-vpcs/{peer_vpc}": {"delete": {"summary": "Delete a peering connection for a project VPC", "tags": ["Project"], "operationId": "VpcPeeringConnectionDelete", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/project_vpc_id"}, {"$ref": "#/components/parameters/peer_cloud_account"}, {"$ref": "#/components/parameters/peer_vpc"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/VpcPeeringConnectionDeleteResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["projects:write"]}]}}, "/project/{project}/vpcs/{project_vpc_id}/user-peer-network-cidrs": {"put": {"summary": "Update user-defined peer network CIDRs for a project VPC", "tags": ["Project"], "operationId": "VpcPeeringConnectionUpdate", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/project_vpc_id"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/VpcPeeringConnectionUpdateRequestBody"}, "example": {"add": [{"cidr": "192.168.6.0/24", "peer_cloud_account": "123456789012", "peer_resource_group": "my-peered-rg", "peer_vpc": "vpc-2f09a348"}], "delete": ["192.168.6.0/24"]}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/VpcPeeringConnectionUpdateResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["projects:write"]}]}}, "/project/{project}/vpcs/{project_vpc_id}/peering-connections/peer-accounts/{peer_cloud_account}/peer-vpcs/{peer_vpc}/peer-regions/{peer_region}": {"delete": {"summary": "Delete a peering connection for a project VPC", "tags": ["Project"], "operationId": "VpcPeeringConnectionWithRegionDelete", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/project_vpc_id"}, {"$ref": "#/components/parameters/peer_cloud_account"}, {"$ref": "#/components/parameters/peer_vpc"}, {"$ref": "#/components/parameters/peer_region"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/VpcPeeringConnectionWithRegionDeleteResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["projects:write"]}]}}, "/project/{project}/vpcs/{project_vpc_id}/peering-connections/peer-accounts/{peer_cloud_account}/peer-resource-groups/{peer_resource_group}/peer-vpcs/{peer_vpc}": {"delete": {"summary": "Delete a peering connection for a project VPC", "tags": ["Project"], "operationId": "VpcPeeringConnectionWithResourceGroupDelete", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/project_vpc_id"}, {"$ref": "#/components/parameters/peer_cloud_account"}, {"$ref": "#/components/parameters/peer_resource_group"}, {"$ref": "#/components/parameters/peer_vpc"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/VpcPeeringConnectionWithResourceGroupDeleteResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["projects:write"]}]}}, "/project/{project}/credits": {"post": {"summary": "Claim a credit code", "tags": ["Project_Billing"], "operationId": "ProjectCreditsClaim", "deprecated": true, "description": "<p>DEPRECATED: Use /billing-group/&lt;billing_group_id&gt;/credits</p>", "parameters": [{"$ref": "#/components/parameters/project"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ProjectCreditsClaimRequestBody"}, "example": {"code": "AVN2015"}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ProjectCreditsClaimResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["projects:write", "billing:write"]}]}, "get": {"summary": "List credits available to the project", "tags": ["Project_Billing"], "operationId": "ProjectCreditsList", "description": "<p>List all credits available to the project. Credits are assigned at the billing group.</p><p>DEPRECATED: Use /billing-group/&lt;billing_group_id&gt;/credits instead.</p>", "deprecated": true, "parameters": [{"$ref": "#/components/parameters/project"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ProjectCreditsListResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["projects:read", "billing:read"]}]}}, "/project/{project}/invoice/{invoice_number}/{download_cookie}": {"get": {"summary": "Download PDF invoice", "tags": ["Project_Billing"], "operationId": "ProjectInvoiceGet", "deprecated": true, "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/invoice_number"}, {"$ref": "#/components/parameters/download_cookie"}], "responses": {"200": {"description": "Returns a PDF report", "content": {"application/pdf": {"schema": {"type": "string", "format": "binary"}}}}}}}, "/project/{project}/invoice": {"get": {"summary": "List project invoices", "tags": ["Project_Billing"], "operationId": "ProjectInvoiceList", "deprecated": true, "parameters": [{"$ref": "#/components/parameters/project"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ProjectInvoiceListResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["projects:read", "billing:read"]}]}}, "/project/{project}/kms/ca": {"get": {"summary": "Retrieve project CA certificate", "tags": ["Project_Key_Management"], "operationId": "ProjectKmsGetCA", "parameters": [{"$ref": "#/components/parameters/project"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ProjectKmsGetCAResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["projects:read"]}]}}, "/project/{project}/secrets/cmks/{cmk_id}/access_check": {"post": {"summary": "Trigger an access check on CMK", "tags": ["Secrets"], "operationId": "CMKAccessCheckTrigger", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/cmk_id"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CMKAccessCheckTriggerResponse"}}}}, "404": {"description": "Project not found", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["project_not_found"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "project_not_found: Project not found"}}}}}}}}}, "400": {"description": "Invalid CMK ID format", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["invalid_cmk_id"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "invalid_cmk_id: Invalid CMK ID format"}}}}}}}}}, "403": {"description": "This feature is not enabled in your context, please contact support to enable it.", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["feature_not_enabled"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "feature_not_enabled: This feature is not enabled in your context, please contact support to enable it"}}}}}}}}}}, "security": [{"tokenAuth": [], "oauth2": ["projects:write"]}]}}, "/project/{project}/secrets/cmks/accessors": {"get": {"summary": "List CMK accessors", "tags": ["Secrets"], "operationId": "CMKAccessorsList", "parameters": [{"$ref": "#/components/parameters/project"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CMKAccessorsListResponse"}}}}, "404": {"description": "Project not found", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["project_not_found"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "project_not_found: Project not found"}}}}}}}}}, "403": {"description": "This feature is not enabled in your context, please contact support to enable it.", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["feature_not_enabled"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "feature_not_enabled: This feature is not enabled in your context, please contact support to enable it"}}}}}}}}}}, "security": [{"tokenAuth": [], "oauth2": ["projects:read"]}]}}, "/project/{project}/secrets/cmks": {"post": {"summary": "Create new CMK", "tags": ["Secrets"], "operationId": "CMKCreate", "description": "<p>Request example: { &quot;provider&quot;: &quot;aws&quot;, &quot;resource&quot;: &quot;arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012&quot; } Response example: { &quot;cmk&quot;: { &quot;id&quot;: &quot;550e8400-e29b-41d4-a716-446655440000&quot;, &quot;provider&quot;: &quot;aws&quot;, &quot;resource&quot;: &quot;arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012&quot;, &quot;status&quot;: &quot;current&quot;, &quot;default_cmk&quot;: False, &quot;created_at&quot;: &quot;2025-01-15T10:30:00Z&quot;, &quot;updated_at&quot;: &quot;2025-01-15T10:30:00Z&quot; } }</p>", "parameters": [{"$ref": "#/components/parameters/project"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/CMKCreateRequestBody"}, "example": {"default_cmk": true, "provider": "aws", "resource": "my-resource"}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CMKCreateResponse"}}}}, "404": {"description": "Project not found", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["project_not_found"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "project_not_found: Project not found"}}}}}}}}}, "403": {"description": "This feature is not enabled in your context, please contact support to enable it.", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["feature_not_enabled"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "feature_not_enabled: This feature is not enabled in your context, please contact support to enable it"}}}}}}}}}}, "security": [{"tokenAuth": [], "oauth2": ["projects:write"]}]}, "get": {"summary": "List CMKs", "tags": ["Secrets"], "operationId": "CMKList", "description": "<p>Response example: { &quot;cmks&quot;: [ { &quot;id&quot;: &quot;550e8400-e29b-41d4-a716-446655440000&quot;, &quot;provider&quot;: &quot;aws&quot;, &quot;resource&quot;: &quot;arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012&quot;, &quot;status&quot;: &quot;current&quot;, &quot;created_at&quot;: &quot;2025-01-15T10:30:00Z&quot;, &quot;updated_at&quot;: &quot;2025-01-15T10:30:00Z&quot; } ] }</p>", "parameters": [{"$ref": "#/components/parameters/project"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CMKListResponse"}}}}, "404": {"description": "Project not found", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["project_not_found"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "project_not_found: Project not found"}}}}}}}}}, "403": {"description": "This feature is not enabled in your context, please contact support to enable it.", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["feature_not_enabled"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "feature_not_enabled: This feature is not enabled in your context, please contact support to enable it"}}}}}}}}}}, "security": [{"tokenAuth": [], "oauth2": ["projects:read"]}]}}, "/project/{project}/secrets/cmks/{cmk_id}": {"delete": {"summary": "Delete CMK", "tags": ["Secrets"], "operationId": "CMKDelete", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/cmk_id"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CMKDeleteResponse"}}}}, "404": {"description": "Project not found", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["project_not_found"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "project_not_found: Project not found"}}}}}}}}}, "400": {"description": "Invalid CMK ID format", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["invalid_cmk_id"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "invalid_cmk_id: Invalid CMK ID format"}}}}}}}}}, "403": {"description": "This feature is not enabled in your context, please contact support to enable it.", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["feature_not_enabled"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "feature_not_enabled: This feature is not enabled in your context, please contact support to enable it"}}}}}}}}}}, "security": [{"tokenAuth": [], "oauth2": ["projects:write"]}]}, "get": {"summary": "Get CMK details", "tags": ["Secrets"], "operationId": "CMKGet", "description": "<p>Response example: { &quot;cmk&quot;: { &quot;id&quot;: &quot;550e8400-e29b-41d4-a716-446655440000&quot;, &quot;provider&quot;: &quot;aws&quot;, &quot;resource&quot;: &quot;arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012&quot;, &quot;status&quot;: &quot;current&quot;, &quot;created_at&quot;: &quot;2025-01-15T10:30:00Z&quot;, &quot;updated_at&quot;: &quot;2025-01-15T10:30:00Z&quot; } }</p>", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/cmk_id"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CMKGetResponse"}}}}, "404": {"description": "Project not found", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["project_not_found"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "project_not_found: Project not found"}}}}}}}}}, "400": {"description": "Invalid CMK ID format", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["invalid_cmk_id"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "invalid_cmk_id: Invalid CMK ID format"}}}}}}}}}, "403": {"description": "This feature is not enabled in your context, please contact support to enable it.", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["feature_not_enabled"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "feature_not_enabled: This feature is not enabled in your context, please contact support to enable it"}}}}}}}}}}, "security": [{"tokenAuth": [], "oauth2": ["projects:read"]}]}, "post": {"summary": "Update CMK", "tags": ["Secrets"], "operationId": "CMKUpdate", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/cmk_id"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/CMKUpdateRequestBody"}, "example": {"default_cmk": false}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CMKUpdateResponse"}}}}, "404": {"description": "Project not found", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["project_not_found"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "project_not_found: Project not found"}}}}}}}}}, "400": {"description": "Invalid CMK ID format", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["invalid_cmk_id"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "invalid_cmk_id: Invalid CMK ID format"}}}}}}}}}, "403": {"description": "This feature is not enabled in your context, please contact support to enable it.", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["feature_not_enabled"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "feature_not_enabled: This feature is not enabled in your context, please contact support to enable it"}}}}}}}}}}, "security": [{"tokenAuth": [], "oauth2": ["projects:write"]}]}}, "/project/{project}/service/{service_name}/alloydbomni/google_cloud_private_key": {"get": {"summary": "Get Google service account key", "tags": ["Service:_AlloyDB_Omni"], "operationId": "AlloyDbOmniGoogleCloudPrivateKeyIdentify", "description": "<p>Retrieve an identifier of the Google Cloud service account key registered for Aiven for AlloyDB Omni AI model integrations.</p>", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AlloyDbOmniGoogleCloudPrivateKeyIdentifyResponse"}}}}, "403": {"description": "Operation not allowed", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["request_forbidden"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "request_forbidden: Not authorized to view the request"}}}}}}}}}, "404": {"description": "Resource not found", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["project_not_found"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "project_not_found: Project not found"}}}}}}}}}, "409": {"description": "Request conflict", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["invalid_service_type"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "invalid_service_type: Invalid service type for this operation"}}}}}}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:read"]}]}, "delete": {"summary": "Delete Google service account key", "tags": ["Service:_AlloyDB_Omni"], "operationId": "AlloyDbOmniGoogleCloudPrivateKeyRemove", "description": "<p>Delete an identifier of the Google Cloud service account key from your Aiven for AlloyDB Omni service. As a consequence, you won't be able to access or use AI models with this service.</p>", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AlloyDbOmniGoogleCloudPrivateKeyRemoveResponse"}}}}, "403": {"description": "Operation not allowed", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["request_forbidden"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "request_forbidden: Not authorized to view the request"}}}}}}}}}, "404": {"description": "Resource not found", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["project_not_found"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "project_not_found: Project not found"}}}}}}}}}, "409": {"description": "Request conflict", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["invalid_service_type"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "invalid_service_type: Invalid service type for this operation"}}}}}}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:read", "services:write"]}]}, "post": {"summary": "Add Google service account key", "tags": ["Service:_AlloyDB_Omni"], "operationId": "AlloyDbOmniGoogleCloudPrivateKeySet", "description": "<p>Register an identifier of the Google Cloud service account key for Aiven for AlloyDB Omni AI model integrations.</p>", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/AlloyDbOmniGoogleCloudPrivateKeySetRequestBody"}, "example": {"private_key": "{\"type\": \"service_account\", ..."}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AlloyDbOmniGoogleCloudPrivateKeySetResponse"}}}}, "403": {"description": "Operation not allowed", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["request_forbidden"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "request_forbidden: Not authorized to view the request"}}}}}}}}}, "404": {"description": "Resource not found", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["project_not_found"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "project_not_found: Project not found"}}}}}}}}}, "409": {"description": "Request conflict", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["invalid_service_type"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "invalid_service_type: Invalid service type for this operation"}}}}}}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:read", "services:write"]}]}}, "/project/{project}/service/{service_name}/clickhouse/query": {"get": {"summary": "List active queries", "tags": ["Service:_ClickHouse"], "operationId": "ServiceClickHouseCurrentQueries", "description": "<p>Returns a list of active queries on a cluster.</p>", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceClickHouseCurrentQueriesResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:read"]}]}, "post": {"summary": "Execute an SQL query", "tags": ["Service:_ClickHouse"], "operationId": "ServiceClickHouseQuery", "description": "<p>Executes an SQL query.</p>", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceClickHouseQueryRequestBody"}, "example": {"database": "defaultdb", "query": "SELECT 1"}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceClickHouseQueryResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:write"]}]}}, "/project/{project}/service/{service_name}/clickhouse/db": {"post": {"summary": "Create a database", "tags": ["Service:_ClickHouse"], "operationId": "ServiceClickHouseDatabaseCreate", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceClickHouseDatabaseCreateRequestBody"}, "example": {"database": "testdb"}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceClickHouseDatabaseCreateResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:write"]}]}, "get": {"summary": "List all databases", "tags": ["Service:_ClickHouse"], "operationId": "ServiceClickHouseDatabaseList", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceClickHouseDatabaseListResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:read"]}]}}, "/project/{project}/service/{service_name}/clickhouse/db/{database}": {"delete": {"summary": "Delete a database", "tags": ["Service:_ClickHouse"], "operationId": "ServiceClickHouseDatabaseDelete", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}, {"$ref": "#/components/parameters/database"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceClickHouseDatabaseDeleteResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:write"]}]}}, "/project/{project}/service/{service_name}/clickhouse/user/{user_uuid}/password": {"put": {"summary": "Reset a user's password", "tags": ["Service:_ClickHouse"], "operationId": "ServiceClickHousePasswordReset", "description": "<p>Resets the password for a ClickHouse user.</p>", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}, {"$ref": "#/components/parameters/user_uuid"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceClickHousePasswordResetRequestBody"}, "example": {"password": "!@$password12345"}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceClickHousePasswordResetResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:write"]}]}}, "/project/{project}/service/{service_name}/clickhouse/query/stats": {"get": {"summary": "Return statistics on recent queries", "tags": ["Service:_ClickHouse"], "operationId": "ServiceClickHouseQueryStats", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}, {"$ref": "#/components/parameters/serviceclickhousequerystats_limit"}, {"$ref": "#/components/parameters/serviceclickhousequerystats_offset"}, {"$ref": "#/components/parameters/serviceclickhousequerystats_order_by"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceClickHouseQueryStatsResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:read"]}]}}, "/project/{project}/service/{service_name}/clickhouse/tiered-storage/summary": {"get": {"summary": "Get the ClickHouse tiered storage summary", "tags": ["Service:_ClickHouse"], "operationId": "ServiceClickHouseTieredStorageSummary", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceClickHouseTieredStorageSummaryResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:read"]}]}}, "/project/{project}/service/{service_name}/clickhouse/user": {"post": {"summary": "Create a ClickHouse user", "tags": ["Service:_ClickHouse"], "operationId": "ServiceClickHouseUserCreate", "description": "<p>Creates a new user in ClickHouse.</p>", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceClickHouseUserCreateRequestBody"}, "example": {"name": "alice", "password": "!@$password12345", "roles": [{"uuid": "12345678-1234-1234-1234-12345678abcd"}]}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceClickHouseUserCreateResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:write"]}]}, "get": {"summary": "List all users", "tags": ["Service:_ClickHouse"], "operationId": "ServiceClickHouseUserList", "description": "<p>Lists all users in ClickHouse.</p>", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceClickHouseUserListResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:read"]}]}}, "/project/{project}/service/{service_name}/clickhouse/user/{user_uuid}": {"delete": {"summary": "Delete a user", "tags": ["Service:_ClickHouse"], "operationId": "ServiceClickHouseUserDelete", "description": "<p>Deletes a user from ClickHouse.</p>", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}, {"$ref": "#/components/parameters/user_uuid"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceClickHouseUserDeleteResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:write"]}]}}, "/project/{project}/service/{service_name}/flink/application/{application_id}/deployment/{deployment_id}/cancel": {"post": {"summary": "Cancel an ApplicationDeployment", "tags": ["Service:_Flink"], "operationId": "ServiceFlinkCancelApplicationDeployment", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}, {"$ref": "#/components/parameters/application_id"}, {"$ref": "#/components/parameters/deployment_id"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceFlinkCancelApplicationDeploymentResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:write"]}]}}, "/project/{project}/service/{service_name}/flink/jar_application/{application_id}/deployment/{deployment_id}/cancel": {"post": {"summary": "Cancel a JarApplicationDeployment", "tags": ["Service:_Flink"], "operationId": "ServiceFlinkCancelJarApplicationDeployment", "x-badges": [{"name": "Experimental", "position": "after", "color": "#787885"}], "x-experimental": true, "description": "<p><blockquote>This endpoint <b>may be changed or removed at any time</b>. Don't use it in production environments.</blockquote><p>", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}, {"$ref": "#/components/parameters/application_id"}, {"$ref": "#/components/parameters/deployment_id"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceFlinkCancelJarApplicationDeploymentResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:write"]}]}}, "/project/{project}/service/{service_name}/flink/application": {"post": {"summary": "Create a Flink Application", "tags": ["Service:_Flink"], "operationId": "ServiceFlinkCreateApplication", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceFlinkCreateApplicationRequestBody"}, "example": {"application_version": {"sinks": [{"create_table": "CREATE TABLE table1 cpu FLOAT, node INT, cpu_percent INT, occurred_at TIMESTAMP_LTZ(3) WITH ()", "integration_id": "9865d88e-b397-452e-b8a3-d716d6f85f7e"}], "sources": [{"create_table": "CREATE TABLE table1 cpu FLOAT, node INT, cpu_percent INT, occurred_at TIMESTAMP_LTZ(3) WITH ()", "integration_id": "9865d88e-b397-452e-b8a3-d716d6f85f7e"}], "statement": "INSERT INTO table_out SELECT c1, c2 FROM table_in WHERE c1 > 0"}, "name": "TestJob"}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceFlinkCreateApplicationResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:write"]}]}, "get": {"summary": "Get all Flink Applications", "tags": ["Service:_Flink"], "operationId": "ServiceFlinkListApplications", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceFlinkListApplicationsResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:read"]}]}}, "/project/{project}/service/{service_name}/flink/application/{application_id}/deployment": {"post": {"summary": "Create an ApplicationDeployment", "tags": ["Service:_Flink"], "operationId": "ServiceFlinkCreateApplicationDeployment", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}, {"$ref": "#/components/parameters/application_id"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceFlinkCreateApplicationDeploymentRequestBody"}, "example": {"parallelism": 1, "restart_enabled": true, "starting_savepoint": "path/to/savepoint", "version_id": "543e420d-aa63-43e8-b8e8-294a78c600e7"}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceFlinkCreateApplicationDeploymentResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:write"]}]}, "get": {"summary": "Get all ApplicationDeployments", "tags": ["Service:_Flink"], "operationId": "ServiceFlinkListApplicationDeployments", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}, {"$ref": "#/components/parameters/application_id"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceFlinkListApplicationDeploymentsResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:read"]}]}}, "/project/{project}/service/{service_name}/flink/application/{application_id}/version": {"post": {"summary": "Create a Flink ApplicationVersion", "tags": ["Service:_Flink"], "operationId": "ServiceFlinkCreateApplicationVersion", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}, {"$ref": "#/components/parameters/application_id"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceFlinkCreateApplicationVersionRequestBody"}, "example": {"sinks": [{"create_table": "CREATE TABLE table1 cpu FLOAT, node INT, cpu_percent INT, occurred_at TIMESTAMP_LTZ(3) WITH ()", "integration_id": "9865d88e-b397-452e-b8a3-d716d6f85f7e"}], "sources": [{"create_table": "CREATE TABLE table1 cpu FLOAT, node INT, cpu_percent INT, occurred_at TIMESTAMP_LTZ(3) WITH ()", "integration_id": "9865d88e-b397-452e-b8a3-d716d6f85f7e"}], "statement": "INSERT INTO table_out SELECT c1, c2 FROM table_in WHERE c1 > 0"}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceFlinkCreateApplicationVersionResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:write"]}]}}, "/project/{project}/service/{service_name}/flink/jar_application": {"post": {"summary": "Create a Flink JarApplication", "tags": ["Service:_Flink"], "operationId": "ServiceFlinkCreateJarApplication", "x-badges": [{"name": "Experimental", "position": "after", "color": "#787885"}], "x-experimental": true, "description": "<p><blockquote>This endpoint <b>may be changed or removed at any time</b>. Don't use it in production environments.</blockquote><p>", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceFlinkCreateJarApplicationRequestBody"}, "example": {"name": "TestJob"}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceFlinkCreateJarApplicationResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:write"]}]}, "get": {"summary": "Get all Flink JarApplications", "tags": ["Service:_Flink"], "operationId": "ServiceFlinkListJarApplications", "x-badges": [{"name": "Experimental", "position": "after", "color": "#787885"}], "x-experimental": true, "description": "<p><blockquote>This endpoint <b>may be changed or removed at any time</b>. Don't use it in production environments.</blockquote><p>", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceFlinkListJarApplicationsResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:read"]}]}}, "/project/{project}/service/{service_name}/flink/jar_application/{application_id}/deployment": {"post": {"summary": "Create an JarApplicationDeployment", "tags": ["Service:_Flink"], "operationId": "ServiceFlinkCreateJarApplicationDeployment", "x-badges": [{"name": "Experimental", "position": "after", "color": "#787885"}], "x-experimental": true, "description": "<p><blockquote>This endpoint <b>may be changed or removed at any time</b>. Don't use it in production environments.</blockquote><p>", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}, {"$ref": "#/components/parameters/application_id"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceFlinkCreateJarApplicationDeploymentRequestBody"}, "example": {"entry_class": "com.example.MyFlinkJob", "parallelism": 1, "program_args": ["example-argument"], "restart_enabled": true, "starting_savepoint": "path/to/savepoint", "version_id": "543e420d-aa63-43e8-b8e8-294a78c600e7"}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceFlinkCreateJarApplicationDeploymentResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:write"]}]}, "get": {"summary": "Get all JarApplicationDeployments", "tags": ["Service:_Flink"], "operationId": "ServiceFlinkListJarApplicationDeployments", "x-badges": [{"name": "Experimental", "position": "after", "color": "#787885"}], "x-experimental": true, "description": "<p><blockquote>This endpoint <b>may be changed or removed at any time</b>. Don't use it in production environments.</blockquote><p>", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}, {"$ref": "#/components/parameters/application_id"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceFlinkListJarApplicationDeploymentsResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:read"]}]}}, "/project/{project}/service/{service_name}/flink/jar_application/{application_id}/version": {"post": {"summary": "Create a Flink JarApplicationVersion", "tags": ["Service:_Flink"], "operationId": "ServiceFlinkCreateJarApplicationVersion", "x-badges": [{"name": "Experimental", "position": "after", "color": "#787885"}], "x-experimental": true, "description": "<p><blockquote>This endpoint <b>may be changed or removed at any time</b>. Don't use it in production environments.</blockquote><p>", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}, {"$ref": "#/components/parameters/application_id"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceFlinkCreateJarApplicationVersionResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:write"]}]}}, "/project/{project}/service/{service_name}/flink/application/{application_id}": {"delete": {"summary": "Delete a Flink Application", "tags": ["Service:_Flink"], "operationId": "ServiceFlinkDeleteApplication", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}, {"$ref": "#/components/parameters/application_id"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceFlinkDeleteApplicationResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:write"]}]}, "get": {"summary": "Get a Flink Application", "tags": ["Service:_Flink"], "operationId": "ServiceFlinkGetApplication", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}, {"$ref": "#/components/parameters/application_id"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceFlinkGetApplicationResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:read"]}]}, "put": {"summary": "Update a Flink Application", "tags": ["Service:_Flink"], "operationId": "ServiceFlinkUpdateApplication", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}, {"$ref": "#/components/parameters/application_id"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceFlinkUpdateApplicationRequestBody"}, "example": {"name": "TestJob"}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceFlinkUpdateApplicationResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:write"]}]}}, "/project/{project}/service/{service_name}/flink/application/{application_id}/deployment/{deployment_id}": {"delete": {"summary": "Delete an ApplicationDeployment", "tags": ["Service:_Flink"], "operationId": "ServiceFlinkDeleteApplicationDeployment", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}, {"$ref": "#/components/parameters/application_id"}, {"$ref": "#/components/parameters/deployment_id"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceFlinkDeleteApplicationDeploymentResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:write"]}]}, "get": {"summary": "Get an ApplicationDeployment", "tags": ["Service:_Flink"], "operationId": "ServiceFlinkGetApplicationDeployment", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}, {"$ref": "#/components/parameters/application_id"}, {"$ref": "#/components/parameters/deployment_id"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceFlinkGetApplicationDeploymentResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:read"]}]}}, "/project/{project}/service/{service_name}/flink/application/{application_id}/version/{application_version_id}": {"delete": {"summary": "Delete a Flink ApplicationVersion", "tags": ["Service:_Flink"], "operationId": "ServiceFlinkDeleteApplicationVersion", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}, {"$ref": "#/components/parameters/application_id"}, {"$ref": "#/components/parameters/application_version_id"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceFlinkDeleteApplicationVersionResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:write"]}]}, "get": {"summary": "Get a Flink ApplicationVersion", "tags": ["Service:_Flink"], "operationId": "ServiceFlinkGetApplicationVersion", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}, {"$ref": "#/components/parameters/application_id"}, {"$ref": "#/components/parameters/application_version_id"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceFlinkGetApplicationVersionResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:read"]}]}}, "/project/{project}/service/{service_name}/flink/jar_application/{application_id}": {"delete": {"summary": "Delete a Flink JarApplication", "tags": ["Service:_Flink"], "operationId": "ServiceFlinkDeleteJarApplication", "x-badges": [{"name": "Experimental", "position": "after", "color": "#787885"}], "x-experimental": true, "description": "<p><blockquote>This endpoint <b>may be changed or removed at any time</b>. Don't use it in production environments.</blockquote><p>", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}, {"$ref": "#/components/parameters/application_id"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceFlinkDeleteJarApplicationResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:write"]}]}, "get": {"summary": "Get a Flink JarApplication", "tags": ["Service:_Flink"], "operationId": "ServiceFlinkGetJarApplication", "x-badges": [{"name": "Experimental", "position": "after", "color": "#787885"}], "x-experimental": true, "description": "<p><blockquote>This endpoint <b>may be changed or removed at any time</b>. Don't use it in production environments.</blockquote><p>", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}, {"$ref": "#/components/parameters/application_id"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceFlinkGetJarApplicationResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:read"]}]}, "put": {"summary": "Update a Flink JarApplication", "tags": ["Service:_Flink"], "operationId": "ServiceFlinkUpdateJarApplication", "x-badges": [{"name": "Experimental", "position": "after", "color": "#787885"}], "x-experimental": true, "description": "<p><blockquote>This endpoint <b>may be changed or removed at any time</b>. Don't use it in production environments.</blockquote><p>", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}, {"$ref": "#/components/parameters/application_id"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceFlinkUpdateJarApplicationRequestBody"}, "example": {"name": "TestJob"}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceFlinkUpdateJarApplicationResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:write"]}]}}, "/project/{project}/service/{service_name}/flink/jar_application/{application_id}/deployment/{deployment_id}": {"delete": {"summary": "Delete a JarApplicationDeployment", "tags": ["Service:_Flink"], "operationId": "ServiceFlinkDeleteJarApplicationDeployment", "x-badges": [{"name": "Experimental", "position": "after", "color": "#787885"}], "x-experimental": true, "description": "<p><blockquote>This endpoint <b>may be changed or removed at any time</b>. Don't use it in production environments.</blockquote><p>", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}, {"$ref": "#/components/parameters/application_id"}, {"$ref": "#/components/parameters/deployment_id"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceFlinkDeleteJarApplicationDeploymentResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:write"]}]}, "get": {"summary": "Get a JarApplicationDeployment", "tags": ["Service:_Flink"], "operationId": "ServiceFlinkGetJarApplicationDeployment", "x-badges": [{"name": "Experimental", "position": "after", "color": "#787885"}], "x-experimental": true, "description": "<p><blockquote>This endpoint <b>may be changed or removed at any time</b>. Don't use it in production environments.</blockquote><p>", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}, {"$ref": "#/components/parameters/application_id"}, {"$ref": "#/components/parameters/deployment_id"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceFlinkGetJarApplicationDeploymentResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:read"]}]}}, "/project/{project}/service/{service_name}/flink/jar_application/{application_id}/version/{application_version_id}": {"delete": {"summary": "Delete a Flink JarApplicationVersion", "tags": ["Service:_Flink"], "operationId": "ServiceFlinkDeleteJarApplicationVersion", "x-badges": [{"name": "Experimental", "position": "after", "color": "#787885"}], "x-experimental": true, "description": "<p><blockquote>This endpoint <b>may be changed or removed at any time</b>. Don't use it in production environments.</blockquote><p>", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}, {"$ref": "#/components/parameters/application_id"}, {"$ref": "#/components/parameters/application_version_id"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceFlinkDeleteJarApplicationVersionResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:write"]}]}, "get": {"summary": "Get a Flink JarApplicationVersion", "tags": ["Service:_Flink"], "operationId": "ServiceFlinkGetJarApplicationVersion", "x-badges": [{"name": "Experimental", "position": "after", "color": "#787885"}], "x-experimental": true, "description": "<p><blockquote>This endpoint <b>may be changed or removed at any time</b>. Don't use it in production environments.</blockquote><p>", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}, {"$ref": "#/components/parameters/application_id"}, {"$ref": "#/components/parameters/application_version_id"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceFlinkGetJarApplicationVersionResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:read"]}]}}, "/project/{project}/service/{service_name}/flink/job/{job_id}": {"get": {"summary": "Get a Flink job info", "tags": ["Service:_Flink"], "operationId": "ServiceFlinkJobDetails", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}, {"$ref": "#/components/parameters/job_id"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceFlinkJobDetailsResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:read"]}]}}, "/project/{project}/service/{service_name}/flink/job": {"get": {"summary": "Get all Flink jobs", "tags": ["Service:_Flink"], "operationId": "ServiceFlinkJobsList", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceFlinkJobsListResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:read"]}]}}, "/project/{project}/service/{service_name}/flink/overview": {"get": {"summary": "Get a cluster overview", "tags": ["Service:_Flink"], "operationId": "ServiceFlinkOverview", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceFlinkOverviewResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:read"]}]}}, "/project/{project}/service/{service_name}/flink/application/{application_id}/deployment/{deployment_id}/stop": {"post": {"summary": "Stop an ApplicationDeployment", "tags": ["Service:_Flink"], "operationId": "ServiceFlinkStopApplicationDeployment", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}, {"$ref": "#/components/parameters/application_id"}, {"$ref": "#/components/parameters/deployment_id"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceFlinkStopApplicationDeploymentResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:write"]}]}}, "/project/{project}/service/{service_name}/flink/jar_application/{application_id}/deployment/{deployment_id}/stop": {"post": {"summary": "Stop an JarApplicationDeployment", "tags": ["Service:_Flink"], "operationId": "ServiceFlinkStopJarApplicationDeployment", "x-badges": [{"name": "Experimental", "position": "after", "color": "#787885"}], "x-experimental": true, "description": "<p><blockquote>This endpoint <b>may be changed or removed at any time</b>. Don't use it in production environments.</blockquote><p>", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}, {"$ref": "#/components/parameters/application_id"}, {"$ref": "#/components/parameters/deployment_id"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceFlinkStopJarApplicationDeploymentResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:write"]}]}}, "/project/{project}/service/{service_name}/flink/application/{application_id}/version/validate": {"post": {"summary": "Validate a Flink ApplicationVersion", "tags": ["Service:_Flink"], "operationId": "ServiceFlinkValidateApplicationVersion", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}, {"$ref": "#/components/parameters/application_id"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceFlinkValidateApplicationVersionRequestBody"}, "example": {"sinks": [{"create_table": "CREATE TABLE table1 cpu FLOAT, node INT, cpu_percent INT, occurred_at TIMESTAMP_LTZ(3) WITH ()", "integration_id": "9865d88e-b397-452e-b8a3-d716d6f85f7e"}], "sources": [{"create_table": "CREATE TABLE table1 cpu FLOAT, node INT, cpu_percent INT, occurred_at TIMESTAMP_LTZ(3) WITH ()", "integration_id": "9865d88e-b397-452e-b8a3-d716d6f85f7e"}], "statement": "INSERT INTO table_out SELECT c1, c2 FROM table_in WHERE c1 > 0"}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceFlinkValidateApplicationVersionResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:write"]}]}}, "/project/{project}/service/{service_name}/acl": {"post": {"summary": "Add Aiven Kafka ACL entry", "tags": ["Service:_Kafka"], "operationId": "ServiceKafkaAclAdd", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceKafkaAclAddRequestBody"}, "example": {"permission": "readwrite", "topic": "top*", "username": "admin*"}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceKafkaAclAddResponse"}}}}, "400": {"description": "Invalid request parameters", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["service_acl_too_many"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "service_acl_too_many: Maximum number of service ACLs reached"}}}}}}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:write"]}]}, "get": {"summary": "List Aiven ACL entries for Kafka service", "tags": ["Service:_Kafka"], "operationId": "ServiceKafkaAclList", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceKafkaAclListResponse"}}}}, "404": {"description": "Resource not found", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["service_not_found"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "service_not_found: Service not found"}}}}}}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:read"]}]}}, "/project/{project}/service/{service_name}/acl/{kafka_acl_id}": {"delete": {"summary": "Delete a Kafka ACL entry", "tags": ["Service:_Kafka"], "operationId": "ServiceKafkaAclDelete", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}, {"$ref": "#/components/parameters/kafka_acl_id"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceKafkaAclDeleteResponse"}}}}, "404": {"description": "Resource not found", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["service_acl_not_found"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "service_acl_not_found: No such service ACL exists"}}}}}}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:write"]}]}}, "/project/{project}/service/{service_name}/connectors": {"post": {"summary": "Create a Kafka Connect connector", "tags": ["Service:_Kafka"], "operationId": "ServiceKafkaConnectCreateConnector", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceKafkaConnectCreateConnectorRequestBody"}, "example": {"connector\\.class": "io.debezium.connector.postgresql.PostgresConnector", "name": "s3-sink-us-east-1"}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceKafkaConnectCreateConnectorResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:write"]}]}, "get": {"summary": "Lists Kafka connectors", "tags": ["Service:_Kafka"], "operationId": "ServiceKafkaConnectList", "description": "<p>Returns successfully resolved connectors in 'connectors' array. If any connectors fail plugin resolution, they are returned in 'failed_connectors' array with an 'error' field explaining the issue.</p>", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceKafkaConnectListResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:read"]}]}}, "/project/{project}/service/{service_name}/connectors/{connector_name}": {"delete": {"summary": "Delete Kafka Connect connector", "tags": ["Service:_Kafka"], "operationId": "ServiceKafkaConnectDeleteConnector", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}, {"$ref": "#/components/parameters/connector_name"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceKafkaConnectDeleteConnectorResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:write"]}]}, "put": {"summary": "Edit Kafka Connect connector", "tags": ["Service:_Kafka"], "operationId": "ServiceKafkaConnectEditConnector", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}, {"$ref": "#/components/parameters/connector_name"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceKafkaConnectEditConnectorRequestBody"}, "example": {"connector\\.class": "io.debezium.connector.postgresql.PostgresConnector", "name": "s3-sink-us-east-1"}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceKafkaConnectEditConnectorResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:write"]}]}}, "/project/{project}/service/{service_name}/available-connectors": {"get": {"summary": "Get available Kafka Connect connectors", "tags": ["Service:_Kafka"], "operationId": "ServiceKafkaConnectGetAvailableConnectors", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceKafkaConnectGetAvailableConnectorsResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:read"]}]}}, "/project/{project}/service/{service_name}/connector-plugins/{connector_name}/configuration": {"get": {"summary": "Get Kafka Connect connector configuration schema", "tags": ["Service:_Kafka"], "operationId": "ServiceKafkaConnectGetConnectorConfiguration", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}, {"$ref": "#/components/parameters/connector_name"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceKafkaConnectGetConnectorConfigurationResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:read"]}]}}, "/project/{project}/service/{service_name}/connectors/{connector_name}/status": {"get": {"summary": "Get a Kafka Connect Connector status", "tags": ["Service:_Kafka"], "operationId": "ServiceKafkaConnectGetConnectorStatus", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}, {"$ref": "#/components/parameters/connector_name"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceKafkaConnectGetConnectorStatusResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:read"]}]}}, "/project/{project}/service/{service_name}/connectors/{connector_name}/pause": {"post": {"summary": "Pause a Kafka Connect Connector", "tags": ["Service:_Kafka"], "operationId": "ServiceKafkaConnectPauseConnector", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}, {"$ref": "#/components/parameters/connector_name"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceKafkaConnectPauseConnectorResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:write"]}]}}, "/project/{project}/service/{service_name}/connectors/{connector_name}/restart": {"post": {"summary": "Restart a Kafka Connect Connector", "tags": ["Service:_Kafka"], "operationId": "ServiceKafkaConnectRestartConnector", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}, {"$ref": "#/components/parameters/connector_name"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceKafkaConnectRestartConnectorResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:write"]}]}}, "/project/{project}/service/{service_name}/connectors/{connector_name}/tasks/{task_id}/restart": {"post": {"summary": "Restart a Kafka Connect Connector task", "tags": ["Service:_Kafka"], "operationId": "ServiceKafkaConnectRestartConnectorTask", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}, {"$ref": "#/components/parameters/connector_name"}, {"$ref": "#/components/parameters/task_id"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceKafkaConnectRestartConnectorTaskResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:write"]}]}}, "/project/{project}/service/{service_name}/connectors/{connector_name}/resume": {"post": {"summary": "Resume a Kafka Connect Connector", "tags": ["Service:_Kafka"], "operationId": "ServiceKafkaConnectResumeConnector", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}, {"$ref": "#/components/parameters/connector_name"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceKafkaConnectResumeConnectorResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:write"]}]}}, "/project/{project}/service/{service_name}/connectors/{connector_name}/stop": {"post": {"summary": "Stop a Kafka Connect Connector", "tags": ["Service:_Kafka"], "operationId": "ServiceKafkaConnectStopConnector", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}, {"$ref": "#/components/parameters/connector_name"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceKafkaConnectStopConnectorResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:write"]}]}}, "/project/{project}/service/{service_name}/kafka/acl": {"post": {"summary": "Add a Kafka-native ACL entry", "tags": ["Service:_Kafka"], "operationId": "ServiceKafkaNativeAclAdd", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceKafkaNativeAclAddRequestBody"}, "example": {"host": "*", "operation": "Read", "pattern_type": "LITERAL", "permission_type": "ALLOW", "principal": "User:alice", "resource_name": "consumer-group-1.", "resource_type": "Topic"}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceKafkaNativeAclAddResponse"}}}}, "400": {"description": "Invalid request parameters", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["service_acl_too_many"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "service_acl_too_many: Maximum number of service ACLs reached"}}}}}}}}}, "409": {"description": "Request conflict", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["kafka_acl_not_supported"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "kafka_acl_not_supported: Unsupported Kafka-native ACL"}}}}}}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:write"]}]}, "get": {"summary": "List Kafka-native ACL entries", "tags": ["Service:_Kafka"], "operationId": "ServiceKafkaNativeAclList", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceKafkaNativeAclListResponse"}}}}, "404": {"description": "Resource not found", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["service_not_found"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "service_not_found: Service not found"}}}}}}}}}, "409": {"description": "Request conflict", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["service_maintenance_required"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "service_maintenance_required: The service does not support the functionality. A maintenance update is required."}}}}}}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:read"]}]}}, "/project/{project}/service/{service_name}/kafka/acl/{kafka_acl_id}": {"delete": {"summary": "Delete a Kafka-native ACL entry", "tags": ["Service:_Kafka"], "operationId": "ServiceKafkaNativeAclDelete", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}, {"$ref": "#/components/parameters/kafka_acl_id"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceKafkaNativeAclDeleteResponse"}}}}, "404": {"description": "Resource not found", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["service_acl_not_found"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "service_acl_not_found: No such service ACL exists"}}}}}}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:write"]}]}, "get": {"summary": "Get single Kafka-native ACL entry", "tags": ["Service:_Kafka"], "operationId": "ServiceKafkaNativeAclGet", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}, {"$ref": "#/components/parameters/kafka_acl_id"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceKafkaNativeAclGetResponse"}}}}, "404": {"description": "Resource not found", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["service_acl_not_found"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "service_acl_not_found: No such service ACL exists"}}}}}}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:read"]}]}}, "/project/{project}/service/{service_name}/quota": {"post": {"summary": "Create Kafka quota", "tags": ["Service:_Kafka"], "operationId": "ServiceKafkaQuotaCreate", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceKafkaQuotaCreateRequestBody"}, "example": {"client\\-id": "abc123", "consumer_byte_rate": "1048576", "producer_byte_rate": "1048576", "request_percentage": "25", "user": "alice"}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceKafkaQuotaCreateResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:write"]}]}, "delete": {"summary": "Delete Kafka quota", "tags": ["Service:_Kafka"], "operationId": "ServiceKafkaQuotaDelete", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}, {"$ref": "#/components/parameters/servicekafkaquotadelete_client-id"}, {"$ref": "#/components/parameters/servicekafkaquotadelete_user"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceKafkaQuotaDeleteResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:write"]}]}, "get": {"summary": "List Kafka quotas", "tags": ["Service:_Kafka"], "operationId": "ServiceKafkaQuotaList", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceKafkaQuotaListResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:read"]}]}}, "/project/{project}/service/{service_name}/quota/describe": {"get": {"summary": "Describe Specific Kafka quotas", "tags": ["Service:_Kafka"], "operationId": "ServiceKafkaQuotaDescribe", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}, {"$ref": "#/components/parameters/servicekafkaquotadescribe_client-id"}, {"$ref": "#/components/parameters/servicekafkaquotadescribe_user"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceKafkaQuotaDescribeResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:read"]}]}}, "/project/{project}/service/{service_name}/kafka/tiered-storage/storage-usage/by-topic": {"get": {"summary": "Get the Kafka tiered storage object storage usage by topic", "tags": ["Service:_Kafka"], "operationId": "ServiceKafkaTieredStorageStorageUsageByTopic", "description": "<p>Return &quot;400 Bad Request&quot; if tiered storage feature is not enabled for this service. Rarely, the data may be not available. In this case, &quot;503 Service Unavailable&quot; is returned and the client should try later.</p>", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceKafkaTieredStorageStorageUsageByTopicResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:read"]}]}}, "/project/{project}/service/{service_name}/kafka/tiered-storage/storage-usage/total": {"get": {"summary": "Get the Kafka tiered storage total object storage usage", "tags": ["Service:_Kafka"], "operationId": "ServiceKafkaTieredStorageStorageUsageTotal", "description": "<p>Return &quot;400 Bad Request&quot; if tiered storage feature is not enabled for this service. Rarely, the data may be not available. In this case, &quot;503 Service Unavailable&quot; is returned and the client should try later.</p>", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceKafkaTieredStorageStorageUsageTotalResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:read"]}]}}, "/project/{project}/service/{service_name}/kafka/tiered-storage/summary": {"get": {"summary": "Get the Kafka tiered storage summary", "tags": ["Service:_Kafka"], "operationId": "ServiceKafkaTieredStorageSummary", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceKafkaTieredStorageSummaryResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:read"]}]}}, "/project/{project}/service/{service_name}/topic": {"post": {"summary": "Create a Kafka topic", "tags": ["Service:_Kafka"], "operationId": "ServiceKafkaTopicCreate", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceKafkaTopicCreateRequestBody"}, "example": {"cleanup_policy": "delete", "config": {"cleanup_policy": "delete", "compression_type": "zstd", "delete_retention_ms": 0, "diskless_enable": false, "file_delete_delay_ms": 0, "flush_messages": 0, "flush_ms": 0, "index_interval_bytes": 0, "local_retention_bytes": -2, "local_retention_ms": -2, "max_compaction_lag_ms": 0, "max_message_bytes": 0, "message_downconversion_enable": true, "message_format_version": "2.7-IV2", "message_timestamp_after_max_ms": 0, "message_timestamp_before_max_ms": 0, "message_timestamp_difference_max_ms": 0, "message_timestamp_type": "CreateTime", "min_cleanable_dirty_ratio": 0.5, "min_compaction_lag_ms": 0, "min_insync_replicas": 2, "preallocate": false, "remote_storage_enable": false, "retention_bytes": -1, "retention_ms": 604800000, "segment_bytes": 1073741824, "segment_index_bytes": 0, "segment_jitter_ms": 0, "segment_ms": 1, "unclean_leader_election_enable": false}, "min_insync_replicas": 2, "owner_user_group_id": "ug22ba494e096", "partitions": 1, "replication": 2, "retention_bytes": -1, "retention_hours": 72, "tags": [{"key": "My-tag_key", "value": "My tag value, value."}], "topic_description": "Platform events", "topic_name": "mytopic"}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceKafkaTopicCreateResponse"}}}}, "400": {"description": "Invalid request parameters", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["kafka_topic_invalid_config"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "kafka_topic_invalid_config: Topic configuration either invalid or conflicting with kafka setup"}}}}}}}}}, "409": {"description": "Request conflict", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["kafka_topic_already_exists"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "kafka_topic_already_exists: Topic already exists and cannot be created"}}}}}}}}}, "503": {"description": "The server cannot process the request due to a high load", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["kafka_service_unavailable"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "kafka_service_unavailable: Kafka service is currently unavailable"}}}}}}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:write"]}]}, "get": {"summary": "Get Kafka topic list", "tags": ["Service:_Kafka"], "operationId": "ServiceKafkaTopicList", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceKafkaTopicListResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:read"]}]}}, "/project/{project}/service/{service_name}/topic/{topic_name}": {"delete": {"summary": "Delete a Kafka topic", "tags": ["Service:_Kafka"], "operationId": "ServiceKafkaTopicDelete", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}, {"$ref": "#/components/parameters/topic_name"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceKafkaTopicDeleteResponse"}}}}, "404": {"description": "Resource not found", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["kafka_topic_not_found"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "kafka_topic_not_found: No such topic exists"}}}}}}}}}, "409": {"description": "Request conflict", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["kafka_topic_reserved"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "kafka_topic_reserved: Topic is reserved for internal use"}}}}}}}}}, "503": {"description": "The server cannot process the request due to a high load", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["kafka_service_unavailable"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "kafka_service_unavailable: Kafka service is currently unavailable"}}}}}}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:write"]}]}, "get": {"summary": "Get Kafka topic info", "tags": ["Service:_Kafka"], "operationId": "ServiceKafkaTopicGet", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}, {"$ref": "#/components/parameters/topic_name"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceKafkaTopicGetResponse"}}}}, "404": {"description": "Resource not found", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["kafka_topic_not_found"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "kafka_topic_not_found: No such topic exists"}}}}}}}}}, "409": {"description": "Request conflict", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["kafka_topic_not_synchronized"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "kafka_topic_not_synchronized: Topic state is not synchronized"}}}}}}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:read"]}]}, "put": {"summary": "Update a Kafka topic", "tags": ["Service:_Kafka"], "operationId": "ServiceKafkaTopicUpdate", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}, {"$ref": "#/components/parameters/topic_name"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceKafkaTopicUpdateRequestBody"}, "example": {"config": {"cleanup_policy": "delete", "compression_type": "zstd", "delete_retention_ms": 0, "diskless_enable": false, "file_delete_delay_ms": 0, "flush_messages": 0, "flush_ms": 0, "index_interval_bytes": 0, "local_retention_bytes": -2, "local_retention_ms": -2, "max_compaction_lag_ms": 0, "max_message_bytes": 0, "message_downconversion_enable": true, "message_format_version": "2.7-IV2", "message_timestamp_after_max_ms": 0, "message_timestamp_before_max_ms": 0, "message_timestamp_difference_max_ms": 0, "message_timestamp_type": "CreateTime", "min_cleanable_dirty_ratio": 0.5, "min_compaction_lag_ms": 0, "min_insync_replicas": 2, "preallocate": false, "remote_storage_enable": false, "retention_bytes": -1, "retention_ms": 604800000, "segment_bytes": 1073741824, "segment_index_bytes": 0, "segment_jitter_ms": 0, "segment_ms": 1, "unclean_leader_election_enable": false}, "min_insync_replicas": 2, "owner_user_group_id": "ug22ba494e096", "partitions": 1, "replication": 2, "retention_bytes": -1, "retention_hours": 72, "tags": [{"key": "My-tag_key", "value": "My tag value, value."}], "topic_description": "Platform events"}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceKafkaTopicUpdateResponse"}}}}, "400": {"description": "Invalid request parameters", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["kafka_topic_invalid_config"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "kafka_topic_invalid_config: Topic configuration either invalid or conflicting with kafka setup"}}}}}}}}}, "404": {"description": "Resource not found", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["kafka_topic_not_found"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "kafka_topic_not_found: No such topic exists"}}}}}}}}}, "409": {"description": "Request conflict", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["kafka_partition_reassignment_in_progress"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "kafka_partition_reassignment_in_progress: Unable to update partitions during partition reassignment"}}}}}}}}}, "503": {"description": "The server cannot process the request due to a high load", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["kafka_service_unavailable"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "kafka_service_unavailable: Kafka service is currently unavailable"}}}}}}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:write"]}]}}, "/project/{project}/service/{service_name}/kafka/rest/topics/{topic_name}/messages": {"post": {"summary": "List kafka topic messages", "tags": ["Service:_Kafka"], "operationId": "ServiceKafkaTopicMessageList", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}, {"$ref": "#/components/parameters/topic_name"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceKafkaTopicMessageListRequestBody"}, "example": {"format": "json", "max_bytes": 67108864, "partitions": {}, "timeout": 3000}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceKafkaTopicMessageListResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:read"]}]}}, "/project/{project}/service/{service_name}/kafka/rest/topics/{topic_name}/produce": {"post": {"summary": "Produce message into a kafka topic", "tags": ["Service:_Kafka"], "operationId": "ServiceKafkaTopicMessageProduce", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}, {"$ref": "#/components/parameters/topic_name"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceKafkaTopicMessageProduceRequestBody"}, "example": {"format": "binary", "key_schema": "{\\\"name\\\": \\\"int\\\", \\\"type\\\": \\\"int\\\"}", "key_schema_id": 123, "records": [{"key": {}, "partition": 1, "value": {}}], "value_schema": "{\\\"name\\\": \\\"int\\\", \\\"type\\\": \\\"int\\\"}", "value_schema_id": 123}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceKafkaTopicMessageProduceResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:write"]}]}}, "/project/{project}/service/{service_name}/kafka/schema-registry/acl": {"post": {"summary": "Add a Schema Registry ACL entry", "tags": ["Service:_Kafka"], "operationId": "ServiceSchemaRegistryAclAdd", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceSchemaRegistryAclAddRequestBody"}, "example": {"permission": "schema_registry_read", "resource": "Config:", "username": "admin*"}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceSchemaRegistryAclAddResponse"}}}}, "400": {"description": "Invalid request parameters", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["service_acl_too_many"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "service_acl_too_many: Maximum number of service ACLs reached"}}}}}}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:write"]}]}, "get": {"summary": "List Schema Registry ACL entries", "tags": ["Service:_Kafka"], "operationId": "ServiceSchemaRegistryAclList", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceSchemaRegistryAclListResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:read"]}]}}, "/project/{project}/service/{service_name}/kafka/schema-registry/acl/{schema_registry_acl_id}": {"delete": {"summary": "Delete a Schema Registry ACL entry", "tags": ["Service:_Kafka"], "operationId": "ServiceSchemaRegistryAclDelete", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}, {"$ref": "#/components/parameters/schema_registry_acl_id"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceSchemaRegistryAclDeleteResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:write"]}]}}, "/project/{project}/service/{service_name}/kafka/schema/compatibility/subjects/{subject_name}/versions/{version_id}": {"post": {"summary": "Check compatibility of schema in Schema Registry", "tags": ["Service:_Kafka"], "operationId": "ServiceSchemaRegistryCompatibility", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}, {"$ref": "#/components/parameters/subject_name"}, {"$ref": "#/components/parameters/version_id"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceSchemaRegistryCompatibilityRequestBody"}, "example": {"schema": "{\"type\": \"string\"}", "schemaType": "AVRO"}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceSchemaRegistryCompatibilityResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:read"]}]}}, "/project/{project}/service/{service_name}/kafka/schema/config": {"get": {"summary": "Get global configuration for Schema Registry", "tags": ["Service:_Kafka"], "operationId": "ServiceSchemaRegistryGlobalConfigGet", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceSchemaRegistryGlobalConfigGetResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:read"]}]}, "put": {"summary": "Edit global configuration for Schema Registry", "tags": ["Service:_Kafka"], "operationId": "ServiceSchemaRegistryGlobalConfigPut", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceSchemaRegistryGlobalConfigPutRequestBody"}, "example": {"compatibility": "FULL"}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceSchemaRegistryGlobalConfigPutResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:write"]}]}}, "/project/{project}/service/{service_name}/kafka/schema/schemas/ids/{schema_id}": {"get": {"summary": "Get schema in Schema Registry", "tags": ["Service:_Kafka"], "operationId": "ServiceSchemaRegistrySchemaGet", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}, {"$ref": "#/components/parameters/schema_id"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceSchemaRegistrySchemaGetResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:read"]}]}}, "/project/{project}/service/{service_name}/kafka/schema/config/{subject_name}": {"get": {"summary": "Get configuration for Schema Registry subject", "tags": ["Service:_Kafka"], "operationId": "ServiceSchemaRegistrySubjectConfigGet", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}, {"$ref": "#/components/parameters/subject_name"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceSchemaRegistrySubjectConfigGetResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:read"]}]}, "put": {"summary": "Edit configuration for Schema Registry subject", "tags": ["Service:_Kafka"], "operationId": "ServiceSchemaRegistrySubjectConfigPut", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}, {"$ref": "#/components/parameters/subject_name"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceSchemaRegistrySubjectConfigPutRequestBody"}, "example": {"compatibility": "FULL"}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceSchemaRegistrySubjectConfigPutResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:write"]}]}}, "/project/{project}/service/{service_name}/kafka/schema/subjects/{subject_name}": {"delete": {"summary": "Delete Schema Registry subject", "tags": ["Service:_Kafka"], "operationId": "ServiceSchemaRegistrySubjectDelete", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}, {"$ref": "#/components/parameters/subject_name"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceSchemaRegistrySubjectDeleteResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:write"]}]}}, "/project/{project}/service/{service_name}/kafka/schema/subjects/{subject_name}/versions/{version_id}": {"delete": {"summary": "Delete Schema Registry subject version", "tags": ["Service:_Kafka"], "operationId": "ServiceSchemaRegistrySubjectVersionDelete", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}, {"$ref": "#/components/parameters/subject_name"}, {"$ref": "#/components/parameters/version_id"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceSchemaRegistrySubjectVersionDeleteResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:write"]}]}, "get": {"summary": "Get Schema Registry Subject version", "tags": ["Service:_Kafka"], "operationId": "ServiceSchemaRegistrySubjectVersionGet", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}, {"$ref": "#/components/parameters/subject_name"}, {"$ref": "#/components/parameters/version_id"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceSchemaRegistrySubjectVersionGetResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:read"]}]}}, "/project/{project}/service/{service_name}/kafka/schema/subjects/{subject_name}/versions": {"post": {"summary": "Register a new Schema in Schema Registry", "tags": ["Service:_Kafka"], "operationId": "ServiceSchemaRegistrySubjectVersionPost", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}, {"$ref": "#/components/parameters/subject_name"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceSchemaRegistrySubjectVersionPostRequestBody"}, "example": {"references": [{"name": "container1.proto", "subject": "topic1-values", "version": 1}], "schema": "{\"type\": \"string\"}", "schemaType": "AVRO"}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceSchemaRegistrySubjectVersionPostResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:write"]}]}, "get": {"summary": "Get Schema Registry subject versions", "tags": ["Service:_Kafka"], "operationId": "ServiceSchemaRegistrySubjectVersionsGet", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}, {"$ref": "#/components/parameters/subject_name"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceSchemaRegistrySubjectVersionsGetResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:read"]}]}}, "/project/{project}/service/{service_name}/kafka/schema/subjects/{subject_name}/versions/{version_id}/schema": {"get": {"summary": "DEPRECATED: Get raw schema of a specific version in Schema Registry", "tags": ["Service:_Kafka"], "operationId": "ServiceSchemaRegistrySubjectVersionSchemaGet", "deprecated": true, "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}, {"$ref": "#/components/parameters/subject_name"}, {"$ref": "#/components/parameters/version_id"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceSchemaRegistrySubjectVersionSchemaGetResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:read"]}]}}, "/project/{project}/service/{service_name}/kafka/schema/subjects": {"get": {"summary": "Lists Schema Registry subjects", "tags": ["Service:_Kafka"], "operationId": "ServiceSchemaRegistrySubjects", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceSchemaRegistrySubjectsResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:read"]}]}}, "/project/{project}/service/{service_name}/mirrormaker/replication-flows": {"post": {"summary": "Create a replication flow", "tags": ["Service:_Kafka_MirrorMaker"], "operationId": "ServiceKafkaMirrorMakerCreateReplicationFlow", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceKafkaMirrorMakerCreateReplicationFlowRequestBody"}, "example": {"config_properties_exclude": "min\\.insync\\.replicas, follower\\.replication\\.throttled\\.replicas, leader\\.replication\\.throttled\\.replicas, message\\.timestamp\\.difference\\.max\\.ms, message\\.timestamp\\.type, unclean\\.leader\\.election\\.enable, min\\.insync\\.replicas", "emit_backward_heartbeats_enabled": "true", "emit_heartbeats_enabled": "true", "enabled": "true", "exactly_once_delivery_enabled": "false", "follower_fetching_enabled": "true", "offset_lag_max": 100, "offset_syncs_topic_location": "source", "replication_factor": 3, "replication_policy_class": "org.apache.kafka.connect.mirror.DefaultReplicationPolicy", "source_cluster": "kafka-abc", "sync_group_offsets_enabled": "true", "sync_group_offsets_interval_seconds": 60, "target_cluster": "kafka-abc", "topics": [".*"], "topics\\.blacklist": [".*[\\-\\.]internal", ".*\\.replica", "__.*"], "topics\\.exclude": [".*[\\-\\.]internal", ".*\\.replica", "__.*"], "topics_exclude": [".*[\\-\\.]internal", ".*\\.replica", "__.*"]}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceKafkaMirrorMakerCreateReplicationFlowResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:write"]}]}, "get": {"summary": "Get replication flows", "tags": ["Service:_Kafka_MirrorMaker"], "operationId": "ServiceKafkaMirrorMakerGetReplicationFlows", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceKafkaMirrorMakerGetReplicationFlowsResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:read"]}]}}, "/project/{project}/service/{service_name}/mirrormaker/replication-flows/{source_cluster}/{target_cluster}": {"delete": {"summary": "Delete a replication flow", "tags": ["Service:_Kafka_MirrorMaker"], "operationId": "ServiceKafkaMirrorMakerDeleteReplicationFlow", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}, {"$ref": "#/components/parameters/source_cluster"}, {"$ref": "#/components/parameters/target_cluster"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceKafkaMirrorMakerDeleteReplicationFlowResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:write"]}]}, "get": {"summary": "Get a replication flow", "tags": ["Service:_Kafka_MirrorMaker"], "operationId": "ServiceKafkaMirrorMakerGetReplicationFlow", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}, {"$ref": "#/components/parameters/source_cluster"}, {"$ref": "#/components/parameters/target_cluster"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceKafkaMirrorMakerGetReplicationFlowResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:read"]}]}, "put": {"summary": "Update a replication flow", "tags": ["Service:_Kafka_MirrorMaker"], "operationId": "ServiceKafkaMirrorMakerPatchReplicationFlow", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}, {"$ref": "#/components/parameters/source_cluster"}, {"$ref": "#/components/parameters/target_cluster"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceKafkaMirrorMakerPatchReplicationFlowRequestBody"}, "example": {"config_properties_exclude": "min\\.insync\\.replicas, follower\\.replication\\.throttled\\.replicas, leader\\.replication\\.throttled\\.replicas, message\\.timestamp\\.difference\\.max\\.ms, message\\.timestamp\\.type, unclean\\.leader\\.election\\.enable, min\\.insync\\.replicas", "emit_backward_heartbeats_enabled": "true", "emit_heartbeats_enabled": "true", "enabled": "true", "exactly_once_delivery_enabled": "false", "follower_fetching_enabled": "true", "offset_lag_max": 100, "offset_syncs_topic_location": "source", "replication_factor": 3, "replication_policy_class": "org.apache.kafka.connect.mirror.DefaultReplicationPolicy", "sync_group_offsets_enabled": "true", "sync_group_offsets_interval_seconds": 60, "topics": [".*"], "topics\\.blacklist": [".*[\\-\\.]internal", ".*\\.replica", "__.*"], "topics\\.exclude": [".*[\\-\\.]internal", ".*\\.replica", "__.*"], "topics_exclude": [".*[\\-\\.]internal", ".*\\.replica", "__.*"]}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceKafkaMirrorMakerPatchReplicationFlowResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:write"]}]}}, "/account/{account_id}/mysql/query/optimize": {"post": {"summary": "Get optimization recommendations for a query", "tags": ["Service:_MySQL"], "operationId": "MySQLAccountQueryOptimize", "x-badges": [{"name": "Experimental", "position": "after", "color": "#787885"}], "x-experimental": true, "description": "<p><blockquote>This endpoint <b>may be changed or removed at any time</b>. Don't use it in production environments.</blockquote><p>", "parameters": [{"$ref": "#/components/parameters/account_id"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/MySQLAccountQueryOptimizeRequestBody"}, "example": {"do_not_store": true, "flags": [], "mysql_version": "8.4", "query": "Select email from users;", "schema_metadata": "{ 'columns': [...], 'indexes': [...], 'views': [...], ... }"}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/MySQLAccountQueryOptimizeResponse"}}}}, "400": {"description": "Invalid request parameters", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["optimization_failed", "unable_to_parse_query"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "optimization_failed: The service was unable to optimize the SQL query. unable_to_parse_query: The service could not parse the query due to syntax errors or unsupported expressions"}}}}}}}}}, "404": {"description": "Resource not found", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["account_not_found"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "account_not_found: No such account exists"}}}}}}}}}}, "security": [{"tokenAuth": [], "oauth2": ["accounts:read"]}]}}, "/mysql/database-metadata-query": {"get": {"summary": "Retrieve metadata query for MySQL database", "tags": ["Service:_MySQL"], "operationId": "MySQLServiceDatabaseMetadataQuery", "x-badges": [{"name": "Experimental", "position": "after", "color": "#787885"}], "x-experimental": true, "description": "<p><blockquote>This endpoint <b>may be changed or removed at any time</b>. Don't use it in production environments.</blockquote><p>", "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/MySQLServiceDatabaseMetadataQueryResponse"}}}}}}}, "/mysql/query/metadata-validate": {"post": {"summary": "Validate schema metadata structure and statistics", "tags": ["Service:_MySQL"], "operationId": "MySQLServiceMetadataValidate", "x-badges": [{"name": "Experimental", "position": "after", "color": "#787885"}], "x-experimental": true, "description": "<p><blockquote>This endpoint <b>may be changed or removed at any time</b>. Don't use it in production environments.</blockquote><p>", "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/MySQLServiceMetadataValidateRequestBody"}, "example": {"db_version": "16", "metadata": "{ 'columns': [...], 'indexes': [...], 'views': [...], ... }"}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/MySQLServiceMetadataValidateResponse"}}}}, "400": {"description": "Invalid request parameters", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["metadata_validation_failed"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "metadata_validation_failed: Metadata validation failed"}}}}}}}}}}}}, "/project/{project}/service/{service_name}/mysql/query/stats": {"post": {"summary": "Fetch MySQL service query statistics", "tags": ["Service:_MySQL"], "operationId": "MySQLServiceQueryStatistics", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/MySQLServiceQueryStatisticsRequestBody"}, "example": {"limit": 100, "offset": 100, "order_by": "count_star:desc,sum_timer_wait:asc"}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/MySQLServiceQueryStatisticsResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:read"]}]}}, "/mysql/query/validate": {"post": {"summary": "Validate SQL query syntax", "tags": ["Service:_MySQL"], "operationId": "MySQLServiceQueryValidate", "x-badges": [{"name": "Experimental", "position": "after", "color": "#787885"}], "x-experimental": true, "description": "<p><blockquote>This endpoint <b>may be changed or removed at any time</b>. Don't use it in production environments.</blockquote><p>", "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/MySQLServiceQueryValidateRequestBody"}, "example": {"do_not_store": true, "query": "select email from users;"}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/MySQLServiceQueryValidateResponse"}}}}, "400": {"description": "Invalid request parameters", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["query_validation_failed"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "query_validation_failed: Query validation failed"}}}}}}}}}}}}, "/project/{project}/service/{service_name}/opensearch/acl": {"get": {"summary": "Show OpenSearch ACL configuration", "tags": ["Service:_OpenSearch"], "operationId": "ServiceOpenSearchAclGet", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceOpenSearchAclGetResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:read"]}]}, "post": {"summary": "Set OpenSearch ACL configuration", "tags": ["Service:_OpenSearch"], "operationId": "ServiceOpenSearchAclSet", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceOpenSearchAclSetRequestBody"}, "example": {"elasticsearch_version": "7", "opensearch_acl_config": {"acls": [{"rules": [{"index": "ind*", "permission": "deny"}], "username": "admin*"}], "enabled": false}}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceOpenSearchAclSetResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:write"]}]}, "put": {"summary": "Update OpenSearch ACL configuration", "tags": ["Service:_OpenSearch"], "operationId": "ServiceOpenSearchAclUpdate", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceOpenSearchAclUpdateRequestBody"}, "example": {"elasticsearch_version": "7", "opensearch_acl_config": {"acls": [{"rules": [{"index": "ind*", "permission": "deny"}], "username": "admin*"}], "enabled": false}}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceOpenSearchAclUpdateResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:write"]}]}}, "/project/{project}/service/{service_name}/opensearch/{index_pattern}/_close": {"post": {"summary": "Open OpenSearch indices", "tags": ["Service:_OpenSearch"], "operationId": "ServiceOpenSearchIndexClose", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}, {"$ref": "#/components/parameters/index_pattern"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceOpenSearchIndexCloseResponse"}}}}, "400": {"description": "Invalid request parameters", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["index_close_failed"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "index_close_failed: Index close failed"}}}}}}}}}, "409": {"description": "Request conflict", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["not_powered"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "not_powered: Service is not powered"}}}}}}}}}, "429": {"description": "The user has sent too many requests in a given amount of time (\"rate limiting\")", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["opensearch_too_many_requests"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "opensearch_too_many_requests: OpenSearch service is not able to process the request due to too many requests"}}}}}}}}}, "502": {"description": "Invalid responses from another server/proxy", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["opensearch_service_unavailable"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "opensearch_service_unavailable: OpenSearch service is not able to process the request"}}}}}}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:write"]}]}}, "/project/{project}/service/{service_name}/index/close_multiple": {"post": {"summary": "Close multiple OpenSearch indexes", "tags": ["Service:_OpenSearch"], "operationId": "ServiceOpenSearchIndexCloseMultiple", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceOpenSearchIndexCloseMultipleRequestBody"}, "example": {"indices": ["index1"]}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceOpenSearchIndexCloseMultipleResponse"}}}}, "409": {"description": "Request conflict", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["not_powered"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "not_powered: Service is not powered"}}}}}}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:write"]}]}}, "/project/{project}/service/{service_name}/index/{index_pattern}": {"delete": {"summary": "Delete an OpenSearch index", "tags": ["Service:_OpenSearch"], "operationId": "ServiceOpenSearchIndexDelete", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}, {"$ref": "#/components/parameters/index_pattern"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceOpenSearchIndexDeleteResponse"}}}}, "403": {"description": "Operation not allowed", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["opensearch_delete_system_index"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "opensearch_delete_system_index: Index can not be deleted through Aiven API"}}}}}}}}}, "404": {"description": "Resource not found", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["index_not_found"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "index_not_found: Index not found"}}}}}}}}}, "409": {"description": "Request conflict", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["not_powered"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "not_powered: Service is not powered"}}}}}}}}}, "429": {"description": "The user has sent too many requests in a given amount of time (\"rate limiting\")", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["opensearch_too_many_requests"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "opensearch_too_many_requests: OpenSearch service is not able to process the request due to too many requests"}}}}}}}}}, "502": {"description": "Invalid responses from another server/proxy", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["opensearch_service_unavailable"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "opensearch_service_unavailable: OpenSearch service is not able to process the request"}}}}}}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:write"]}]}}, "/project/{project}/service/{service_name}/index": {"get": {"summary": "List OpenSearch indexes", "tags": ["Service:_OpenSearch"], "operationId": "ServiceOpenSearchIndexList", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceOpenSearchIndexListResponse"}}}}, "409": {"description": "Request conflict", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["not_powered"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "not_powered: Service is not powered"}}}}}}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:read"]}]}}, "/project/{project}/service/{service_name}/opensearch/{index_pattern}/_open": {"post": {"summary": "Open OpenSearch indices", "tags": ["Service:_OpenSearch"], "operationId": "ServiceOpenSearchIndexOpen", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}, {"$ref": "#/components/parameters/index_pattern"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceOpenSearchIndexOpenResponse"}}}}, "409": {"description": "Request conflict", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["not_powered"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "not_powered: Service is not powered"}}}}}}}}}, "429": {"description": "The user has sent too many requests in a given amount of time (\"rate limiting\")", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["opensearch_too_many_requests"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "opensearch_too_many_requests: OpenSearch service is not able to process the request due to too many requests"}}}}}}}}}, "502": {"description": "Invalid responses from another server/proxy", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["opensearch_service_unavailable"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "opensearch_service_unavailable: OpenSearch service is not able to process the request"}}}}}}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:write"]}]}}, "/project/{project}/service/{service_name}/index/open_multiple": {"post": {"summary": "Open multiple OpenSearch indexes", "tags": ["Service:_OpenSearch"], "operationId": "ServiceOpenSearchIndexOpenMultiple", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceOpenSearchIndexOpenMultipleRequestBody"}, "example": {"indices": ["index1"]}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceOpenSearchIndexOpenMultipleResponse"}}}}, "409": {"description": "Request conflict", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["not_powered"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "not_powered: Service is not powered"}}}}}}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:write"]}]}}, "/project/{project}/service/{service_name}/opensearch/security": {"get": {"summary": "Show OpenSearch security configuration status", "tags": ["Service:_OpenSearch"], "operationId": "ServiceOpenSearchSecurityGet", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceOpenSearchSecurityGetResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:read"]}]}}, "/project/{project}/service/{service_name}/opensearch/security/admin": {"put": {"summary": "Change Opensearch Security Admin password", "tags": ["Service:_OpenSearch"], "operationId": "ServiceOpenSearchSecurityReset", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceOpenSearchSecurityResetRequestBody"}, "example": {"admin_password": "h3.2aD!z2", "new_password": "h3.2aD!z2"}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceOpenSearchSecurityResetResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:write"]}]}, "post": {"summary": "Enable Opensearch Security Admin by setting the password", "tags": ["Service:_OpenSearch"], "operationId": "ServiceOpenSearchSecuritySet", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceOpenSearchSecuritySetRequestBody"}, "example": {"admin_password": "h3.2aD!z2"}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceOpenSearchSecuritySetResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:write"]}]}}, "/project/{project}/service/{service_name}/opensearch/_snapshot/{repository_name}/{snapshot_name}": {"post": {"summary": "Create a snapshot to custom repository", "tags": ["Service:_OpenSearch"], "operationId": "ServiceOpensearchCustomRepoCreateSnapshot", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}, {"$ref": "#/components/parameters/repository_name"}, {"$ref": "#/components/parameters/snapshot_name"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceOpensearchCustomRepoCreateSnapshotRequestBody"}, "example": {"ignore_unavailable": false, "include_global_state": true, "indices": "*", "partial": false}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceOpensearchCustomRepoCreateSnapshotResponse"}}}}, "400": {"description": "Invalid request parameters", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["snapshot_creation_failed"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "snapshot_creation_failed: Snapshot creation failed"}}}}}}}}}, "404": {"description": "Resource not found", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["repository_not_found"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "repository_not_found: Repository not found"}}}}}}}}}, "409": {"description": "Request conflict", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["not_powered"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "not_powered: Service is not powered"}}}}}}}}}, "429": {"description": "The user has sent too many requests in a given amount of time (\"rate limiting\")", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["opensearch_too_many_requests"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "opensearch_too_many_requests: OpenSearch service is not able to process the request due to too many requests"}}}}}}}}}, "502": {"description": "Invalid responses from another server/proxy", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["opensearch_service_unavailable"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "opensearch_service_unavailable: OpenSearch service is not able to process the request"}}}}}}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:write"]}]}, "delete": {"summary": "Delete a snapshot from custom repository", "tags": ["Service:_OpenSearch"], "operationId": "ServiceOpensearchCustomRepoDeleteSnapshot", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}, {"$ref": "#/components/parameters/repository_name"}, {"$ref": "#/components/parameters/snapshot_name"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceOpensearchCustomRepoDeleteSnapshotResponse"}}}}, "400": {"description": "Invalid request parameters", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["snapshot_deletion_failed"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "snapshot_deletion_failed: Unable to delete snapshot"}}}}}}}}}, "404": {"description": "Resource not found", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["repository_not_found"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "repository_not_found: Repository not found"}}}}}}}}}, "409": {"description": "Request conflict", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["not_powered"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "not_powered: Service is not powered"}}}}}}}}}, "429": {"description": "The user has sent too many requests in a given amount of time (\"rate limiting\")", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["opensearch_too_many_requests"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "opensearch_too_many_requests: OpenSearch service is not able to process the request due to too many requests"}}}}}}}}}, "502": {"description": "Invalid responses from another server/proxy", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["opensearch_service_unavailable"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "opensearch_service_unavailable: OpenSearch service is not able to process the request"}}}}}}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:write"]}]}, "get": {"summary": "Show snapshot details", "tags": ["Service:_OpenSearch"], "operationId": "ServiceOpensearchCustomRepoShowSnapshot", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}, {"$ref": "#/components/parameters/repository_name"}, {"$ref": "#/components/parameters/snapshot_name"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceOpensearchCustomRepoShowSnapshotResponse"}}}}, "404": {"description": "Resource not found", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["repository_not_found"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "repository_not_found: Repository not found"}}}}}}}}}, "409": {"description": "Request conflict", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["not_powered"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "not_powered: Service is not powered"}}}}}}}}}, "429": {"description": "The user has sent too many requests in a given amount of time (\"rate limiting\")", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["opensearch_too_many_requests"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "opensearch_too_many_requests: OpenSearch service is not able to process the request due to too many requests"}}}}}}}}}, "502": {"description": "Invalid responses from another server/proxy", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["opensearch_service_unavailable"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "opensearch_service_unavailable: OpenSearch service is not able to process the request"}}}}}}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:read"]}]}}, "/project/{project}/service/{service_name}/opensearch/_snapshot/{repository_name}/_all": {"get": {"summary": "List all snapshots in custom repository", "tags": ["Service:_OpenSearch"], "operationId": "ServiceOpensearchCustomRepoListSnapshots", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}, {"$ref": "#/components/parameters/repository_name"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceOpensearchCustomRepoListSnapshotsResponse"}}}}, "404": {"description": "Resource not found", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["repository_not_found"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "repository_not_found: Repository not found"}}}}}}}}}, "409": {"description": "Request conflict", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["not_powered"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "not_powered: Service is not powered"}}}}}}}}}, "429": {"description": "The user has sent too many requests in a given amount of time (\"rate limiting\")", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["opensearch_too_many_requests"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "opensearch_too_many_requests: OpenSearch service is not able to process the request due to too many requests"}}}}}}}}}, "502": {"description": "Invalid responses from another server/proxy", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["opensearch_service_unavailable"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "opensearch_service_unavailable: OpenSearch service is not able to process the request"}}}}}}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:read"]}]}}, "/project/{project}/service/{service_name}/opensearch/_snapshot/{repository_name}/_verify": {"post": {"summary": "Verify custom repo name is allowed", "tags": ["Service:_OpenSearch"], "operationId": "ServiceOpensearchCustomRepoNameVerify", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}, {"$ref": "#/components/parameters/repository_name"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceOpensearchCustomRepoNameVerifyResponse"}}}}, "400": {"description": "Invalid request parameters", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["snapshot_deletion_failed"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "snapshot_deletion_failed: Unable to delete snapshot"}}}}}}}}}, "404": {"description": "Resource not found", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["repository_not_found"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "repository_not_found: Repository not found"}}}}}}}}}, "409": {"description": "Request conflict", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["not_powered"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "not_powered: Service is not powered"}}}}}}}}}, "429": {"description": "The user has sent too many requests in a given amount of time (\"rate limiting\")", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["opensearch_too_many_requests"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "opensearch_too_many_requests: OpenSearch service is not able to process the request due to too many requests"}}}}}}}}}, "502": {"description": "Invalid responses from another server/proxy", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["opensearch_service_unavailable"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "opensearch_service_unavailable: OpenSearch service is not able to process the request"}}}}}}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:write"]}]}}, "/project/{project}/service/{service_name}/opensearch/_snapshot/{repository_name}/{snapshot_name}/_restore": {"post": {"summary": "Restore a snapshot from custom repository", "tags": ["Service:_OpenSearch"], "operationId": "ServiceOpensearchCustomRepoRestoreSnapshot", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}, {"$ref": "#/components/parameters/repository_name"}, {"$ref": "#/components/parameters/snapshot_name"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceOpensearchCustomRepoRestoreSnapshotRequestBody"}, "example": {"ignore_index_settings": "index.number_of_replicas", "ignore_unavailable": false, "include_aliases": false, "include_global_state": false, "index_settings": "index.number_of_replicas=1", "indices": "*", "partial": false, "rename_alias_pattern": "(.+)", "rename_alias_replacement": "$1_restored", "rename_pattern": "(.+)", "rename_replacement": "$1_restored"}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceOpensearchCustomRepoRestoreSnapshotResponse"}}}}, "400": {"description": "Invalid request parameters", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["snapshot_restoration_failed"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "snapshot_restoration_failed: Snapshot restoration failed"}}}}}}}}}, "404": {"description": "Resource not found", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["repository_not_found"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "repository_not_found: Repository not found"}}}}}}}}}, "409": {"description": "Request conflict", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["not_powered"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "not_powered: Service is not powered"}}}}}}}}}, "429": {"description": "The user has sent too many requests in a given amount of time (\"rate limiting\")", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["opensearch_too_many_requests"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "opensearch_too_many_requests: OpenSearch service is not able to process the request due to too many requests"}}}}}}}}}, "500": {"description": "Server got itself in trouble", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["opensearch_internal_server_error"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "opensearch_internal_server_error: OpenSearch service is not able to process the request"}}}}}}}}}, "502": {"description": "Invalid responses from another server/proxy", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["opensearch_service_unavailable"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "opensearch_service_unavailable: OpenSearch service is not able to process the request"}}}}}}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:write"]}]}}, "/project/{project}/service/{service_name}/opensearch/_snapshot/{repository_name}/{snapshot_name}/_restore_check": {"post": {"summary": "Dry run endpoint to check for conflicted indices before restoring a snapshot", "tags": ["Service:_OpenSearch"], "operationId": "ServiceOpensearchCustomRepoRestoreSnapshotCheck", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}, {"$ref": "#/components/parameters/repository_name"}, {"$ref": "#/components/parameters/snapshot_name"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceOpensearchCustomRepoRestoreSnapshotCheckRequestBody"}, "example": {"ignore_unavailable": false, "include_aliases": false, "indices": "*", "rename_pattern": "(.+)", "rename_replacement": "$1_restored"}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceOpensearchCustomRepoRestoreSnapshotCheckResponse"}}}}, "400": {"description": "Invalid request parameters", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["snapshot_restoration_failed"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "snapshot_restoration_failed: Snapshot restoration failed"}}}}}}}}}, "404": {"description": "Resource not found", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["repository_not_found"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "repository_not_found: Repository not found"}}}}}}}}}, "409": {"description": "Request conflict", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["not_powered"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "not_powered: Service is not powered"}}}}}}}}}, "429": {"description": "The user has sent too many requests in a given amount of time (\"rate limiting\")", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["opensearch_too_many_requests"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "opensearch_too_many_requests: OpenSearch service is not able to process the request due to too many requests"}}}}}}}}}, "500": {"description": "Server got itself in trouble", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["opensearch_internal_server_error"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "opensearch_internal_server_error: OpenSearch service is not able to process the request"}}}}}}}}}, "502": {"description": "Invalid responses from another server/proxy", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["opensearch_service_unavailable"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "opensearch_service_unavailable: OpenSearch service is not able to process the request"}}}}}}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:write"]}]}}, "/project/{project}/service/{service_name}/opensearch/_snapshot/{repository_name}/{snapshot_name}/_status": {"get": {"summary": "Show full status of a snapshot in custom repository", "tags": ["Service:_OpenSearch"], "operationId": "ServiceOpensearchCustomRepoShowSnapshotStatus", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}, {"$ref": "#/components/parameters/repository_name"}, {"$ref": "#/components/parameters/snapshot_name"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceOpensearchCustomRepoShowSnapshotStatusResponse"}}}}, "404": {"description": "Resource not found", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["repository_not_found"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "repository_not_found: Repository not found"}}}}}}}}}, "409": {"description": "Request conflict", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["not_powered"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "not_powered: Service is not powered"}}}}}}}}}, "429": {"description": "The user has sent too many requests in a given amount of time (\"rate limiting\")", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["opensearch_too_many_requests"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "opensearch_too_many_requests: OpenSearch service is not able to process the request due to too many requests"}}}}}}}}}, "502": {"description": "Invalid responses from another server/proxy", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["opensearch_service_unavailable"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "opensearch_service_unavailable: OpenSearch service is not able to process the request"}}}}}}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:read"]}]}}, "/project/{project}/service/{service_name}/opensearch/_snapshot/{repository_name}/_status": {"get": {"summary": "List currently running snapshots for a custom repository", "tags": ["Service:_OpenSearch"], "operationId": "ServiceOpensearchCustomRepoSnapshotsInProgress", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}, {"$ref": "#/components/parameters/repository_name"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceOpensearchCustomRepoSnapshotsInProgressResponse"}}}}, "404": {"description": "Resource not found", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["repository_not_found"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "repository_not_found: Repository not found"}}}}}}}}}, "409": {"description": "Request conflict", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["not_powered"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "not_powered: Service is not powered"}}}}}}}}}, "429": {"description": "The user has sent too many requests in a given amount of time (\"rate limiting\")", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["opensearch_too_many_requests"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "opensearch_too_many_requests: OpenSearch service is not able to process the request due to too many requests"}}}}}}}}}, "502": {"description": "Invalid responses from another server/proxy", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["opensearch_service_unavailable"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "opensearch_service_unavailable: OpenSearch service is not able to process the request"}}}}}}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:read"]}]}}, "/project/{project}/service/{service_name}/opensearch/_snapshot": {"get": {"summary": "List custom repositories defined for OpenSearch service", "tags": ["Service:_OpenSearch"], "operationId": "ServiceOpensearchListCustomRepos", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceOpensearchListCustomReposResponse"}}}}, "409": {"description": "Request conflict", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["not_powered"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "not_powered: Service is not powered"}}}}}}}}}, "429": {"description": "The user has sent too many requests in a given amount of time (\"rate limiting\")", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["opensearch_too_many_requests"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "opensearch_too_many_requests: OpenSearch service is not able to process the request due to too many requests"}}}}}}}}}, "502": {"description": "Invalid responses from another server/proxy", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["opensearch_service_unavailable"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "opensearch_service_unavailable: OpenSearch service is not able to process the request"}}}}}}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:read"]}]}}, "/project/{project}/service/{service_name}/opensearch/_snapshot/restoration_in_progress": {"get": {"summary": "List restorations in progress for this service", "tags": ["Service:_OpenSearch"], "operationId": "ServiceOpensearchListRestorationsInProgress", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceOpensearchListRestorationsInProgressResponse"}}}}, "404": {"description": "Resource not found", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["repository_not_found"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "repository_not_found: Repository not found"}}}}}}}}}, "409": {"description": "Request conflict", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["not_powered"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "not_powered: Service is not powered"}}}}}}}}}, "429": {"description": "The user has sent too many requests in a given amount of time (\"rate limiting\")", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["opensearch_too_many_requests"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "opensearch_too_many_requests: OpenSearch service is not able to process the request due to too many requests"}}}}}}}}}, "502": {"description": "Invalid responses from another server/proxy", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["opensearch_service_unavailable"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "opensearch_service_unavailable: OpenSearch service is not able to process the request"}}}}}}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:read"]}]}}, "/project/{project}/service/{service_name}/opensearch/tiered-storage/summary": {"get": {"summary": "Get OpenSearch tiered storage summary", "tags": ["Service:_OpenSearch"], "operationId": "ServiceOpensearchTieredStorageSummary", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceOpensearchTieredStorageSummaryResponse"}}}}, "404": {"description": "Resource not found", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["project_does_not_exist", "service_does_not_exist"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "project_does_not_exist: Project does not exist. service_does_not_exist: Service does not exist"}}}}}}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:read"]}]}}, "/account/{account_id}/pg/query/optimize": {"post": {"summary": "Get query optimization recommendations for a query", "tags": ["Service:_PostgreSQL"], "operationId": "PGAccountQueryOptimize", "x-badges": [{"name": "Experimental", "position": "after", "color": "#787885"}], "x-experimental": true, "description": "<p><blockquote>This endpoint <b>may be changed or removed at any time</b>. Don't use it in production environments.</blockquote><p>", "parameters": [{"$ref": "#/components/parameters/account_id"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/PGAccountQueryOptimizeRequestBody"}, "example": {"do_not_store": true, "flags": [], "pg_version": "16", "query": "Select email from users;", "schema_metadata": "{ 'columns': [...], 'indexes': [...], 'views': [...], ... }"}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/PGAccountQueryOptimizeResponse"}}}}, "400": {"description": "Invalid request parameters", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["optimization_failed", "unable_to_parse_query"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "optimization_failed: The service was unable to optimize the SQL query. unable_to_parse_query: The service could not parse the query due to syntax errors or unsupported expressions"}}}}}}}}}, "404": {"description": "Resource not found", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["account_not_found"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "account_not_found: No such account exists"}}}}}}}}}}, "security": [{"tokenAuth": [], "oauth2": ["accounts:read"]}]}}, "/project/{project}/service/{service_name}/pg/available-extensions": {"get": {"summary": "List PostgreSQL extensions that can be loaded with CREATE EXTENSION in this service", "tags": ["Service:_PostgreSQL"], "operationId": "PGServiceAvailableExtensions", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/PGServiceAvailableExtensionsResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:read"]}]}}, "/pg/database-metadata-query": {"get": {"summary": "Get the query used to retrieve schema metadata", "tags": ["Service:_PostgreSQL"], "operationId": "PGServiceDatabaseMetadataQuery", "x-badges": [{"name": "Experimental", "position": "after", "color": "#787885"}], "x-experimental": true, "description": "<p><blockquote>This endpoint <b>may be changed or removed at any time</b>. Don't use it in production environments.</blockquote><p>", "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/PGServiceDatabaseMetadataQueryResponse"}}}}}}}, "/pg/query/metadata-validate": {"post": {"summary": "Validate schema metadata structure and statistics", "tags": ["Service:_PostgreSQL"], "operationId": "PGServiceMetadataValidate", "x-badges": [{"name": "Experimental", "position": "after", "color": "#787885"}], "x-experimental": true, "description": "<p><blockquote>This endpoint <b>may be changed or removed at any time</b>. Don't use it in production environments.</blockquote><p>", "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/PGServiceMetadataValidateRequestBody"}, "example": {"db_version": "16", "metadata": "{ 'columns': [...], 'indexes': [...], 'views': [...], ... }"}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/PGServiceMetadataValidateResponse"}}}}, "400": {"description": "Invalid request parameters", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["metadata_validation_failed"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "metadata_validation_failed: Metadata validation failed"}}}}}}}}}}}}, "/project/{project}/service/{service_name}/pg/query/stats": {"post": {"summary": "Fetch PostgreSQL service query statistics", "tags": ["Service:_PostgreSQL"], "operationId": "PGServiceQueryStatistics", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/PGServiceQueryStatisticsRequestBody"}, "example": {"limit": 100, "offset": 100, "order_by": "calls:desc,total_time:asc"}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/PGServiceQueryStatisticsResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:read"]}]}}, "/project/{project}/service/{service_name}/query/stats": {"post": {"summary": "Fetch PostgreSQL service query statistics (DEPRECATED: Use /project/$project/service/$service/pg/query/stats instead)", "tags": ["Service:_PostgreSQL"], "operationId": "PGServiceQueryStatisticsDeprecated", "deprecated": true, "description": "<p>DEPRECATED: Use /project/$project/service/$service/pg/query/stats instead</p>", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/PGServiceQueryStatisticsDeprecatedRequestBody"}, "example": {"limit": 100, "offset": 100, "order_by": "calls:desc,total_time:asc"}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/PGServiceQueryStatisticsDeprecatedResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:read"]}]}}, "/pg/query/validate": {"post": {"summary": "Validate SQL query syntax", "tags": ["Service:_PostgreSQL"], "operationId": "PGServiceQueryValidate", "x-badges": [{"name": "Experimental", "position": "after", "color": "#787885"}], "x-experimental": true, "description": "<p><blockquote>This endpoint <b>may be changed or removed at any time</b>. Don't use it in production environments.</blockquote><p>", "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/PGServiceQueryValidateRequestBody"}, "example": {"do_not_store": true, "query": "select email from users;"}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/PGServiceQueryValidateResponse"}}}}, "400": {"description": "Invalid request parameters", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["query_validation_failed"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "query_validation_failed: Query validation failed"}}}}}}}}}}}}, "/project/{project}/service/{service_name}/connection_pool": {"post": {"summary": "Create a new connection pool for service", "tags": ["Service:_PostgreSQL"], "operationId": "ServicePGBouncerCreate", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServicePGBouncerCreateRequestBody"}, "example": {"database": "testdb", "pool_mode": "session", "pool_name": "mypool-x-y-z", "pool_size": 50, "username": "testuser"}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServicePGBouncerCreateResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:write"]}]}}, "/project/{project}/service/{service_name}/connection_pool/{pool_name}": {"delete": {"summary": "Delete a connection pool", "tags": ["Service:_PostgreSQL"], "operationId": "ServicePGBouncerDelete", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}, {"$ref": "#/components/parameters/pool_name"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServicePGBouncerDeleteResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:write"]}]}, "put": {"summary": "Update a connection pool", "tags": ["Service:_PostgreSQL"], "operationId": "ServicePGBouncerUpdate", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}, {"$ref": "#/components/parameters/pool_name"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServicePGBouncerUpdateRequestBody"}, "example": {"database": "testdb", "pool_mode": "session", "pool_size": 50, "username": "testuser"}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServicePGBouncerUpdateResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:write"]}]}}, "/project/{project}/service/{service_name}/thanos/storage/summary": {"get": {"summary": "Get Thanos object storage summary", "tags": ["Service:_Thanos"], "operationId": "ServiceThanosStorageSummary", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceThanosStorageSummaryResponse"}}}}, "404": {"description": "Resource not found", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["project_does_not_exist", "service_does_not_exist"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "project_does_not_exist: Project does not exist. service_does_not_exist: Service does not exist"}}}}}}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:read"]}]}}, "/project/{project}/service_types": {"get": {"summary": "List service types for a project", "tags": ["Service"], "operationId": "ListProjectServiceTypes", "parameters": [{"$ref": "#/components/parameters/project"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ListProjectServiceTypesResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["projects:read"]}]}}, "/service_types": {"get": {"summary": "List publicly available service types", "tags": ["Service"], "operationId": "ListPublicServiceTypes", "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ListPublicServiceTypesResponse"}}}}}}}, "/service_versions": {"get": {"summary": "List service versions", "tags": ["Service"], "operationId": "ListServiceVersions", "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ListServiceVersionsResponse"}}}}}}}, "/tenants/{tenant}/os-available-plugins": {"get": {"summary": "List OpenSearch plugins available for this tenant grouped by OpenSearch version", "tags": ["Service"], "operationId": "OsAvailablePlugins", "parameters": [{"$ref": "#/components/parameters/tenant"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/OsAvailablePluginsResponse"}}}}, "500": {"description": "Server got itself in trouble", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["internal_server_error"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "internal_server_error: Internal server error"}}}}}}}}}}}}, "/tenants/{tenant}/pg-available-extensions": {"get": {"summary": "List PostgreSQL extensions available for this tenant grouped by PG version", "tags": ["Service"], "operationId": "PgAvailableExtensions", "parameters": [{"$ref": "#/components/parameters/tenant"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/PgAvailableExtensionsResponse"}}}}}}}, "/project/{project}/service/{service_name}/logs": {"post": {"summary": "Get service log entries", "tags": ["Service"], "operationId": "ProjectGetServiceLogs", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ProjectGetServiceLogsRequestBody"}, "example": {"limit": 100, "offset": "23425325", "sort_order": "asc"}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ProjectGetServiceLogsResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:read"]}]}}, "/project/{project}/service/{service_name}/tags": {"get": {"summary": "List all tags attached to the service", "tags": ["Service"], "operationId": "ProjectServiceTagsList", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ProjectServiceTagsListResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:read"]}]}, "put": {"summary": "Replace all project tags with a new set of tags, deleting old ones", "tags": ["Service"], "operationId": "ProjectServiceTagsReplace", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ProjectServiceTagsReplaceRequestBody"}, "example": {"tags": {}}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ProjectServiceTagsReplaceResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:write"]}]}, "patch": {"summary": "Update one or more tags, creating ones that don't exist, and deleting ones given NULL value", "tags": ["Service"], "operationId": "ProjectServiceTagsUpdate", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ProjectServiceTagsUpdateRequestBody"}, "example": {"tags": {}}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ProjectServiceTagsUpdateResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:write"]}]}}, "/project/{project}/service/{service_name}/alerts": {"get": {"summary": "List active alerts for service", "tags": ["Service"], "operationId": "ServiceAlertsList", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceAlertsListResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:read"]}]}}, "/project/{project}/service/{service_name}/backup_to_another_region/report": {"post": {"summary": "Get service's backup to another region information", "tags": ["Service"], "operationId": "ServiceBackupToAnotherRegionReport", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceBackupToAnotherRegionReportRequestBody"}, "example": {"kafka_topic_name": "customer_accounts_topic", "period": "hour"}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceBackupToAnotherRegionReportResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:write"]}]}}, "/project/{project}/service/{service_name}/backups": {"get": {"summary": "Get service backup information", "tags": ["Service"], "operationId": "ServiceBackupsGet", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceBackupsGetResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:read"]}]}}, "/project/{project}/service/{service_name}/query/cancel": {"post": {"summary": "Cancel specified query from service", "tags": ["Service"], "operationId": "ServiceCancelQuery", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceCancelQueryRequestBody"}, "example": {"pid": 84562, "terminate": "true"}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceCancelQueryResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:write"]}]}}, "/project/{project}/service": {"post": {"summary": "Create a service", "tags": ["Service"], "operationId": "ServiceCreate", "parameters": [{"$ref": "#/components/parameters/project"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceCreateRequestBody"}, "example": {"cloud": "aws-eu-central-1", "copy_tags": true, "disk_space_mb": 65536, "group_name": "mygroup", "maintenance": {"dow": "sunday", "time": "12:30:00"}, "plan": "hobbyist", "project_vpc_id": "1007a317-aa2a-4fb4-9056-93924c5ee46f", "service_integrations": [{"integration_type": "read_replica", "source_service": "myservice"}], "service_name": "db123", "service_type": "pg", "static_ips": ["ip350351b76da"], "tags": {}, "tech_emails": [{"email": "jane@example.com"}], "termination_protection": true, "user_config": {}}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceCreateResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:write"]}]}, "get": {"summary": "List services", "tags": ["Service"], "operationId": "ServiceList", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/servicelist_include_secrets"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceListResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:read"]}]}}, "/project/{project}/service/{service_name}/db": {"post": {"summary": "Create a new logical database for service", "tags": ["Service"], "operationId": "ServiceDatabaseCreate", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceDatabaseCreateRequestBody"}, "example": {"database": "testdb", "lc_collate": "en_US.UTF-8", "lc_ctype": "en_US.UTF-8"}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceDatabaseCreateResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:write"]}]}, "get": {"summary": "List service databases", "tags": ["Service"], "operationId": "ServiceDatabaseList", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceDatabaseListResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:read"]}]}}, "/project/{project}/service/{service_name}/db/{dbname}": {"delete": {"summary": "Delete a logical database", "tags": ["Service"], "operationId": "ServiceDatabaseDelete", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}, {"$ref": "#/components/parameters/dbname"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceDatabaseDeleteResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:write"]}]}}, "/project/{project}/service/{service_name}": {"delete": {"summary": "Terminate a service", "tags": ["Service"], "operationId": "ServiceDelete", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceDeleteResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:write"]}]}, "get": {"summary": "Get service information", "tags": ["Service"], "operationId": "ServiceGet", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}, {"$ref": "#/components/parameters/serviceget_include_secrets"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceGetResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:read"]}]}, "put": {"summary": "Update service configuration", "tags": ["Service"], "operationId": "ServiceUpdate", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}, {"$ref": "#/components/parameters/serviceupdate_allow_unclean_poweroff"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceUpdateRequestBody"}, "example": {"cloud": "aws-eu-central-1", "disk_space_mb": 65536, "group_name": "mygroup", "karapace": true, "maintenance": {"dow": "sunday", "time": "12:30:00"}, "plan": "hobbyist", "powered": true, "project_vpc_id": "1007a317-aa2a-4fb4-9056-93924c5ee46f", "schema_registry_authz": true, "tech_emails": [{"email": "jane@example.com"}], "termination_protection": true, "user_config": {}}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceUpdateResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:write"]}]}}, "/project/{project}/service/{service_name}/enable-writes": {"post": {"summary": "Temporarily enable writes for a service in read-only mode. Will only work if disk usage is lower than 99.0%", "tags": ["Service"], "operationId": "ServiceEnableWrites", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceEnableWritesResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:write"]}]}}, "/project/{project}/service/{service_name}/migration": {"get": {"summary": "Get migration status", "tags": ["Service"], "operationId": "ServiceGetMigrationStatus", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceGetMigrationStatusResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:read"]}]}}, "/project/{project}/service/{service_name}/maintenance/start": {"put": {"summary": "Start maintenance updates", "tags": ["Service"], "operationId": "ServiceMaintenanceStart", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceMaintenanceStartResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:write"]}]}}, "/project/{project}/service/{service_name}/metrics": {"post": {"summary": "Fetch service metrics", "tags": ["Service"], "operationId": "ServiceMetricsFetch", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceMetricsFetchRequestBody"}, "example": {"kafka_topic_name": "customer_accounts_topic", "period": "hour"}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceMetricsFetchResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:write"]}]}}, "/project/{project}/service/{service_name}/privatelink/aws/connections": {"get": {"summary": "List VPC Endpoint connections for an AWS Privatelink Endpoint Service", "tags": ["Service"], "operationId": "ServicePrivatelinkAWSConnectionList", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServicePrivatelinkAWSConnectionListResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["privatelink:read"]}]}}, "/project/{project}/service/{service_name}/privatelink/aws": {"post": {"summary": "Create an AWS Privatelink Endpoint Service", "tags": ["Service"], "operationId": "ServicePrivatelinkAWSCreate", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServicePrivatelinkAWSCreateRequestBody"}, "example": {"principals": ["arn:aws:iam::012345678901:root"]}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServicePrivatelinkAWSCreateResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["privatelink:write"]}]}, "delete": {"summary": "Delete an AWS Privatelink Endpoint Service", "tags": ["Service"], "operationId": "ServicePrivatelinkAWSDelete", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServicePrivatelinkAWSDeleteResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["privatelink:write"]}]}, "get": {"summary": "Get AWS Privatelink Endpoint Service information", "tags": ["Service"], "operationId": "ServicePrivatelinkAWSGet", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServicePrivatelinkAWSGetResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["privatelink:read"]}]}, "put": {"summary": "Update an AWS Privatelink Endpoint Service", "tags": ["Service"], "operationId": "ServicePrivatelinkAWSUpdate", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServicePrivatelinkAWSUpdateRequestBody"}, "example": {"principals": ["arn:aws:iam::012345678901:root"]}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServicePrivatelinkAWSUpdateResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["privatelink:write"]}]}}, "/project/{project}/service/{service_name}/privatelink/azure/connections/{privatelink_connection_id}/approve": {"post": {"summary": "Approve an Azure private endpoint connection pending user approval", "tags": ["Service"], "operationId": "ServicePrivatelinkAzureConnectionApproval", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}, {"$ref": "#/components/parameters/privatelink_connection_id"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServicePrivatelinkAzureConnectionApprovalResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["privatelink:write"]}]}}, "/project/{project}/service/{service_name}/privatelink/azure/connections": {"get": {"summary": "List private endpoint connections for an Azure Privatelink Service", "tags": ["Service"], "operationId": "ServicePrivatelinkAzureConnectionList", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServicePrivatelinkAzureConnectionListResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["privatelink:read"]}]}}, "/project/{project}/service/{service_name}/privatelink/azure/connections/{privatelink_connection_id}": {"put": {"summary": "Update a private endpoint connection for an Azure Privatelink Service", "tags": ["Service"], "operationId": "ServicePrivatelinkAzureConnectionUpdate", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}, {"$ref": "#/components/parameters/privatelink_connection_id"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServicePrivatelinkAzureConnectionUpdateRequestBody"}, "example": {"user_ip_address": "10.20.30.40"}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServicePrivatelinkAzureConnectionUpdateResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["privatelink:write"]}]}}, "/project/{project}/service/{service_name}/privatelink/azure": {"post": {"summary": "Create an Azure Privatelink Service", "tags": ["Service"], "operationId": "ServicePrivatelinkAzureCreate", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServicePrivatelinkAzureCreateRequestBody"}, "example": {"user_subscription_ids": ["adcf7194-d877-4505-a47a-91fefd96e3b8"]}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServicePrivatelinkAzureCreateResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["privatelink:write"]}]}, "delete": {"summary": "Delete an Azure Privatelink Service", "tags": ["Service"], "operationId": "ServicePrivatelinkAzureDelete", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServicePrivatelinkAzureDeleteResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["privatelink:write"]}]}, "get": {"summary": "Get Azure Privatelink Service information", "tags": ["Service"], "operationId": "ServicePrivatelinkAzureGet", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServicePrivatelinkAzureGetResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["privatelink:read"]}]}, "put": {"summary": "Update an Azure Privatelink Service", "tags": ["Service"], "operationId": "ServicePrivatelinkAzureUpdate", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServicePrivatelinkAzureUpdateRequestBody"}, "example": {"user_subscription_ids": ["adcf7194-d877-4505-a47a-91fefd96e3b8"]}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServicePrivatelinkAzureUpdateResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["privatelink:write"]}]}}, "/project/{project}/service/{service_name}/query/activity": {"post": {"summary": "Fetch current queries for the service", "tags": ["Service"], "operationId": "ServiceQueryActivity", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceQueryActivityRequestBody"}, "example": {"limit": 100, "offset": 100, "order_by": "client_id:desc"}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceQueryActivityResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:read"]}]}}, "/project/{project}/service/{service_name}/query/stats/reset": {"put": {"summary": "Reset service's query statistics", "tags": ["Service"], "operationId": "ServiceQueryStatisticsReset", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceQueryStatisticsResetResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:write"]}]}}, "/project/{project}/service/{service_name}/service_type": {"patch": {"summary": "Update the service type of a service", "tags": ["Service"], "operationId": "ServiceServiceTypeUpdate", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceServiceTypeUpdateRequestBody"}, "example": {"service_type": "pg"}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceServiceTypeUpdateResponse"}}}}, "400": {"description": "Invalid request parameters", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["service_type_not_allowed"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "service_type_not_allowed: Service type not allowed"}}}}}}}}}, "404": {"description": "Resource not found", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["service_not_found"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "service_not_found: Service not found"}}}}}}}}}, "409": {"description": "Request conflict", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["service_maintenance_required"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "service_maintenance_required: The service does not support the functionality. A maintenance update is required."}}}}}}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:write"]}]}}, "/project/{project}/service/{service_name}/task": {"post": {"summary": "Create a new task for service", "tags": ["Service"], "operationId": "ServiceTaskCreate", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceTaskCreateRequestBody"}, "example": {"create_searchable_snapshot": {"indices": "my-index"}, "create_user_backup": {"backup_name": "influxdb-backup"}, "dataset_import": {"dataset_name": "pagila"}, "migration_check": {"ignore_dbs": "db1,db2", "ignore_roles": "role1,role2", "method": "dump", "source_project_name": "myproject", "source_service_name": "db123", "source_service_uri": "mysql://user:pass@host:port/db"}, "target_version": "17", "task_type": "upgrade_check", "upgrade_check": {"async": true, "target_version": "17"}}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceTaskCreateResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:write"]}]}}, "/project/{project}/service/{service_name}/task/{task_id}": {"get": {"summary": "Get task result", "tags": ["Service"], "operationId": "ServiceTaskGet", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}, {"$ref": "#/components/parameters/task_id"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceTaskGetResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:read"]}]}}, "/project/{project}/service/{service_name}/user": {"post": {"summary": "Create a new (sub) user for service", "tags": ["Service"], "operationId": "ServiceUserCreate", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceUserCreateRequestBody"}, "example": {"access_control": {"dragonfly_acl_categories": ["+@all"], "dragonfly_acl_commands": ["-acl"], "dragonfly_acl_keys": ["prefix_*"], "pg_allow_replication": true, "redis_acl_categories": ["+@all"], "redis_acl_channels": ["some*chan"], "redis_acl_commands": ["-acl"], "redis_acl_keys": ["prefix_*"], "valkey_acl_categories": ["+@all"], "valkey_acl_channels": ["some*chan"], "valkey_acl_commands": ["-acl"], "valkey_acl_keys": ["prefix_*"]}, "authentication": "caching_sha2_password", "username": "testuser"}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceUserCreateResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:write"]}]}}, "/project/{project}/service/{service_name}/user/{service_username}": {"put": {"summary": "Modify service user credentials", "tags": ["Service"], "operationId": "ServiceUserCredentialsModify", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}, {"$ref": "#/components/parameters/service_username"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceUserCredentialsModifyRequestBody"}, "example": {"access_control": {"dragonfly_acl_categories": ["+@all"], "dragonfly_acl_commands": ["-acl"], "dragonfly_acl_keys": ["prefix_*"], "pg_allow_replication": true, "redis_acl_categories": ["+@all"], "redis_acl_channels": ["some*chan"], "redis_acl_commands": ["-acl"], "redis_acl_keys": ["prefix_*"], "valkey_acl_categories": ["+@all"], "valkey_acl_channels": ["some*chan"], "valkey_acl_commands": ["-acl"], "valkey_acl_keys": ["prefix_*"]}, "authentication": "caching_sha2_password", "new_password": "password12345", "operation": "acknowledge-renewal"}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceUserCredentialsModifyResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:write"]}]}, "delete": {"summary": "Delete a service user", "tags": ["Service"], "operationId": "ServiceUserDelete", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}, {"$ref": "#/components/parameters/service_username"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceUserDeleteResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:write"]}]}, "get": {"summary": "Get details for a single user", "tags": ["Service"], "operationId": "ServiceUserGet", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}, {"$ref": "#/components/parameters/service_username"}, {"$ref": "#/components/parameters/serviceuserget_include_secrets"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceUserGetResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:read"]}]}}, "/project/{project}/service/{service_name}/user/{service_username}/credentials/reset": {"put": {"summary": "Reset service user credentials", "tags": ["Service"], "operationId": "ServiceUserCredentialsReset", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}, {"$ref": "#/components/parameters/service_username"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceUserCredentialsResetResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:write"]}]}}, "/project/{project}/integration": {"post": {"summary": "Create a new service integration", "tags": ["Service_Integrations"], "operationId": "ServiceIntegrationCreate", "parameters": [{"$ref": "#/components/parameters/project"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceIntegrationCreateRequestBody"}, "example": {"dest_endpoint_id": "5bdeef77-a901-4487-a0db-54eba23539f8", "dest_project": "myproject1", "dest_service": "service2", "integration_type": "alertmanager", "source_endpoint_id": "543e420d-aa63-43e8-b8e8-294a78c600e7", "source_project": "myproject1", "source_service": "service1", "user_config": {}}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceIntegrationCreateResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:write"]}]}}, "/project/{project}/integration/{integration_id}": {"delete": {"summary": "Delete a service integration", "tags": ["Service_Integrations"], "operationId": "ServiceIntegrationDelete", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/integration_id"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceIntegrationDeleteResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:write"]}]}, "get": {"summary": "Get service integration", "tags": ["Service_Integrations"], "operationId": "ServiceIntegrationGet", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/integration_id"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceIntegrationGetResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:read"]}]}, "put": {"summary": "Update a service integration", "tags": ["Service_Integrations"], "operationId": "ServiceIntegrationUpdate", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/integration_id"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceIntegrationUpdateRequestBody"}, "example": {"user_config": {}}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceIntegrationUpdateResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:write"]}]}}, "/project/{project}/integration_endpoint": {"post": {"summary": "Create a new service integration endpoint", "tags": ["Service_Integrations"], "operationId": "ServiceIntegrationEndpointCreate", "parameters": [{"$ref": "#/components/parameters/project"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceIntegrationEndpointCreateRequestBody"}, "example": {"endpoint_name": "Testing Datadog account", "endpoint_type": "autoscaler", "user_config": {}}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceIntegrationEndpointCreateResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:write"]}]}, "get": {"summary": "List available integration endpoints for project", "tags": ["Service_Integrations"], "operationId": "ServiceIntegrationEndpointList", "parameters": [{"$ref": "#/components/parameters/project"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceIntegrationEndpointListResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:read"]}]}}, "/project/{project}/integration_endpoint/{integration_endpoint_id}": {"delete": {"summary": "Delete a service integration endpoint", "tags": ["Service_Integrations"], "operationId": "ServiceIntegrationEndpointDelete", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/integration_endpoint_id"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceIntegrationEndpointDeleteResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:write"]}]}, "get": {"summary": "Get service integration endpoint", "tags": ["Service_Integrations"], "operationId": "ServiceIntegrationEndpointGet", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/integration_endpoint_id"}, {"$ref": "#/components/parameters/serviceintegrationendpointget_include_secrets"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceIntegrationEndpointGetResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:read"]}]}, "put": {"summary": "Update service integration endpoint", "tags": ["Service_Integrations"], "operationId": "ServiceIntegrationEndpointUpdate", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/integration_endpoint_id"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceIntegrationEndpointUpdateRequestBody"}, "example": {"user_config": {}}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceIntegrationEndpointUpdateResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:write"]}]}}, "/project/{project}/integration_endpoint_types": {"get": {"summary": "List available service integration endpoint types", "tags": ["Service_Integrations"], "operationId": "ServiceIntegrationEndpointTypes", "parameters": [{"$ref": "#/components/parameters/project"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceIntegrationEndpointTypesResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:read"]}]}}, "/project/{project}/service/{service_name}/integration": {"get": {"summary": "List available integrations for a service", "tags": ["Service_Integrations"], "operationId": "ServiceIntegrationList", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/service_name"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceIntegrationListResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:read"]}]}}, "/project/{project}/integration_types": {"get": {"summary": "List available service integration types", "tags": ["Service_Integrations"], "operationId": "ServiceIntegrationTypes", "parameters": [{"$ref": "#/components/parameters/project"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ServiceIntegrationTypesResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["services:read"]}]}}, "/project/{project}/static-ips/{static_ip_address_id}/association": {"post": {"summary": "Associate a static IP address with a service", "tags": ["StaticIP"], "operationId": "ProjectStaticIPAssociate", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/static_ip_address_id"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ProjectStaticIPAssociateRequestBody"}, "example": {"service_name": "db123"}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ProjectStaticIPAssociateResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["static_ips:read", "projects:write"]}]}, "delete": {"summary": "Dissociate a static IP address from a service", "tags": ["StaticIP"], "operationId": "ProjectStaticIPDissociate", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/static_ip_address_id"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ProjectStaticIPDissociateResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["static_ips:read", "projects:write"]}]}}, "/project/{project}/static-ip-availability": {"get": {"summary": "List static IP address cloud availability and prices for a project", "tags": ["StaticIP"], "operationId": "ProjectStaticIPAvailabilityList", "parameters": [{"$ref": "#/components/parameters/project"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ProjectStaticIPAvailabilityListResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["static_ips:read"]}]}}, "/project/{project}/static-ips/{static_ip_address_id}": {"patch": {"summary": "Update a static IP address configuration", "tags": ["StaticIP"], "operationId": "ProjectStaticIPPatch", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/static_ip_address_id"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ProjectStaticIPPatchRequestBody"}, "example": {"termination_protection": true}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ProjectStaticIPPatchResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["static_ips:write"]}]}, "delete": {"summary": "Delete a static IP address", "tags": ["StaticIP"], "operationId": "StaticIPDelete", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/static_ip_address_id"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/StaticIPDeleteResponse"}}}}, "404": {"description": "Resource not found", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["project_not_found"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "project_not_found: Project not found"}}}}}}}}}}, "security": [{"tokenAuth": [], "oauth2": ["static_ips:write"]}]}}, "/project/{project}/static-ips": {"post": {"summary": "Create static IP address", "tags": ["StaticIP"], "operationId": "StaticIPCreate", "parameters": [{"$ref": "#/components/parameters/project"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/StaticIPCreateRequestBody"}, "example": {"cloud_name": "aws-eu-central-1", "termination_protection": true}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/StaticIPCreateResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["static_ips:write"]}]}, "get": {"summary": "List static IP addresses", "tags": ["StaticIP"], "operationId": "StaticIPList", "parameters": [{"$ref": "#/components/parameters/project"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/StaticIPListResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["static_ips:read"]}]}}, "/organization/{organization_id}/tickets": {"get": {"summary": "List organization support tickets", "tags": ["Ticket_[deprecated]"], "operationId": "OrganizationTicketList", "deprecated": true, "description": "<p>DEPRECATED: Support tickets have been moved to https://support.aiven.io/.</p>", "parameters": [{"$ref": "#/components/parameters/organization_id"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/OrganizationTicketListResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["tickets:read"]}]}}, "/project/{project}/tickets": {"post": {"summary": "Create a support ticket", "tags": ["Ticket_[deprecated]"], "operationId": "ProjectTicketCreate", "deprecated": true, "description": "<p>DEPRECATED: Support tickets have been moved to https://support.aiven.io/.</p>", "parameters": [{"$ref": "#/components/parameters/project"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ProjectTicketCreateResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["projects:write", "tickets:write"]}]}, "get": {"summary": "List support tickets", "tags": ["Ticket_[deprecated]"], "operationId": "ProjectTicketList", "deprecated": true, "description": "<p>DEPRECATED: Support tickets have been moved to https://support.aiven.io/.</p>", "parameters": [{"$ref": "#/components/parameters/project"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ProjectTicketListResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["projects:read", "tickets:read"]}]}}, "/project/{project}/tickets/{ticket_id}/invite": {"post": {"summary": "Invite a user to a ticket", "tags": ["Ticket_[deprecated]"], "operationId": "ProjectTicketInvite", "deprecated": true, "description": "<p>DEPRECATED: Support tickets have been moved to https://support.aiven.io/.</p>", "parameters": [{"$ref": "#/components/parameters/project"}, {"$ref": "#/components/parameters/ticket_id"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ProjectTicketInviteResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["projects:write", "tickets:write"]}]}}, "/access_token": {"post": {"summary": "Create new access token", "tags": ["Users"], "operationId": "AccessTokenCreate", "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/AccessTokenCreateRequestBody"}, "example": {"description": "Integration client Alpha", "extend_when_used": true, "ip_allowlist": ["192.168.6.0/24"], "max_age_seconds": 86400, "scopes": ["user:read"]}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AccessTokenCreateResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["user:write", "authentication:write"]}]}, "get": {"summary": "List all valid access tokens", "tags": ["Users"], "operationId": "AccessTokenList", "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AccessTokenListResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["user:read", "authentication:read"]}]}}, "/access_token/{token_prefix}": {"delete": {"summary": "Revoke an access token", "tags": ["Users"], "operationId": "AccessTokenRevoke", "parameters": [{"$ref": "#/components/parameters/token_prefix"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AccessTokenRevokeResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["user:write", "authentication:write"]}]}, "put": {"summary": "Update an existing access token", "tags": ["Users"], "operationId": "AccessTokenUpdate", "parameters": [{"$ref": "#/components/parameters/token_prefix"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/AccessTokenUpdateRequestBody"}, "example": {"description": "Integration client Alpha"}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AccessTokenUpdateResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["user:write", "authentication:write"]}]}}, "/me/password_strength": {"post": {"summary": "Check password strength for an existing user", "tags": ["Users"], "operationId": "CheckPasswordStrengthExistingUser", "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/CheckPasswordStrengthExistingUserRequestBody"}, "example": {"new_password": "xyz567", "old_password": "!@$password12345"}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CheckPasswordStrengthExistingUserResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": []}]}}, "/user/password_strength": {"post": {"summary": "Check password strength for a new user", "tags": ["Users"], "operationId": "CheckPasswordStrengthNewUser", "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/CheckPasswordStrengthNewUserRequestBody"}, "example": {"email": "jane@example.com", "password": "xyz567", "real_name": "Jane Smith"}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CheckPasswordStrengthNewUserResponse"}}}}}}}, "/organization/{organization_id}/user/{member_user_id}/user-groups": {"get": {"summary": "List user groups of the organization's member", "tags": ["Users"], "operationId": "OrganizationMemberGroupsList", "parameters": [{"$ref": "#/components/parameters/organization_id"}, {"$ref": "#/components/parameters/member_user_id"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/OrganizationMemberGroupsListResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["accounts:read"]}]}}, "/organization/{organization_id}/user/{member_user_id}/permissions": {"get": {"summary": "List resources permissions of the organization's member", "tags": ["Users"], "operationId": "OrganizationMemberPermissionsList", "description": "<p>Returns a comprehensive list of resources within an organization, including units, projects, and the organization itself, along with the specific permissions assigned to the user for each resource.</p>", "parameters": [{"$ref": "#/components/parameters/organization_id"}, {"$ref": "#/components/parameters/member_user_id"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/OrganizationMemberPermissionsListResponse"}}}}, "404": {"description": "Organization not found", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["organization_not_found"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "organization_not_found: Organization not found."}}}}}}}}}}, "security": [{"tokenAuth": [], "oauth2": ["authentication:read"]}]}}, "/organization/{organization_id}/user/{member_user_id}/authentication_methods": {"get": {"summary": "List authentication methods for a user in the organization", "tags": ["Users"], "operationId": "OrganizationUserAuthenticationMethodsList", "parameters": [{"$ref": "#/components/parameters/organization_id"}, {"$ref": "#/components/parameters/member_user_id"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/OrganizationUserAuthenticationMethodsListResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["accounts:read"]}]}}, "/organization/{organization_id}/user/{member_user_id}": {"delete": {"summary": "Remove a user from the organization", "tags": ["Users"], "operationId": "OrganizationUserDelete", "parameters": [{"$ref": "#/components/parameters/organization_id"}, {"$ref": "#/components/parameters/member_user_id"}], "responses": {"204": {"description": "Remove a user from the organization", "content": {}}, "400": {"description": "Invalid request parameters", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["cannot_remove_managed_users_from_organization", "organization_must_have_one_super_admin"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "cannot_remove_managed_users_from_organization: Cannot remove managed users from organization. organization_must_have_one_super_admin: Organization must contain at least one super admin."}}}}}}}}}, "403": {"description": "Operation not allowed", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["action_forbidden_for_managed_users"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "action_forbidden_for_managed_users: Requested action not allowed for managed users"}}}}}}}}}}, "security": [{"tokenAuth": [], "oauth2": ["accounts:write"]}]}, "get": {"summary": "Get details on a user of the organization", "tags": ["Users"], "operationId": "OrganizationUserGet", "parameters": [{"$ref": "#/components/parameters/organization_id"}, {"$ref": "#/components/parameters/member_user_id"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/OrganizationUserGetResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["accounts:read"]}]}, "patch": {"summary": "Update details on a user of the organization", "tags": ["Users"], "operationId": "OrganizationUserUpdate", "parameters": [{"$ref": "#/components/parameters/organization_id"}, {"$ref": "#/components/parameters/member_user_id"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/OrganizationUserUpdateRequestBody"}, "example": {"city": "Helsinki", "country": "FI", "department": "Workshop", "is_super_admin": true, "job_title": "Carpenter", "real_name": "Jane Smith", "state": "active"}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/OrganizationUserUpdateResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["accounts:write"]}]}}, "/organization/{organization_id}/user": {"get": {"summary": "List users of the organization", "tags": ["Users"], "operationId": "OrganizationUserList", "parameters": [{"$ref": "#/components/parameters/organization_id"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/OrganizationUserListResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["accounts:read"]}]}}, "/organization/{organization_id}/user/{member_user_id}/reset_password": {"post": {"summary": "Reset the password of a managed user in the organization", "tags": ["Users"], "operationId": "OrganizationUserPasswordReset", "parameters": [{"$ref": "#/components/parameters/organization_id"}, {"$ref": "#/components/parameters/member_user_id"}], "responses": {"204": {"description": "Reset the password of a managed user in the organization", "content": {}}}, "security": [{"tokenAuth": [], "oauth2": ["accounts:write"]}]}}, "/organization/{organization_id}/user/{member_user_id}/access-token/{token_prefix}": {"delete": {"summary": "Revoke the token of a managed user in the organization", "tags": ["Users"], "operationId": "OrganizationUserRevokeToken", "parameters": [{"$ref": "#/components/parameters/organization_id"}, {"$ref": "#/components/parameters/member_user_id"}, {"$ref": "#/components/parameters/token_prefix"}], "responses": {"204": {"description": "Revoke the token of a managed user in the organization", "content": {}}}, "security": [{"tokenAuth": [], "oauth2": ["user:write", "authentication:write"]}]}}, "/organization/{organization_id}/user/{member_user_id}/access-tokens": {"get": {"summary": "List tokens from an organization's member", "tags": ["Users"], "operationId": "OrganizationUserTokensList", "description": "<p>Returns tokens generated using general authentication methods or authentication methods linked to the organization.</p>", "parameters": [{"$ref": "#/components/parameters/organization_id"}, {"$ref": "#/components/parameters/member_user_id"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/OrganizationUserTokensListResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["accounts:read"]}]}}, "/me/2fa": {"put": {"summary": "Configure two-factor authentication", "tags": ["Users"], "operationId": "TwoFactorAuthConfigure", "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/TwoFactorAuthConfigureRequestBody"}, "example": {"method": "otp", "password": "!@$password12345"}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/TwoFactorAuthConfigureResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["user:write", "authentication:write"]}]}}, "/me/2fa/otp": {"put": {"summary": "Complete one-time password configuration", "tags": ["Users"], "operationId": "TwoFactorAuthConfigureOTP", "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/TwoFactorAuthConfigureOTPRequestBody"}, "example": {"otp": "987654", "password": "!@$password12345", "uri": "otpauth://totp/Aiven:foo%40example.com?secret=NF4E6L2JPISKV3AI&issuer=Aiven"}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/TwoFactorAuthConfigureOTPResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["user:write", "authentication:write"]}]}}, "/user/{user_id}": {"delete": {"summary": "Delete user account", "tags": ["Users"], "operationId": "UserAccountDelete", "parameters": [{"$ref": "#/components/parameters/user_id"}], "responses": {"204": {"description": "Delete user account", "content": {}}, "400": {"description": "Invalid request parameters", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["cannot_delete_active_managed_users", "cannot_delete_users_with_organizations_memberships"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "cannot_delete_active_managed_users: Managed users must be deactivated before deletion. Please deactivate the user first.. cannot_delete_users_with_organizations_memberships: To delete your user account, you have to first leave all organizations."}}}}}}}}}, "403": {"description": "Operation not allowed", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["action_forbidden_for_managed_users", "action_forbidden_on_application_users", "action_forbidden_on_unmanaged_users", "user_not_organization_admin"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "action_forbidden_for_managed_users: Requested action not allowed for managed users. action_forbidden_on_application_users: Requested action not allowed on application users. action_forbidden_on_unmanaged_users: Requested action not allowed on unmanaged users. user_not_organization_admin: User is not organization administrator."}}}}}}}}}}, "security": [{"tokenAuth": [], "oauth2": ["user:write", "authentication:write"]}]}}, "/me/account/invites/accept": {"post": {"summary": "Accept all invites for a single account", "tags": ["Users"], "operationId": "UserAccountInvitesAccept", "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/UserAccountInvitesAcceptRequestBody"}, "example": {"account_id": "a22ba494e096", "team_id": "at29872a9e"}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/UserAccountInvitesAcceptResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["user:write", "authentication:write"]}]}}, "/me/account/invites": {"get": {"summary": "List pending account invites", "tags": ["Users"], "operationId": "UserAccountInvitesList", "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/UserAccountInvitesListResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["user:read", "authentication:read"]}]}}, "/me/account/invites/reject": {"post": {"summary": "Reject invite to a team", "tags": ["Users"], "operationId": "UserAccountInvitesReject", "deprecated": true, "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/UserAccountInvitesRejectRequestBody"}, "example": {"account_id": "a22ba494e096", "team_id": "at982374klj"}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/UserAccountInvitesRejectResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["user:write", "authentication:write"]}]}}, "/userauth": {"post": {"summary": "Authenticate user", "tags": ["Users"], "operationId": "UserAuth", "description": "<p>Authenticate user and return token for following authorizations</p>", "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/UserAuthRequestBody"}, "example": {"email": "jane@example.com", "otp": "987654", "password": "!@$password12345"}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/UserAuthResponse"}}}}, "403": {"description": "Operation not allowed", "content": {"application/json": {"schema": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "errors": {"type": "array", "title": "List of error details. Typically there is only one element", "items": {"type": "object", "properties": {"message": {"type": "string", "title": "Human readable error message"}, "error_code": {"type": "string", "enum": ["user_deactivated"], "title": "Machine processable error code. Clients must be prepared to handle new codes.", "description": "user_deactivated: Your account has been temporary suspended. Please contact your organization admin."}}}}}}}}}}}}, "/userauth/login_options": {"post": {"summary": "Get available login options", "tags": ["Users"], "operationId": "UserAuthLoginOptions", "description": "<p>Get available user login options</p>", "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/UserAuthLoginOptionsRequestBody"}, "example": {"email": "jane@example.com"}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/UserAuthLoginOptionsResponse"}}}}}}}, "/me/authentication_methods/{user_authentication_method_id}": {"delete": {"summary": "Delete linked authentication method, and revoke all associated access tokens", "tags": ["Users"], "operationId": "UserAuthenticationMethodDelete", "parameters": [{"$ref": "#/components/parameters/user_authentication_method_id"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/UserAuthenticationMethodDeleteResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["user:write", "authentication:write"]}]}}, "/me/authentication_methods": {"get": {"summary": "List linked authentication methods", "tags": ["Users"], "operationId": "UserAuthenticationMethodsList", "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/UserAuthenticationMethodsListResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["user:read", "authentication:read"]}]}}, "/me/expire_tokens": {"post": {"summary": "Expire all authorization tokens", "tags": ["Users"], "operationId": "UserExpireTokens", "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/UserExpireTokensResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["user:write", "authentication:write"]}]}}, "/me": {"get": {"summary": "Get information for the current session's user", "tags": ["Users"], "operationId": "UserInfo", "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/UserInfoResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["user:read"]}]}, "patch": {"summary": "Edit profile", "tags": ["Users"], "operationId": "UserUpdate", "description": "<p>Updates details for the user. Returns user's updated information upon success.</p>", "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/UserUpdateRequestBody"}, "example": {"city": "Berlin", "country": "DE", "department": "Account manager", "job_title": "Account manager", "real_name": "Jane Smith"}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/UserUpdateResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["user:write"]}]}}, "/me/logout": {"post": {"summary": "Logout user, removing current authentication token", "tags": ["Users"], "operationId": "UserLogout", "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/UserLogoutResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": []}]}}, "/me/password": {"put": {"summary": "Change user password", "tags": ["Users"], "operationId": "UserPasswordChange", "description": "<p>Sets a new password for the user. Immediately expires all existing authentication tokens.</p>", "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/UserPasswordChangeRequestBody"}, "example": {"new_password": "xyz567", "password": "!@$password12345"}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/UserPasswordChangeResponse"}}}}}, "security": [{"tokenAuth": [], "oauth2": ["user:write", "authentication:write"]}]}}, "/user/password_reset/{verification_code}": {"post": {"summary": "Confirm user password reset", "tags": ["Users"], "operationId": "UserPasswordReset", "parameters": [{"$ref": "#/components/parameters/verification_code"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/UserPasswordResetRequestBody"}, "example": {"new_password": "xyz567"}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/UserPasswordResetResponse"}}}}}}}, "/user/password_reset_request": {"post": {"summary": "Request user password reset", "tags": ["Users"], "operationId": "UserPasswordResetRequest", "description": "<p>Request a password reset code to be sent to the user's email address.</p>", "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/UserPasswordResetRequestRequestBody"}, "example": {"email": "jane@example.com"}}}}, "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/UserPasswordResetRequestResponse"}}}}}}}, "/user/verify_email/{verification_code}": {"post": {"summary": "Confirm user email address", "tags": ["Users"], "operationId": "UserVerifyEmail", "description": "<p>Confirm user email address after user has received the confirm code via email.</p>", "parameters": [{"$ref": "#/components/parameters/verification_code"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/UserVerifyEmailResponse"}}}}}}}, "/user/credit_code/{credit_code}": {"get": {"summary": "Validate campaign credit code", "tags": ["Users"], "operationId": "ValidateCreditCode", "parameters": [{"$ref": "#/components/parameters/credit_code"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ValidateCreditCodeResponse"}}}}}}}, "/me/referral/validation/{referral_code}": {"get": {"summary": "Validate referral_code code", "tags": ["Users"], "operationId": "ValidateReferralCode", "parameters": [{"$ref": "#/components/parameters/referral_code"}], "responses": {"200": {"description": "Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ValidateReferralCodeResponse"}}}}}}}}, "servers": [{"url": "https://api.aiven.io/v1"}], "tags": [{"name": "Account", "x-displayName": "Account"}, {"name": "Application_Users", "x-displayName": "Application Users"}, {"name": "Authentication_Methods", "x-displayName": "Authentication Methods"}, {"name": "Billing", "x-displayName": "Billing"}, {"name": "BillingGroup", "x-displayName": "BillingGroup"}, {"name": "Cloud_platforms", "x-displayName": "Cloud platforms"}, {"name": "Custom_Cloud", "x-displayName": "Custom Cloud"}, {"name": "Domains", "x-displayName": "Domains"}, {"name": "Groups", "x-displayName": "Groups"}, {"name": "OrganizationBillingGroup", "x-displayName": "OrganizationBillingGroup"}, {"name": "OrganizationPaymentMethod", "x-displayName": "OrganizationPaymentMethod"}, {"name": "Organization_Vpc", "x-displayName": "Organization Vpc"}, {"name": "Organizations", "x-displayName": "Organizations"}, {"name": "Payment", "x-displayName": "Payment"}, {"name": "Permissions", "x-displayName": "Permissions"}, {"name": "Project", "x-displayName": "Project"}, {"name": "Project_Billing", "x-displayName": "Project Billing"}, {"name": "Project_Key_Management", "x-displayName": "Project Key Management"}, {"name": "Secrets", "x-displayName": "Secrets"}, {"name": "Service:_AlloyDB_Omni", "x-displayName": "Service: AlloyDB Omni"}, {"name": "Service:_ClickHouse", "x-displayName": "Service: ClickHouse"}, {"name": "Service:_Flink", "x-displayName": "Service: Flink"}, {"name": "Service:_Kafka", "x-displayName": "Service: Kafka"}, {"name": "Service:_Kafka_MirrorMaker", "x-displayName": "Service: Kafka MirrorMaker"}, {"name": "Service:_MySQL", "x-displayName": "Service: MySQL"}, {"name": "Service:_OpenSearch", "x-displayName": "Service: OpenSearch"}, {"name": "Service:_PostgreSQL", "x-displayName": "Service: PostgreSQL"}, {"name": "Service:_Thanos", "x-displayName": "Service: Thanos"}, {"name": "Service", "x-displayName": "Service"}, {"name": "Service_Integrations", "x-displayName": "Service Integrations"}, {"name": "StaticIP", "x-displayName": "StaticIP"}, {"name": "Ticket_[deprecated]", "x-displayName": "Ticket [deprecated]"}, {"name": "Users", "x-displayName": "Users"}]}