> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tic.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Search persons (GET)

> Proxies a search to the Typesense `person` collection using standard query-string parameters. `per_page` is capped at 2 on this endpoint.

<Badge color="yellow" size="sm">Enterprise+ tier</Badge>


## OpenAPI

````yaml get /search-public/persons
openapi: 3.1.1
info:
  title: TIC Lens API
  description: "The TIC Lens API provides programmatic access to company, person, property, vehicle, and order data.\r\n\r\n## Authentication\r\n\r\nAll requests require an API key passed via the `x-api-key` header:\r\n\r\n```bash\r\ncurl -H \"x-api-key: YOUR_API_KEY\" https://lens-api.tic.io/companies/123\r\n```\r\n\r\nAPI keys are managed through the TIC Lens web application under **Settings → API Keys**.\r\n\r\n## Base URL\r\n\r\n| Environment | URL |\r\n|-------------|-----|\r\n| Production  | `https://lens-api.tic.io` |\r\n\r\n## Feature Access\r\n\r\nEndpoints are gated by your subscription plan. If your plan does not include a feature, the endpoint will return `403 Forbidden`.\r\n\r\n## Rate Limits\r\n\r\nRate limits are applied per API key. If you exceed the limit, requests will return `429 Too Many Requests`.\r\n\r\n## Response Format\r\n\r\nAll responses are JSON. Null values are omitted from responses.\r\n"
  version: v1
servers:
  - url: https://lens-api.tic.io
security:
  - ApiKey: []
tags:
  - name: Addresses
  - name: Bolagsverket
  - name: Brf
  - name: Companies
  - name: Documents
  - name: FlightImages
  - name: Free
  - name: Orders
  - name: OrdersExports
  - name: PaymentControl
  - name: PaymentControlImport
  - name: Persons
  - name: Properties
  - name: PublicSearch
  - name: SearchAutocomplete
  - name: Sentinel
  - name: ServingPermits
  - name: Team
  - name: Teams
  - name: Transportstyrelsen
  - name: Vehicles
  - name: WatchList
paths:
  /search-public/persons:
    get:
      tags:
        - PublicSearch
      summary: Search persons (GET)
      description: >-
        Proxies a search to the Typesense `person` collection using standard
        query-string parameters. `per_page` is capped at 2 on this endpoint.
      operationId: SearchPersonsGet
      responses:
        '200':
          description: Typesense search response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Ormeo_Library_Search_Documents_TypesensePersonDocumentTypesenseSearchResponse
        '502':
          description: Upstream Typesense error
