fca_api.types.search#

Search result types for FCA API responses.

This module defines Pydantic models for the different types of search results returned by the FCA Financial Services Register API. These models provide type-safe access to search result data with automatic validation.

Classes:
  • FirmSearchResult: Results from firm name searches

  • IndividualSearchResult: Results from individual name searches

  • FundSearchResult: Results from fund/product name searches

Each search result type contains core identification fields (reference numbers, names, status) plus type-specific additional information.

Example

Working with search results:

# Firm search results
firms = await client.search_frn("Barclays")
async for firm in firms:
    print(f"FRN: {firm.frn}")
    print(f"Name: {firm.name}")
    print(f"Status: {firm.status}")
    print(f"Type: {firm.type}")
    if firm.url:
        print(f"Details: {firm.url}")

# Individual search results
individuals = await client.search_irn("John Smith")
async for person in individuals:
    print(f"IRN: {person.irn}")
    print(f"Name: {person.name}")
    print(f"Status: {person.status}")

# Fund search results
funds = await client.search_prn("Vanguard")
async for fund in funds:
    print(f"PRN: {fund.prn}")
    print(f"Name: {fund.name}")
    print(f"Status: {fund.status}")

Note

Search results provide summary information. Use the reference numbers (FRN, IRN, PRN) with the detailed get methods to retrieve complete information about specific entities.

See also

  • fca_api.async_api.Client.search_frn: Search for firms

  • fca_api.async_api.Client.search_irn: Search for individuals

  • fca_api.async_api.Client.search_prn: Search for funds

class fca_api.types.search.FirmSearchResult(*, url: ~typing.Annotated[~pydantic.networks.HttpUrl | None, ~fca_api.types.annotations.FcaApiFieldInfo(marks=frozenset({<FcaApiField.InternalUrl: 'internal_url'>}))], frn: str, status: str, type: str, name: str)[source]#

Search result for a firm from the FCA Financial Services Register.

Represents a single firm found in search results, containing core identification and status information. This is returned by firm name searches and provides the essential data needed to identify and access detailed firm information.

Example

Access firm search result data:

firms = await client.search_frn("Barclays Bank")
if len(firms) > 0:
    firm = firms[0]

    print(f"Found: {firm.name}")
    print(f"FRN: {firm.frn}")
    print(f"Status: {firm.status}")
    print(f"Type: {firm.type}")

    if firm.address:
        print(f"Address: {firm.address}")

    # Get detailed information
    details = await client.get_firm(firm.frn)

Note

The url field may be None for some results. The frn field is the key identifier for retrieving detailed firm information using client.get_firm().

__pydantic_fields_set__#

The names of fields explicitly set during instantiation.

__pydantic_extra__#

A dictionary containing extra values, if [extra][pydantic.config.ConfigDict.extra] is set to ‘allow’.

__pydantic_private__#

Values of private attributes set on the model instance.

__class_vars__ = {}#

The names of the class variables defined on the model.

__private_attributes__ = {}#

Metadata about the private attributes of the model.

__pydantic_complete__ = True#

Whether model building is completed, or if there are still undefined fields.

__pydantic_computed_fields__ = {}#

A dictionary of computed field names and their corresponding [ComputedFieldInfo][pydantic.fields.ComputedFieldInfo] objects.

