# info/props
Get the metadata map for a value, namespace, or type. Passing a `deftype`
name returns its reflection map.
## Syntax
[info/props arg1]
## Parameters
- `arg1` — a namespace name, a variable name, or a type name (string;
for types the bare name, e.g. `"Server"`)
## Examples
deftype Server %{ :name %{:type :string :required true} :port %{:type :number :coerce true :min 1} } set p [info/props "Server"] [keys $p] # => :name :fields :schema ... [get $p :fields] # => @{ "name" "port" } [get [get $p :effective-schema] :port] # => %{:type :number :coerce true :min 1}
## Returns
For a type: `%{ :name :fields :schema :effective-schema :defaults`
:parent :variants :methods :method-docs }` (keys with no data are`
omitted).
- `:fields` — ordered field names, parent fields included
- `:schema` — the type's own raw field→spec map (as declared)
- `:effective-schema` — the field→spec map merged across the `<<` parent
chain, child keys overriding (what validators read)
- `:defaults` — merged field→default map
For a value or namespace, the attributes attached via decorators/`@meta`.
## See Also
`schema/validate`, `schema/from-value`, `info/types`, `deftype`