# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. # typed: true # frozen_string_literal: true module SpeakeasyClientSDK module Shared # An ApiEndpoint is a description of an Endpoint for an API. class ApiEndpoint < ::SpeakeasyClientSDK::Utils::FieldAugmented extend T::Sig # The ID of this ApiEndpoint. This is a hash of the method and path. field :api_endpoint_id, ::String, { 'format_json': { 'letter_case': ::SpeakeasyClientSDK::Utils.field_name('api_endpoint_id') } } # The ID of the Api this ApiEndpoint belongs to. field :api_id, ::String, { 'format_json': { 'letter_case': ::SpeakeasyClientSDK::Utils.field_name('api_id') } } # Creation timestamp. field :created_at, ::DateTime, { 'format_json': { 'letter_case': ::SpeakeasyClientSDK::Utils.field_name('created_at'), 'decoder': Utils.datetime_from_iso_format(false) } } # A detailed description of the ApiEndpoint. field :description, ::String, { 'format_json': { 'letter_case': ::SpeakeasyClientSDK::Utils.field_name('description') } } # A human-readable name for the ApiEndpoint. field :display_name, ::String, { 'format_json': { 'letter_case': ::SpeakeasyClientSDK::Utils.field_name('display_name') } } # HTTP verb. field :method, ::String, { 'format_json': { 'letter_case': ::SpeakeasyClientSDK::Utils.field_name('method') } } # Path that handles this Api. field :path, ::String, { 'format_json': { 'letter_case': ::SpeakeasyClientSDK::Utils.field_name('path') } } # Last update timestamp. field :updated_at, ::DateTime, { 'format_json': { 'letter_case': ::SpeakeasyClientSDK::Utils.field_name('updated_at'), 'decoder': Utils.datetime_from_iso_format(false) } } # The version ID of the Api this ApiEndpoint belongs to. field :version_id, ::String, { 'format_json': { 'letter_case': ::SpeakeasyClientSDK::Utils.field_name('version_id') } } # The workspace ID this ApiEndpoint belongs to. field :workspace_id, ::String, { 'format_json': { 'letter_case': ::SpeakeasyClientSDK::Utils.field_name('workspace_id') } } # Determines if the endpoint was found in the OpenAPI spec associated with the parent Api. field :matched, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::SpeakeasyClientSDK::Utils.field_name('matched') } } sig { params(api_endpoint_id: ::String, api_id: ::String, created_at: ::DateTime, description: ::String, display_name: ::String, method: ::String, path: ::String, updated_at: ::DateTime, version_id: ::String, workspace_id: ::String, matched: T.nilable(T::Boolean)).void } def initialize(api_endpoint_id: nil, api_id: nil, created_at: nil, description: nil, display_name: nil, method: nil, path: nil, updated_at: nil, version_id: nil, workspace_id: nil, matched: nil) @api_endpoint_id = api_endpoint_id @api_id = api_id @created_at = created_at @description = description @display_name = display_name @method = method @path = path @updated_at = updated_at @version_id = version_id @workspace_id = workspace_id @matched = matched end end end end