__pydantic_core_schema__ = {'cls': <class 'fca_api.types.search.FirmSearchResult'>, 'config': {'title': 'FirmSearchResult'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'fca_api.types.search.FirmSearchResult'>>]}, 'ref': 'fca_api.types.search.FirmSearchResult:93917374871088', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'frn': {'metadata': {'pydantic_js_updates': {'description': "The firm's Financial Reference Number (FRN)."}}, 'schema': {'type': 'str'}, 'serialization_alias': 'frn', 'type': 'model-field', 'validation_alias': [['reference number'], ['frn']]}, 'name': {'metadata': {'pydantic_js_extra': {'trim_whitespace': True}, 'pydantic_js_updates': {'description': "The firm's name."}}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'status': {'metadata': {'pydantic_js_extra': {'to_lower': True, 'trim_whitespace': True}, 'pydantic_js_updates': {'description': "The firm's status."}}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_extra': {'to_lower': True, 'trim_whitespace': True}, 'pydantic_js_updates': {'description': 'The type of the resource.'}}, 'schema': {'type': 'str'}, 'serialization_alias': 'type', 'type': 'model-field', 'validation_alias': [['type of business or individual'], ['type']]}, 'url': {'metadata': {'pydantic_js_updates': {'description': "The URL of the firm's record in the FCA register."}}, 'schema': {'schema': {'function': {'function': <function _BaseUrl.__get_pydantic_core_schema__.<locals>.wrap_val>, 'type': 'no-info'}, 'metadata': {'pydantic_js_functions': [<bound method _BaseUrl.__get_pydantic_json_schema__ of <class 'pydantic.networks.HttpUrl'>>]}, 'schema': {'allowed_schemes': ['http', 'https'], 'max_length': 2083, 'type': 'url'}, 'serialization': {'function': <bound method _BaseUrl.serialize_url of <class 'pydantic.networks.HttpUrl'>>, 'info_arg': True, 'type': 'function-plain'}, 'type': 'function-wrap'}, 'type': 'nullable'}, 'type': 'model-field'}}, 'model_name': 'FirmSearchResult', 'type': 'model-fields'}, 'type': 'model'}#

The core schema of the model.

__pydantic_custom_init__ = False#

Whether the model has a custom __init__ method.

__pydantic_decorators__ = DecoratorInfos(validators={}, field_validators={}, root_validators={}, field_serializers={}, model_serializers={}, model_validators={}, computed_fields={})#

Metadata containing the decorators defined on the model. This replaces Model.__validators__ and Model.__root_validators__ from Pydantic V1.

__pydantic_extra_info__ = None#

A wrapper around the __pydantic_extra__ annotation, if explicitly annotated on a model.

This is a private attribute, not meant to be used outside Pydantic.

__pydantic_fields__ = {'frn': FieldInfo(annotation=str, required=True, alias_priority=2, validation_alias=AliasChoices(choices=['reference number', 'frn']), serialization_alias='frn', description="The firm's Financial Reference Number (FRN)."), 'name': FieldInfo(annotation=str, required=True, description="The firm's name.", json_schema_extra={'trim_whitespace': True}), 'status': FieldInfo(annotation=str, required=True, description="The firm's status.", json_schema_extra={'to_lower': True, 'trim_whitespace': True}), 'type': FieldInfo(annotation=str, required=True, alias_priority=2, validation_alias=AliasChoices(choices=['type of business or individual', 'type']), serialization_alias='type', description='The type of the resource.', json_schema_extra={'to_lower': True, 'trim_whitespace': True}), 'url': FieldInfo(annotation=Union[HttpUrl, NoneType], required=True, description="The URL of the firm's record in the FCA register.", metadata=[FcaApiFieldInfo(marks=frozenset({<FcaApiField.InternalUrl: 'internal_url'>}))])}#

A dictionary of field names and their corresponding [FieldInfo][pydantic.fields.FieldInfo] objects. This replaces Model.__fields__ from Pydantic V1.

__pydantic_generic_metadata__ = {'args': (), 'origin': None, 'parameters': ()}#

A dictionary containing metadata about generic Pydantic models.

The origin and args items map to the [__origin__][genericalias.__origin__] and [__args__][genericalias.__args__] attributes of [generic aliases][types-genericalias], and the parameter item maps to the __parameter__ attribute of generic classes.

__pydantic_parent_namespace__ = None#

Parent namespace of the model, used for automatic rebuilding of models.

__pydantic_post_init__ = None#

The name of the post-init method for the model, if defined.

__pydantic_serializer__ = SchemaSerializer(serializer=PolymorphismTrampoline(     PolymorphismTrampoline {         class: Py(             0x0000556ad7c47630,         ),         serializer: PolymorphismTrampoline(             PolymorphismTrampoline {                 class: Py(                     0x0000556ad7c47630,                 ),                 serializer: Model(                     ModelSerializer {                         class: Py(                             0x0000556ad7c47630,                         ),                         serializer: Fields(                             GeneralFieldsSerializer {                                 fields: {                                     "url": SerField {                                         key: "url",                                         alias: None,                                         serializer: Some(                                             Nullable(                                                 NullableSerializer {                                                     serializer: Function(                                                         FunctionPlainSerializer {                                                             func: Py(                                                                 0x00007fe7e3ea4ec0,                                                             ),                                                             name: "plain_function[serialize_url]",                                                             function_name: "serialize_url",                                                             return_serializer: Any(                                                                 AnySerializer,                                                             ),                                                             fallback_serializer: None,                                                             when_used: Always,                                                             is_field_serializer: false,                                                             info_arg: true,                                                         },                                                     ),                                                 },                                             ),                                         ),                                         required: true,                                         serialize_by_alias: None,                                         serialization_exclude_if: None,                                     },                                     "name": SerField {                                         key: "name",                                         alias: None,                                         serializer: Some(                                             Str(                                                 StrSerializer,                                             ),                                         ),                                         required: true,                                         serialize_by_alias: None,                                         serialization_exclude_if: None,                                     },                                     "frn": SerField {                                         key: "frn",                                         alias: Some(                                             "frn",                                         ),                                         serializer: Some(                                             Str(                                                 StrSerializer,                                             ),                                         ),                                         required: true,                                         serialize_by_alias: None,                                         serialization_exclude_if: None,                                     },                                     "status": SerField {                                         key: "status",                                         alias: None,                                         serializer: Some(                                             Str(                                                 StrSerializer,                                             ),                                         ),                                         required: true,                                         serialize_by_alias: None,                                         serialization_exclude_if: None,                                     },                                     "type": SerField {                                         key: "type",                                         alias: Some(                                             "type",                                         ),                                         serializer: Some(                                             Str(                                                 StrSerializer,                                             ),                                         ),                                         required: true,                                         serialize_by_alias: None,                                         serialization_exclude_if: None,                                     },                                 },                                 computed_fields: Some(                                     ComputedFields(                                         [],                                     ),                                 ),                                 mode: SimpleDict,                                 extra_serializer: None,                                 filter: SchemaFilter {                                     include: None,                                     exclude: None,                                 },                                 required_fields: 5,                             },                         ),                         has_extra: false,                         root_model: false,                         name: "FirmSearchResult",                     },                 ),                 enabled_from_config: false,             },         ),         enabled_from_config: false,     }, ), definitions=[])#

The pydantic-core SchemaSerializer used to dump instances of the model.

__pydantic_setattr_handlers__ = {}#

__setattr__ handlers. Memoizing the handlers leads to a dramatic performance improvement in __setattr__

__pydantic_validator__ = SchemaValidator(title="FirmSearchResult", validator=Model(     ModelValidator {         revalidate: Never,         validator: ModelFields(             ModelFieldsValidator {                 fields: [                     Field {                         name: "url",                         lookup_path_collection: LookupPathCollection {                             by_name: LookupPath {                                 first_item: PathItemString(                                     "url",                                 ),                                 rest: [],                             },                             by_alias: [],                         },                         validator: Nullable(                             NullableValidator {                                 validator: FunctionWrap(                                     FunctionWrapValidator {                                         validator: Url(                                             UrlValidator {                                                 strict: false,                                                 max_length: Some(                                                     2083,                                                 ),                                                 allowed_schemes: Some(                                                     (                                                         {                                                             "https",                                                             "http",                                                         },                                                         "'http' or 'https'",                                                     ),                                                 ),                                                 host_required: false,                                                 default_host: None,                                                 default_port: None,                                                 default_path: None,                                                 name: "url['http','https']",                                                 preserve_empty_path: false,                                             },                                         ),                                         func: Py(                                             0x00007fe7e3f5fce0,                                         ),                                         config: Py(                                             0x00007fe7e40ac100,                                         ),                                         name: "function-wrap[wrap_val()]",                                         field_name: None,                                         info_arg: false,                                         hide_input_in_errors: false,                                         validation_error_cause: false,                                     },                                 ),                                 name: "nullable[function-wrap[wrap_val()]]",                             },                         ),                         frozen: false,                     },                     Field {                         name: "frn",                         lookup_path_collection: LookupPathCollection {                             by_name: LookupPath {                                 first_item: PathItemString(                                     "frn",                                 ),                                 rest: [],                             },                             by_alias: [                                 LookupPath {                                     first_item: PathItemString(                                         "reference number",                                     ),                                     rest: [],                                 },                                 LookupPath {                                     first_item: PathItemString(                                         "frn",                                     ),                                     rest: [],                                 },                             ],                         },                         validator: Str(                             StrValidator {                                 strict: false,                                 coerce_numbers_to_str: false,                             },                         ),                         frozen: false,                     },                     Field {                         name: "status",                         lookup_path_collection: LookupPathCollection {                             by_name: LookupPath {                                 first_item: PathItemString(                                     "status",                                 ),                                 rest: [],                             },                             by_alias: [],                         },                         validator: Str(                             StrValidator {                                 strict: false,                                 coerce_numbers_to_str: false,                             },                         ),                         frozen: false,                     },                     Field {                         name: "type",                         lookup_path_collection: LookupPathCollection {                             by_name: LookupPath {                                 first_item: PathItemString(                                     "type",                                 ),                                 rest: [],                             },                             by_alias: [                                 LookupPath {                                     first_item: PathItemString(                                         "type of business or individual",                                     ),                                     rest: [],                                 },                                 LookupPath {                                     first_item: PathItemString(                                         "type",                                     ),                                     rest: [],                                 },                             ],                         },                         validator: Str(                             StrValidator {                                 strict: false,                                 coerce_numbers_to_str: false,                             },                         ),                         frozen: false,                     },                     Field {                         name: "name",                         lookup_path_collection: LookupPathCollection {                             by_name: LookupPath {                                 first_item: PathItemString(                                     "name",                                 ),                                 rest: [],                             },                             by_alias: [],                         },                         validator: Str(                             StrValidator {                                 strict: false,                                 coerce_numbers_to_str: false,                             },                         ),                         frozen: false,                     },                 ],                 model_name: "FirmSearchResult",                 extra_behavior: Ignore,                 extras_validator: None,                 extras_keys_validator: None,                 strict: false,                 from_attributes: false,                 loc_by_alias: true,                 lookup: LookupTree {                     inner: {                         PathItemString(                             "status",                         ): LookupTreeNode {                             fields: [                                 LookupFieldInfo {                                     field_index: 2,                                     lookup_priority: LookupFieldPriority {                                         lookup_type: Both,                                         alias_index: 0,                                     },                                 },                             ],                             map: {},                             list: {},                         },                         PathItemString(                             "type",                         ): LookupTreeNode {                             fields: [                                 LookupFieldInfo {                                     field_index: 3,                                     lookup_priority: LookupFieldPriority {                                         lookup_type: Name,                                         alias_index: 0,                                     },                                 },                                 LookupFieldInfo {                                     field_index: 3,                                     lookup_priority: LookupFieldPriority {                                         lookup_type: Alias,                                         alias_index: 1,                                     },                                 },                             ],                             map: {},                             list: {},                         },                         PathItemString(                             "url",                         ): LookupTreeNode {                             fields: [                                 LookupFieldInfo {                                     field_index: 0,                                     lookup_priority: LookupFieldPriority {                                         lookup_type: Both,                                         alias_index: 0,                                     },                                 },                             ],                             map: {},                             list: {},                         },                         PathItemString(                             "frn",                         ): LookupTreeNode {                             fields: [                                 LookupFieldInfo {                                     field_index: 1,                                     lookup_priority: LookupFieldPriority {                                         lookup_type: Name,                                         alias_index: 0,                                     },                                 },                                 LookupFieldInfo {                                     field_index: 1,                                     lookup_priority: LookupFieldPriority {                                         lookup_type: Alias,                                         alias_index: 1,                                     },                                 },                             ],                             map: {},                             list: {},                         },                         PathItemString(                             "name",                         ): LookupTreeNode {                             fields: [                                 LookupFieldInfo {                                     field_index: 4,                                     lookup_priority: LookupFieldPriority {                                         lookup_type: Both,                                         alias_index: 0,                                     },                                 },                             ],                             map: {},                             list: {},                         },                         PathItemString(                             "reference number",                         ): LookupTreeNode {                             fields: [                                 LookupFieldInfo {                                     field_index: 1,                                     lookup_priority: LookupFieldPriority {                                         lookup_type: Alias,                                         alias_index: 0,                                     },                                 },                             ],                             map: {},                             list: {},                         },                         PathItemString(                             "type of business or individual",                         ): LookupTreeNode {                             fields: [                                 LookupFieldInfo {                                     field_index: 3,                                     lookup_priority: LookupFieldPriority {                                         lookup_type: Alias,                                         alias_index: 0,                                     },                                 },                             ],                             map: {},                             list: {},                         },                     },                 },                 validate_by_alias: None,                 validate_by_name: None,             },         ),         class: Py(             0x0000556ad7c47630,         ),         generic_origin: None,         post_init: None,         frozen: false,         custom_init: false,         root_model: false,         undefined: Py(             0x00007fe7e4c7c550,         ),         name: "FirmSearchResult",     }, ), definitions=[], cache_strings=True)#

The pydantic-core SchemaValidator used to validate instances of the model.

__signature__ = <Signature (*, url: Annotated[pydantic.networks.HttpUrl | None, FcaApiFieldInfo(marks=frozenset({<FcaApiField.InternalUrl: 'internal_url'>}))], frn: str, status: str, type: str, name: str) -> None>#

The synthesized __init__ [Signature][inspect.Signature] of the model.

model_config = {}#

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class fca_api.types.search.IndividualSearchResult(*, url: ~typing.Annotated[~pydantic.networks.HttpUrl | None, ~fca_api.types.annotations.FcaApiFieldInfo(marks=frozenset({<FcaApiField.InternalUrl: 'internal_url'>}))], irn: str, name: str, status: ~typing.Annotated[str, ~pydantic.types.StringConstraints(strip_whitespace=True, to_upper=None, to_lower=True, strict=None, min_length=None, max_length=None, pattern=None, ascii_only=None)], type: ~typing.Annotated[str, ~pydantic.types.StringConstraints(strip_whitespace=True, to_upper=None, to_lower=True, strict=None, min_length=None, max_length=None, pattern=None, ascii_only=None)])[source]#

Search result for an individual from the FCA register.

Represents a single individual found in search results, containing core identification and status information. This is returned by individual name searches and provides the essential data needed to identify and access detailed individual information.

Example

Access individual search result data:

individuals = await client.search_irn("Jane Smith")
if len(individuals) > 0:
    person = individuals[0]

    print(f"Found: {person.name}")
    print(f"IRN: {person.irn}")
    print(f"Status: {person.status}")
    print(f"Type: {person.type}")

    if person.url:
        print(f"Details: {person.url}")

Note

The irn field is the key identifier for retrieving detailed individual information using client.get_individual().

__pydantic_fields_set__#

The names of fields explicitly set during instantiation.

__pydantic_extra__#

A dictionary containing extra values, if [extra][pydantic.config.ConfigDict.extra] is set to ‘allow’.

__pydantic_private__#

Values of private attributes set on the model instance.

__class_vars__ = {}#

The names of the class variables defined on the model.

__private_attributes__ = {}#

Metadata about the private attributes of the model.

__pydantic_complete__ = True#

Whether model building is completed, or if there are still undefined fields.

__pydantic_computed_fields__ = {}#

A dictionary of computed field names and their corresponding [ComputedFieldInfo][pydantic.fields.ComputedFieldInfo] objects.

__pydantic_core_schema__ = {'cls': <class 'fca_api.types.search.IndividualSearchResult'>, 'config': {'title': 'IndividualSearchResult'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'fca_api.types.search.IndividualSearchResult'>>]}, 'ref': 'fca_api.types.search.IndividualSearchResult:93917376687696', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'irn': {'metadata': {'pydantic_js_updates': {'description': "The individual's Reference Number (IRN)."}}, 'schema': {'type': 'str'}, 'serialization_alias': 'irn', 'type': 'model-field', 'validation_alias': [['reference number'], ['irn']]}, 'name': {'metadata': {'pydantic_js_extra': {'trim_whitespace': True}, 'pydantic_js_updates': {'description': "The individual's name."}}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'status': {'metadata': {'pydantic_js_updates': {'description': "The individual's status."}}, 'schema': {'strip_whitespace': True, 'to_lower': True, 'type': 'str'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_updates': {'description': "The individual's type."}}, 'schema': {'strip_whitespace': True, 'to_lower': True, 'type': 'str'}, 'serialization_alias': 'type', 'type': 'model-field', 'validation_alias': [['type of business or individual'], ['type']]}, 'url': {'metadata': {'pydantic_js_updates': {'description': "The URL of the individual's record in the FCA register."}}, 'schema': {'schema': {'function': {'function': <function _BaseUrl.__get_pydantic_core_schema__.<locals>.wrap_val>, 'type': 'no-info'}, 'metadata': {'pydantic_js_functions': [<bound method _BaseUrl.__get_pydantic_json_schema__ of <class 'pydantic.networks.HttpUrl'>>]}, 'schema': {'allowed_schemes': ['http', 'https'], 'max_length': 2083, 'type': 'url'}, 'serialization': {'function': <bound method _BaseUrl.serialize_url of <class 'pydantic.networks.HttpUrl'>>, 'info_arg': True, 'type': 'function-plain'}, 'type': 'function-wrap'}, 'type': 'nullable'}, 'type': 'model-field'}}, 'model_name': 'IndividualSearchResult', 'type': 'model-fields'}, 'type': 'model'}#

The core schema of the model.

__pydantic_custom_init__ = False#

Whether the model has a custom __init__ method.

__pydantic_decorators__ = DecoratorInfos(validators={}, field_validators={}, root_validators={}, field_serializers={}, model_serializers={}, model_validators={}, computed_fields={})#

Metadata containing the decorators defined on the model. This replaces Model.__validators__ and Model.__root_validators__ from Pydantic V1.

__pydantic_extra_info__ = None#

A wrapper around the __pydantic_extra__ annotation, if explicitly annotated on a model.

This is a private attribute, not meant to be used outside Pydantic.

__pydantic_fields__ = {'irn': FieldInfo(annotation=str, required=True, alias_priority=2, validation_alias=AliasChoices(choices=['reference number', 'irn']), serialization_alias='irn', description="The individual's Reference Number (IRN)."), 'name': FieldInfo(annotation=str, required=True, description="The individual's name.", json_schema_extra={'trim_whitespace': True}), 'status': FieldInfo(annotation=str, required=True, description="The individual's status.", metadata=[StringConstraints(strip_whitespace=True, to_upper=None, to_lower=True, strict=None, min_length=None, max_length=None, pattern=None, ascii_only=None)]), 'type': FieldInfo(annotation=str, required=True, alias_priority=2, validation_alias=AliasChoices(choices=['type of business or individual', 'type']), serialization_alias='type', description="The individual's type.", metadata=[StringConstraints(strip_whitespace=True, to_upper=None, to_lower=True, strict=None, min_length=None, max_length=None, pattern=None, ascii_only=None)]), 'url': FieldInfo(annotation=Union[HttpUrl, NoneType], required=True, description="The URL of the individual's record in the FCA register.", metadata=[FcaApiFieldInfo(marks=frozenset({<FcaApiField.InternalUrl: 'internal_url'>}))])}#

A dictionary of field names and their corresponding [FieldInfo][pydantic.fields.FieldInfo] objects. This replaces Model.__fields__ from Pydantic V1.

__pydantic_generic_metadata__ = {'args': (), 'origin': None, 'parameters': ()}#

A dictionary containing metadata about generic Pydantic models.

The origin and args items map to the [__origin__][genericalias.__origin__] and [__args__][genericalias.__args__] attributes of [generic aliases][types-genericalias], and the parameter item maps to the __parameter__ attribute of generic classes.

__pydantic_parent_namespace__ = None#

Parent namespace of the model, used for automatic rebuilding of models.

__pydantic_post_init__ = None#

The name of the post-init method for the model, if defined.

__pydantic_serializer__ = SchemaSerializer(serializer=PolymorphismTrampoline(     PolymorphismTrampoline {         class: Py(             0x0000556ad7e02e50,         ),         serializer: PolymorphismTrampoline(             PolymorphismTrampoline {                 class: Py(                     0x0000556ad7e02e50,                 ),                 serializer: Model(                     ModelSerializer {                         class: Py(                             0x0000556ad7e02e50,                         ),                         serializer: Fields(                             GeneralFieldsSerializer {                                 fields: {                                     "status": SerField {                                         key: "status",                                         alias: None,                                         serializer: Some(                                             Str(                                                 StrSerializer,                                             ),                                         ),                                         required: true,                                         serialize_by_alias: None,                                         serialization_exclude_if: None,                                     },                                     "type": SerField {                                         key: "type",                                         alias: Some(                                             "type",                                         ),                                         serializer: Some(                                             Str(                                                 StrSerializer,                                             ),                                         ),                                         required: true,                                         serialize_by_alias: None,                                         serialization_exclude_if: None,                                     },                                     "irn": SerField {                                         key: "irn",                                         alias: Some(                                             "irn",                                         ),                                         serializer: Some(                                             Str(                                                 StrSerializer,                                             ),                                         ),                                         required: true,                                         serialize_by_alias: None,                                         serialization_exclude_if: None,                                     },                                     "name": SerField {                                         key: "name",                                         alias: None,                                         serializer: Some(                                             Str(                                                 StrSerializer,                                             ),                                         ),                                         required: true,                                         serialize_by_alias: None,                                         serialization_exclude_if: None,                                     },                                     "url": SerField {                                         key: "url",                                         alias: None,                                         serializer: Some(                                             Nullable(                                                 NullableSerializer {                                                     serializer: Function(                                                         FunctionPlainSerializer {                                                             func: Py(                                                                 0x00007fe7e40b8b80,                                                             ),                                                             name: "plain_function[serialize_url]",                                                             function_name: "serialize_url",                                                             return_serializer: Any(                                                                 AnySerializer,                                                             ),                                                             fallback_serializer: None,                                                             when_used: Always,                                                             is_field_serializer: false,                                                             info_arg: true,                                                         },                                                     ),                                                 },                                             ),                                         ),                                         required: true,                                         serialize_by_alias: None,                                         serialization_exclude_if: None,                                     },                                 },                                 computed_fields: Some(                                     ComputedFields(                                         [],                                     ),                                 ),                                 mode: SimpleDict,                                 extra_serializer: None,                                 filter: SchemaFilter {                                     include: None,                                     exclude: None,                                 },                                 required_fields: 5,                             },                         ),                         has_extra: false,                         root_model: false,                         name: "IndividualSearchResult",                     },                 ),                 enabled_from_config: false,             },         ),         enabled_from_config: false,     }, ), definitions=[])#

The pydantic-core SchemaSerializer used to dump instances of the model.

__pydantic_setattr_handlers__ = {}#

__setattr__ handlers. Memoizing the handlers leads to a dramatic performance improvement in __setattr__

__pydantic_validator__ = SchemaValidator(title="IndividualSearchResult", validator=Model(     ModelValidator {         revalidate: Never,         validator: ModelFields(             ModelFieldsValidator {                 fields: [                     Field {                         name: "url",                         lookup_path_collection: LookupPathCollection {                             by_name: LookupPath {                                 first_item: PathItemString(                                     "url",                                 ),                                 rest: [],                             },                             by_alias: [],                         },                         validator: Nullable(                             NullableValidator {                                 validator: FunctionWrap(                                     FunctionWrapValidator {                                         validator: Url(                                             UrlValidator {                                                 strict: false,                                                 max_length: Some(                                                     2083,                                                 ),                                                 allowed_schemes: Some(                                                     (                                                         {                                                             "http",                                                             "https",                                                         },                                                         "'http' or 'https'",                                                     ),                                                 ),                                                 host_required: false,                                                 default_host: None,                                                 default_port: None,                                                 default_path: None,                                                 name: "url['http','https']",                                                 preserve_empty_path: false,                                             },                                         ),                                         func: Py(                                             0x00007fe7e3f5fd80,                                         ),                                         config: Py(                                             0x00007fe7e40b9c00,                                         ),                                         name: "function-wrap[wrap_val()]",                                         field_name: None,                                         info_arg: false,                                         hide_input_in_errors: false,                                         validation_error_cause: false,                                     },                                 ),                                 name: "nullable[function-wrap[wrap_val()]]",                             },                         ),                         frozen: false,                     },                     Field {                         name: "irn",                         lookup_path_collection: LookupPathCollection {                             by_name: LookupPath {                                 first_item: PathItemString(                                     "irn",                                 ),                                 rest: [],                             },                             by_alias: [                                 LookupPath {                                     first_item: PathItemString(                                         "reference number",                                     ),                                     rest: [],                                 },                                 LookupPath {                                     first_item: PathItemString(                                         "irn",                                     ),                                     rest: [],                                 },                             ],                         },                         validator: Str(                             StrValidator {                                 strict: false,                                 coerce_numbers_to_str: false,                             },                         ),                         frozen: false,                     },                     Field {                         name: "name",                         lookup_path_collection: LookupPathCollection {                             by_name: LookupPath {                                 first_item: PathItemString(                                     "name",                                 ),                                 rest: [],                             },                             by_alias: [],                         },                         validator: Str(                             StrValidator {                                 strict: false,                                 coerce_numbers_to_str: false,                             },                         ),                         frozen: false,                     },                     Field {                         name: "status",                         lookup_path_collection: LookupPathCollection {                             by_name: LookupPath {                                 first_item: PathItemString(                                     "status",                                 ),                                 rest: [],                             },                             by_alias: [],                         },                         validator: StrConstrained(                             StrConstrainedValidator {                                 strict: false,                                 pattern: None,                                 max_length: None,                                 min_length: None,                                 strip_whitespace: true,                                 to_lower: true,                                 to_upper: false,                                 coerce_numbers_to_str: false,                                 ascii_only: false,                             },                         ),                         frozen: false,                     },                     Field {                         name: "type",                         lookup_path_collection: LookupPathCollection {                             by_name: LookupPath {                                 first_item: PathItemString(                                     "type",                                 ),                                 rest: [],                             },                             by_alias: [                                 LookupPath {                                     first_item: PathItemString(                                         "type of business or individual",                                     ),                                     rest: [],                                 },                                 LookupPath {                                     first_item: PathItemString(                                         "type",                                     ),                                     rest: [],                                 },                             ],                         },                         validator: StrConstrained(                             StrConstrainedValidator {                                 strict: false,                                 pattern: None,                                 max_length: None,                                 min_length: None,                                 strip_whitespace: true,                                 to_lower: true,                                 to_upper: false,                                 coerce_numbers_to_str: false,                                 ascii_only: false,                             },                         ),                         frozen: false,                     },                 ],                 model_name: "IndividualSearchResult",                 extra_behavior: Ignore,                 extras_validator: None,                 extras_keys_validator: None,                 strict: false,                 from_attributes: false,                 loc_by_alias: true,                 lookup: LookupTree {                     inner: {                         PathItemString(                             "reference number",                         ): LookupTreeNode {                             fields: [                                 LookupFieldInfo {                                     field_index: 1,                                     lookup_priority: LookupFieldPriority {                                         lookup_type: Alias,                                         alias_index: 0,                                     },                                 },                             ],                             map: {},                             list: {},                         },                         PathItemString(                             "status",                         ): LookupTreeNode {                             fields: [                                 LookupFieldInfo {                                     field_index: 3,                                     lookup_priority: LookupFieldPriority {                                         lookup_type: Both,                                         alias_index: 0,                                     },                                 },                             ],                             map: {},                             list: {},                         },                         PathItemString(                             "type",                         ): LookupTreeNode {                             fields: [                                 LookupFieldInfo {                                     field_index: 4,                                     lookup_priority: LookupFieldPriority {                                         lookup_type: Name,                                         alias_index: 0,                                     },                                 },                                 LookupFieldInfo {                                     field_index: 4,                                     lookup_priority: LookupFieldPriority {                                         lookup_type: Alias,                                         alias_index: 1,                                     },                                 },                             ],                             map: {},                             list: {},                         },                         PathItemString(                             "type of business or individual",                         ): LookupTreeNode {                             fields: [                                 LookupFieldInfo {                                     field_index: 4,                                     lookup_priority: LookupFieldPriority {                                         lookup_type: Alias,                                         alias_index: 0,                                     },                                 },                             ],                             map: {},                             list: {},                         },                         PathItemString(                             "name",                         ): LookupTreeNode {                             fields: [                                 LookupFieldInfo {                                     field_index: 2,                                     lookup_priority: LookupFieldPriority {                                         lookup_type: Both,                                         alias_index: 0,                                     },                                 },                             ],                             map: {},                             list: {},                         },                         PathItemString(                             "url",                         ): LookupTreeNode {                             fields: [                                 LookupFieldInfo {                                     field_index: 0,                                     lookup_priority: LookupFieldPriority {                                         lookup_type: Both,                                         alias_index: 0,                                     },                                 },                             ],                             map: {},                             list: {},                         },                         PathItemString(                             "irn",                         ): LookupTreeNode {                             fields: [                                 LookupFieldInfo {                                     field_index: 1,                                     lookup_priority: LookupFieldPriority {                                         lookup_type: Name,                                         alias_index: 0,                                     },                                 },                                 LookupFieldInfo {                                     field_index: 1,                                     lookup_priority: LookupFieldPriority {                                         lookup_type: Alias,                                         alias_index: 1,                                     },                                 },                             ],                             map: {},                             list: {},                         },                     },                 },                 validate_by_alias: None,                 validate_by_name: None,             },         ),         class: Py(             0x0000556ad7e02e50,         ),         generic_origin: None,         post_init: None,         frozen: false,         custom_init: false,         root_model: false,         undefined: Py(             0x00007fe7e4c7c550,         ),         name: "IndividualSearchResult",     }, ), definitions=[], cache_strings=True)#

The pydantic-core SchemaValidator used to validate instances of the model.

__signature__ = <Signature (*, url: Annotated[pydantic.networks.HttpUrl | None, FcaApiFieldInfo(marks=frozenset({<FcaApiField.InternalUrl: 'internal_url'>}))], irn: str, name: str, status: Annotated[str, StringConstraints(strip_whitespace=True, to_upper=None, to_lower=True, strict=None, min_length=None, max_length=None, pattern=None, ascii_only=None)], type: Annotated[str, StringConstraints(strip_whitespace=True, to_upper=None, to_lower=True, strict=None, min_length=None, max_length=None, pattern=None, ascii_only=None)]) -> None>#

The synthesized __init__ [Signature][inspect.Signature] of the model.

model_config = {}#

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class fca_api.types.search.FundSearchResult(*, url: ~typing.Annotated[~pydantic.networks.HttpUrl | None, ~fca_api.types.annotations.FcaApiFieldInfo(marks=frozenset({<FcaApiField.InternalUrl: 'internal_url'>}))], prn: str, status: ~typing.Annotated[str, ~pydantic.types.StringConstraints(strip_whitespace=True, to_upper=None, to_lower=True, strict=None, min_length=None, max_length=None, pattern=None, ascii_only=None)], type: ~typing.Annotated[str, ~pydantic.types.StringConstraints(strip_whitespace=True, to_upper=None, to_lower=True, strict=None, min_length=None, max_length=None, pattern=None, ascii_only=None)], name: str)[source]#

Search result for a fund or other financial product.

Represents a single product found in search results, containing core identification and status information. This is returned by product name searches and provides the essential data needed to identify and access detailed product information.

Example

Access product search result data:

funds = await client.search_prn("Vanguard")
if len(funds) > 0:
    product = funds[0]

    print(f"Found: {product.name}")
    print(f"PRN: {product.prn}")
    print(f"Status: {product.status}")
    print(f"Type: {product.type}")

    if product.url:
        print(f"Details: {product.url}")

Note

The prn field is the key identifier for retrieving detailed product information using client.get_fund().

__pydantic_fields_set__#

The names of fields explicitly set during instantiation.

__pydantic_extra__#

A dictionary containing extra values, if [extra][pydantic.config.ConfigDict.extra] is set to ‘allow’.

__pydantic_private__#

Values of private attributes set on the model instance.

__class_vars__ = {}#

The names of the class variables defined on the model.

__private_attributes__ = {}#

Metadata about the private attributes of the model.

__pydantic_complete__ = True#

Whether model building is completed, or if there are still undefined fields.

__pydantic_computed_fields__ = {}#

A dictionary of computed field names and their corresponding [ComputedFieldInfo][pydantic.fields.ComputedFieldInfo] objects.

__pydantic_core_schema__ = {'cls': <class 'fca_api.types.search.FundSearchResult'>, 'config': {'title': 'FundSearchResult'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'fca_api.types.search.FundSearchResult'>>]}, 'ref': 'fca_api.types.search.FundSearchResult:93917380792608', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'name': {'metadata': {'pydantic_js_updates': {'description': "The product's name."}}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'prn': {'metadata': {'pydantic_js_updates': {'description': "The product's reference number (PRN)."}}, 'schema': {'type': 'str'}, 'serialization_alias': 'prn', 'type': 'model-field', 'validation_alias': [['reference number'], ['prn']]}, 'status': {'metadata': {'pydantic_js_updates': {'description': "The product's status."}}, 'schema': {'strip_whitespace': True, 'to_lower': True, 'type': 'str'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_updates': {'description': 'The type of the resource.'}}, 'schema': {'strip_whitespace': True, 'to_lower': True, 'type': 'str'}, 'serialization_alias': 'type', 'type': 'model-field', 'validation_alias': [['type of business or individual'], ['type']]}, 'url': {'metadata': {'pydantic_js_updates': {'description': "The URL of the product's record in the FCA register."}}, 'schema': {'schema': {'function': {'function': <function _BaseUrl.__get_pydantic_core_schema__.<locals>.wrap_val>, 'type': 'no-info'}, 'metadata': {'pydantic_js_functions': [<bound method _BaseUrl.__get_pydantic_json_schema__ of <class 'pydantic.networks.HttpUrl'>>]}, 'schema': {'allowed_schemes': ['http', 'https'], 'max_length': 2083, 'type': 'url'}, 'serialization': {'function': <bound method _BaseUrl.serialize_url of <class 'pydantic.networks.HttpUrl'>>, 'info_arg': True, 'type': 'function-plain'}, 'type': 'function-wrap'}, 'type': 'nullable'}, 'type': 'model-field'}}, 'model_name': 'FundSearchResult', 'type': 'model-fields'}, 'type': 'model'}#

The core schema of the model.

__pydantic_custom_init__ = False#

Whether the model has a custom __init__ method.

__pydantic_decorators__ = DecoratorInfos(validators={}, field_validators={}, root_validators={}, field_serializers={}, model_serializers={}, model_validators={}, computed_fields={})#

Metadata containing the decorators defined on the model. This replaces Model.__validators__ and Model.__root_validators__ from Pydantic V1.

__pydantic_extra_info__ = None#

A wrapper around the __pydantic_extra__ annotation, if explicitly annotated on a model.

This is a private attribute, not meant to be used outside Pydantic.

__pydantic_fields__ = {'name': FieldInfo(annotation=str, required=True, description="The product's name."), 'prn': FieldInfo(annotation=str, required=True, alias_priority=2, validation_alias=AliasChoices(choices=['reference number', 'prn']), serialization_alias='prn', description="The product's reference number (PRN)."), 'status': FieldInfo(annotation=str, required=True, description="The product's status.", metadata=[StringConstraints(strip_whitespace=True, to_upper=None, to_lower=True, strict=None, min_length=None, max_length=None, pattern=None, ascii_only=None)]), 'type': FieldInfo(annotation=str, required=True, alias_priority=2, validation_alias=AliasChoices(choices=['type of business or individual', 'type']), serialization_alias='type', description='The type of the resource.', metadata=[StringConstraints(strip_whitespace=True, to_upper=None, to_lower=True, strict=None, min_length=None, max_length=None, pattern=None, ascii_only=None)]), 'url': FieldInfo(annotation=Union[HttpUrl, NoneType], required=True, description="The URL of the product's record in the FCA register.", metadata=[FcaApiFieldInfo(marks=frozenset({<FcaApiField.InternalUrl: 'internal_url'>}))])}#

A dictionary of field names and their corresponding [FieldInfo][pydantic.fields.FieldInfo] objects. This replaces Model.__fields__ from Pydantic V1.

__pydantic_generic_metadata__ = {'args': (), 'origin': None, 'parameters': ()}#

A dictionary containing metadata about generic Pydantic models.

The origin and args items map to the [__origin__][genericalias.__origin__] and [__args__][genericalias.__args__] attributes of [generic aliases][types-genericalias], and the parameter item maps to the __parameter__ attribute of generic classes.

__pydantic_parent_namespace__ = None#

Parent namespace of the model, used for automatic rebuilding of models.

__pydantic_post_init__ = None#

The name of the post-init method for the model, if defined.

__pydantic_serializer__ = SchemaSerializer(serializer=PolymorphismTrampoline(     PolymorphismTrampoline {         class: Py(             0x0000556ad81ed120,         ),         serializer: PolymorphismTrampoline(             PolymorphismTrampoline {                 class: Py(                     0x0000556ad81ed120,                 ),                 serializer: Model(                     ModelSerializer {                         class: Py(                             0x0000556ad81ed120,                         ),                         serializer: Fields(                             GeneralFieldsSerializer {                                 fields: {                                     "status": SerField {                                         key: "status",                                         alias: None,                                         serializer: Some(                                             Str(                                                 StrSerializer,                                             ),                                         ),                                         required: true,                                         serialize_by_alias: None,                                         serialization_exclude_if: None,                                     },                                     "name": SerField {                                         key: "name",                                         alias: None,                                         serializer: Some(                                             Str(                                                 StrSerializer,                                             ),                                         ),                                         required: true,                                         serialize_by_alias: None,                                         serialization_exclude_if: None,                                     },                                     "type": SerField {                                         key: "type",                                         alias: Some(                                             "type",                                         ),                                         serializer: Some(                                             Str(                                                 StrSerializer,                                             ),                                         ),                                         required: true,                                         serialize_by_alias: None,                                         serialization_exclude_if: None,                                     },                                     "url": SerField {                                         key: "url",                                         alias: None,                                         serializer: Some(                                             Nullable(                                                 NullableSerializer {                                                     serializer: Function(                                                         FunctionPlainSerializer {                                                             func: Py(                                                                 0x00007fe7e40b5e00,                                                             ),                                                             name: "plain_function[serialize_url]",                                                             function_name: "serialize_url",                                                             return_serializer: Any(                                                                 AnySerializer,                                                             ),                                                             fallback_serializer: None,                                                             when_used: Always,                                                             is_field_serializer: false,                                                             info_arg: true,                                                         },                                                     ),                                                 },                                             ),                                         ),                                         required: true,                                         serialize_by_alias: None,                                         serialization_exclude_if: None,                                     },                                     "prn": SerField {                                         key: "prn",                                         alias: Some(                                             "prn",                                         ),                                         serializer: Some(                                             Str(                                                 StrSerializer,                                             ),                                         ),                                         required: true,                                         serialize_by_alias: None,                                         serialization_exclude_if: None,                                     },                                 },                                 computed_fields: Some(                                     ComputedFields(                                         [],                                     ),                                 ),                                 mode: SimpleDict,                                 extra_serializer: None,                                 filter: SchemaFilter {                                     include: None,                                     exclude: None,                                 },                                 required_fields: 5,                             },                         ),                         has_extra: false,                         root_model: false,                         name: "FundSearchResult",                     },                 ),                 enabled_from_config: false,             },         ),         enabled_from_config: false,     }, ), definitions=[])#

The pydantic-core SchemaSerializer used to dump instances of the model.

__pydantic_setattr_handlers__ = {}#

__setattr__ handlers. Memoizing the handlers leads to a dramatic performance improvement in __setattr__

__pydantic_validator__ = SchemaValidator(title="FundSearchResult", validator=Model(     ModelValidator {         revalidate: Never,         validator: ModelFields(             ModelFieldsValidator {                 fields: [                     Field {                         name: "url",                         lookup_path_collection: LookupPathCollection {                             by_name: LookupPath {                                 first_item: PathItemString(                                     "url",                                 ),                                 rest: [],                             },                             by_alias: [],                         },                         validator: Nullable(                             NullableValidator {                                 validator: FunctionWrap(                                     FunctionWrapValidator {                                         validator: Url(                                             UrlValidator {                                                 strict: false,                                                 max_length: Some(                                                     2083,                                                 ),                                                 allowed_schemes: Some(                                                     (                                                         {                                                             "https",                                                             "http",                                                         },                                                         "'http' or 'https'",                                                     ),                                                 ),                                                 host_required: false,                                                 default_host: None,                                                 default_port: None,                                                 default_path: None,                                                 name: "url['http','https']",                                                 preserve_empty_path: false,                                             },                                         ),                                         func: Py(                                             0x00007fe7e3f5fe20,                                         ),                                         config: Py(                                             0x00007fe7e401ea40,                                         ),                                         name: "function-wrap[wrap_val()]",                                         field_name: None,                                         info_arg: false,                                         hide_input_in_errors: false,                                         validation_error_cause: false,                                     },                                 ),                                 name: "nullable[function-wrap[wrap_val()]]",                             },                         ),                         frozen: false,                     },                     Field {                         name: "prn",                         lookup_path_collection: LookupPathCollection {                             by_name: LookupPath {                                 first_item: PathItemString(                                     "prn",                                 ),                                 rest: [],                             },                             by_alias: [                                 LookupPath {                                     first_item: PathItemString(                                         "reference number",                                     ),                                     rest: [],                                 },                                 LookupPath {                                     first_item: PathItemString(                                         "prn",                                     ),                                     rest: [],                                 },                             ],                         },                         validator: Str(                             StrValidator {                                 strict: false,                                 coerce_numbers_to_str: false,                             },                         ),                         frozen: false,                     },                     Field {                         name: "status",                         lookup_path_collection: LookupPathCollection {                             by_name: LookupPath {                                 first_item: PathItemString(                                     "status",                                 ),                                 rest: [],                             },                             by_alias: [],                         },                         validator: StrConstrained(                             StrConstrainedValidator {                                 strict: false,                                 pattern: None,                                 max_length: None,                                 min_length: None,                                 strip_whitespace: true,                                 to_lower: true,                                 to_upper: false,                                 coerce_numbers_to_str: false,                                 ascii_only: false,                             },                         ),                         frozen: false,                     },                     Field {                         name: "type",                         lookup_path_collection: LookupPathCollection {                             by_name: LookupPath {                                 first_item: PathItemString(                                     "type",                                 ),                                 rest: [],                             },                             by_alias: [                                 LookupPath {                                     first_item: PathItemString(                                         "type of business or individual",                                     ),                                     rest: [],                                 },                                 LookupPath {                                     first_item: PathItemString(                                         "type",                                     ),                                     rest: [],                                 },                             ],                         },                         validator: StrConstrained(                             StrConstrainedValidator {                                 strict: false,                                 pattern: None,                                 max_length: None,                                 min_length: None,                                 strip_whitespace: true,                                 to_lower: true,                                 to_upper: false,                                 coerce_numbers_to_str: false,                                 ascii_only: false,                             },                         ),                         frozen: false,                     },                     Field {                         name: "name",                         lookup_path_collection: LookupPathCollection {                             by_name: LookupPath {                                 first_item: PathItemString(                                     "name",                                 ),                                 rest: [],                             },                             by_alias: [],                         },                         validator: Str(                             StrValidator {                                 strict: false,                                 coerce_numbers_to_str: false,                             },                         ),                         frozen: false,                     },                 ],                 model_name: "FundSearchResult",                 extra_behavior: Ignore,                 extras_validator: None,                 extras_keys_validator: None,                 strict: false,                 from_attributes: false,                 loc_by_alias: true,                 lookup: LookupTree {                     inner: {                         PathItemString(                             "reference number",                         ): LookupTreeNode {                             fields: [                                 LookupFieldInfo {                                     field_index: 1,                                     lookup_priority: LookupFieldPriority {                                         lookup_type: Alias,                                         alias_index: 0,                                     },                                 },                             ],                             map: {},                             list: {},                         },                         PathItemString(                             "status",                         ): LookupTreeNode {                             fields: [                                 LookupFieldInfo {                                     field_index: 2,                                     lookup_priority: LookupFieldPriority {                                         lookup_type: Both,                                         alias_index: 0,                                     },                                 },                             ],                             map: {},                             list: {},                         },                         PathItemString(                             "url",                         ): LookupTreeNode {                             fields: [                                 LookupFieldInfo {                                     field_index: 0,                                     lookup_priority: LookupFieldPriority {                                         lookup_type: Both,                                         alias_index: 0,                                     },                                 },                             ],                             map: {},                             list: {},                         },                         PathItemString(                             "prn",                         ): LookupTreeNode {                             fields: [                                 LookupFieldInfo {                                     field_index: 1,                                     lookup_priority: LookupFieldPriority {                                         lookup_type: Name,                                         alias_index: 0,                                     },                                 },                                 LookupFieldInfo {                                     field_index: 1,                                     lookup_priority: LookupFieldPriority {                                         lookup_type: Alias,                                         alias_index: 1,                                     },                                 },                             ],                             map: {},                             list: {},                         },                         PathItemString(                             "type of business or individual",                         ): LookupTreeNode {                             fields: [                                 LookupFieldInfo {                                     field_index: 3,                                     lookup_priority: LookupFieldPriority {                                         lookup_type: Alias,                                         alias_index: 0,                                     },                                 },                             ],                             map: {},                             list: {},                         },                         PathItemString(                             "name",                         ): LookupTreeNode {                             fields: [                                 LookupFieldInfo {                                     field_index: 4,                                     lookup_priority: LookupFieldPriority {                                         lookup_type: Both,                                         alias_index: 0,                                     },                                 },                             ],                             map: {},                             list: {},                         },                         PathItemString(                             "type",                         ): LookupTreeNode {                             fields: [                                 LookupFieldInfo {                                     field_index: 3,                                     lookup_priority: LookupFieldPriority {                                         lookup_type: Name,                                         alias_index: 0,                                     },                                 },                                 LookupFieldInfo {                                     field_index: 3,                                     lookup_priority: LookupFieldPriority {                                         lookup_type: Alias,                                         alias_index: 1,                                     },                                 },                             ],                             map: {},                             list: {},                         },                     },                 },                 validate_by_alias: None,                 validate_by_name: None,             },         ),         class: Py(             0x0000556ad81ed120,         ),         generic_origin: None,         post_init: None,         frozen: false,         custom_init: false,         root_model: false,         undefined: Py(             0x00007fe7e4c7c550,         ),         name: "FundSearchResult",     }, ), definitions=[], cache_strings=True)#

The pydantic-core SchemaValidator used to validate instances of the model.

__signature__ = <Signature (*, url: Annotated[pydantic.networks.HttpUrl | None, FcaApiFieldInfo(marks=frozenset({<FcaApiField.InternalUrl: 'internal_url'>}))], prn: str, status: Annotated[str, StringConstraints(strip_whitespace=True, to_upper=None, to_lower=True, strict=None, min_length=None, max_length=None, pattern=None, ascii_only=None)], type: Annotated[str, StringConstraints(strip_whitespace=True, to_upper=None, to_lower=True, strict=None, min_length=None, max_length=None, pattern=None, ascii_only=None)], name: str) -> None>#

The synthesized __init__ [Signature][inspect.Signature] of the model.

model_config = {}#

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].