class Attio::Attribute
def retrieve(id, **opts)
def retrieve(id, **opts) # Extract simple ID if it's a nested hash attribute_id = Util::IdExtractor.extract_for_resource(id, :attribute) validate_id!(attribute_id) # For attributes, we need the object context - check if it's in the nested ID if id.is_a?(Hash) && id["object_id"] object_id = id["object_id"] response = execute_request(:GET, "objects/#{object_id}/attributes/#{attribute_id}", {}, opts) else # Fall back to regular attributes endpoint response = execute_request(:GET, "#{resource_path}/#{attribute_id}", {}, opts) end new(response["data"] || response, opts) end