components:
  schemas:
    Ormeo_Library_Search_Documents_TypesensePersonDocumentTypesenseSearchResponse:
      type: object
      properties:
        facet_counts:
          type:
            - 'null'
            - array
          items:
            $ref: '#/components/schemas/Ormeo_Library_Search_TypesenseFacetCounts'
        found:
          type: integer
          format: int32
        hits:
          type:
            - 'null'
            - array
          items:
            $ref: >-
              #/components/schemas/Ormeo_Library_Search_Documents_TypesensePersonDocumentHit
        grouped_hits:
          $ref: >-
            #/components/schemas/Ormeo_Library_Search_Documents_TypesensePersonDocumentGroupedHits
        out_of:
          type: integer
          format: int32
        page:
          type: integer
          format: int32
        request_params:
          $ref: '#/components/schemas/Ormeo_Library_Search_RequestParams'
        search_cutoff:
          type:
            - 'null'
            - boolean
        search_time_ms:
          type: integer
          format: int32
      additionalProperties: false
    Ormeo_Library_Search_TypesenseFacetCounts:
      type: object
      properties:
        counts:
          type:
            - 'null'
            - array
          items:
            $ref: >-
              #/components/schemas/Ormeo_Library_Search_TypesenseFacetCountDetails
        field_name:
          type:
            - 'null'
            - string
        sampled:
          type: boolean
        stats:
          $ref: '#/components/schemas/Ormeo_Library_Search_TypesenseFacetCountsStats'
        localizedFieldName:
          type:
            - 'null'
            - string
          readOnly: true
      additionalProperties: false
    Ormeo_Library_Search_Documents_TypesensePersonDocumentHit:
      type: object
      properties:
        document:
          $ref: >-
            #/components/schemas/Ormeo_Library_Search_Documents_TypesensePersonDocument
        geo_distance_meters:
          type: 'null'
        highlight:
          type: 'null'
        highlights:
          type:
            - 'null'
            - array
          items:
            $ref: '#/components/schemas/Ormeo_Library_Search_HighlightElement'
        text_match:
          type:
            - 'null'
            - number
          format: double
        text_match_info:
          $ref: '#/components/schemas/Ormeo_Library_Search_TextMatchInfo'
      additionalProperties: false
    Ormeo_Library_Search_Documents_TypesensePersonDocumentGroupedHits:
      type: object
      properties:
        group_key:
          type:
            - 'null'
            - array
          items:
            type: string
        hits:
          type:
            - 'null'
            - array
          items:
            $ref: >-
              #/components/schemas/Ormeo_Library_Search_Documents_TypesensePersonDocumentHit
      additionalProperties: false
    Ormeo_Library_Search_RequestParams:
      type: object
      properties:
        collection_name:
          type:
            - 'null'
            - string
        first_q:
          type:
            - 'null'
            - string
        per_page:
          type:
            - 'null'
            - integer
          format: int64
        q:
          type:
            - 'null'
            - string
      additionalProperties: false
    Ormeo_Library_Search_TypesenseFacetCountDetails:
      type: object
      properties:
        count:
          type: integer
          format: int64
        highlighted:
          type:
            - 'null'
            - string
        value:
          type:
            - 'null'
            - string
      additionalProperties: false
    Ormeo_Library_Search_TypesenseFacetCountsStats:
      type: object
      properties:
        total_values:
          type: integer
          format: int64
      additionalProperties: false
    Ormeo_Library_Search_Documents_TypesensePersonDocument:
      type: object
      properties:
        id:
          type:
            - 'null'
            - string
        personId:
          type: integer
          format: int32
        personalIdentityNumber:
          type:
            - 'null'
            - string
        allIdentities:
          type:
            - 'null'
            - array
          items:
            type: string
        birthday:
          type:
            - 'null'
            - string
        isProtected:
          type: boolean
        isCoordinationNumber:
          type:
            - 'null'
            - boolean
        givenName:
          type:
            - 'null'
            - string
        firstName:
          type:
            - 'null'
            - string
        middleName:
          type:
            - 'null'
            - string
        lastName:
          type:
            - 'null'
            - string
        fullName:
          type:
            - 'null'
            - string
        sex:
          $ref: '#/components/schemas/Ormeo_Library_Entities_PersonSexType'
        spar:
          $ref: '#/components/schemas/Ormeo_Library_Search_Documents_SPAR_Record'
      additionalProperties: false
    Ormeo_Library_Search_HighlightElement:
      type: object
      properties:
        field:
          type:
            - 'null'
            - string
        matched_tokens:
          type:
            - 'null'
            - array
          items:
            type: string
        snippet:
          type:
            - 'null'
            - string
      additionalProperties: false
    Ormeo_Library_Search_TextMatchInfo:
      type: object
      properties:
        best_field_score:
          type:
            - 'null'
            - string
        best_field_weight:
          type:
            - 'null'
            - integer
          format: int64
        fields_matched:
          type:
            - 'null'
            - integer
          format: int64
        num_tokens_dropped:
          type:
            - 'null'
            - integer
          format: int64
        score:
          type:
            - 'null'
            - string
        tokens_matched:
          type:
            - 'null'
            - integer
          format: int64
        typo_prefix_score:
          type:
            - 'null'
            - integer
          format: int64
      additionalProperties: false
    Ormeo_Library_Entities_PersonSexType:
      enum:
        - male
        - female
      type: string
    Ormeo_Library_Search_Documents_SPAR_Record:
      type: object
      properties:
        notificationRecordId:
          type:
            - 'null'
            - integer
          format: int32
        person_PersonIdTyp:
          $ref: '#/components/schemas/Ormeo_Library_Entities_SPAR_PersonIdTyp'
        person_SenasteAndringSPAR:
          type:
            - 'null'
            - integer
          format: int64
        skydd_Sekretessmarkering:
          type:
            - 'null'
            - boolean
        skydd_SekretessmarkeringSattAvSPAR:
          type:
            - 'null'
            - boolean
        skydd_SekretessDatum:
          type:
            - 'null'
            - integer
          format: int64
        skydd_SkyddadFolkbokforing:
          type:
            - 'null'
            - boolean
        skydd_SkyddadFolkbokforingDatum:
          type:
            - 'null'
            - integer
          format: int64
        personDetaljer_SnIdentitetsniva:
          $ref: '#/components/schemas/Ormeo_Library_Entities_SPAR_SnIdentitetsniva'
        personDetaljer_SnIdentitetsnivaDatum:
          type:
            - 'null'
            - string
        personDetaljer_SnTilldelningsdatum:
          type:
            - 'null'
            - string
        personDetaljer_SnPreliminartVilandeforklaringsdatum:
          type:
            - 'null'
            - string
        personDetaljer_SnFornyelsedatum:
          type:
            - 'null'
            - string
        personDetaljer_SnVilandeorsak:
          type:
            - 'null'
            - string
        personDetaljer_SnVilandeforklaringsdatum:
          type:
            - 'null'
            - string
        personDetaljer_SnAvlidendatum:
          type:
            - 'null'
            - string
        personDetaljer_SnStatus:
          type:
            - 'null'
            - string
        personDetaljer_Sekretessmarkering:
          type:
            - 'null'
            - boolean
        personDetaljer_SekretessmarkeringSattAvSPAR:
          type:
            - 'null'
            - boolean
        personDetaljer_Avlidendatum:
          type:
            - 'null'
            - string
        personDetaljer_AntraffadDodDatum:
          type:
            - 'null'
            - string
        personDetaljer_AvregistreringsorsakKod:
          type:
            - 'null'
            - string
        personDetaljer_Avregistreringsdatum:
          type:
            - 'null'
            - string
        personDetaljer_SkyddadFolkbokforing:
          type:
            - 'null'
            - boolean
        personDetaljer_Fodelsedatum:
          type:
            - 'null'
            - integer
          format: int64
        folkbokforing_FolkbokfordLanKod:
          type:
            - 'null'
            - string
        folkbokforing_FolkbokfordKommunKod:
          type:
            - 'null'
            - string
        folkbokforing_HemvistTyp:
          $ref: '#/components/schemas/Ormeo_Library_Entities_SPAR_Hemvist'
        folkbokforing_Folkbokforingsdatum:
          type:
            - 'null'
            - integer
          format: int64
        folkbokforing_DistriktKod:
          type:
            - 'null'
            - string
        folkbokforingsadress_SvenskAdress_CareOf:
          type:
            - 'null'
            - string
        folkbokforingsadress_SvenskAdress_Utdelningsadress1:
          type:
            - 'null'
            - string
        folkbokforingsadress_SvenskAdress_Utdelningsadress2:
          type:
            - 'null'
            - string
        folkbokforingsadress_SvenskAdress_PostNr:
          type:
            - 'null'
            - string
        folkbokforingsadress_SvenskAdress_Postort:
          type:
            - 'null'
            - string
        utlandsadress_InternationellAdress_Utdelningsadress1:
          type:
            - 'null'
            - string
        utlandsadress_InternationellAdress_Utdelningsadress2:
          type:
            - 'null'
            - string
        utlandsadress_InternationellAdress_Utdelningsadress3:
          type:
            - 'null'
            - string
        utlandsadress_InternationellAdress_Land:
          type:
            - 'null'
            - string
        sarskildPostadress_SvenskAdress_CareOf:
          type:
            - 'null'
            - string
        sarskildPostadress_SvenskAdress_Utdelningsadress1:
          type:
            - 'null'
            - string
        sarskildPostadress_SvenskAdress_Utdelningsadress2:
          type:
            - 'null'
            - string
        sarskildPostadress_SvenskAdress_PostNr:
          type:
            - 'null'
            - string
        sarskildPostadress_SvenskAdress_Postort:
          type:
            - 'null'
            - string
        sarskildPostadress_InternationellAdress_Utdelningsadress1:
          type:
            - 'null'
            - string
        sarskildPostadress_InternationellAdress_Utdelningsadress2:
          type:
            - 'null'
            - string
        sarskildPostadress_InternationellAdress_Utdelningsadress3:
          type:
            - 'null'
            - string
        sarskildPostadress_InternationellAdress_Land:
          type:
            - 'null'
            - string
        kontaktadress_SvenskAdress_CareOf:
          type:
            - 'null'
            - string
        kontaktadress_SvenskAdress_Utdelningsadress1:
          type:
            - 'null'
            - string
        kontaktadress_SvenskAdress_Utdelningsadress2:
          type:
            - 'null'
            - string
        kontaktadress_SvenskAdress_PostNr:
          type:
            - 'null'
            - string
        kontaktadress_SvenskAdress_Postort:
          type:
            - 'null'
            - string
        kontaktadress_InternationellAdress_Utdelningsadress1:
          type:
            - 'null'
            - string
        kontaktadress_InternationellAdress_Utdelningsadress2:
          type:
            - 'null'
            - string
        kontaktadress_InternationellAdress_Utdelningsadress3:
          type:
            - 'null'
            - string
        kontaktadress_InternationellAdress_Land:
          type:
            - 'null'
            - string
      additionalProperties: false
    Ormeo_Library_Entities_SPAR_PersonIdTyp:
      enum:
        - personnummer
        - samordningsnummer
        - immunitetsnummer
      type: string
    Ormeo_Library_Entities_SPAR_SnIdentitetsniva:
      enum:
        - styrkt
        - sannolik
        - osaker
        - inteTillamplig
      type: string
    Ormeo_Library_Entities_SPAR_Hemvist:
      enum:
        - skrivenPaAdressen
        - paKommunenSkriven
        - utanKantHemvist
      type: string
  securitySchemes:
    ApiKey:
      type: apiKey
      name: x-api-key
      in: header

````