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

# Update Typical Search

> Update (import) TypicalSearch information in the database

NsApiSlow threshold: 5000 ms.



## OpenAPI

````yaml /openapi/agent/openapi-v3-SelectionAgent.json post /api/v1/Agents/Selection/UpdateTypicalSearch
openapi: 3.0.0
info:
  version: v1-Agents
  title: SuperOffice Agent API v1
  description: SuperOffice Agent API - SelectionAgent
  contact:
    name: SuperOffice DevNet
    url: https://docs.superoffice.com/en/api/index.html
    email: sdk@superoffice.com
servers:
  - url: http://localhost:56350
  - url: https://localhost:56350
security: []
tags: []
externalDocs:
  description: >-
    The SuperOffice DevNet Community has more documentation, examples, and
    discussion forums.
  url: https://community.superoffice.com/en/developer/
paths:
  /api/v1/Agents/Selection/UpdateTypicalSearch:
    post:
      tags:
        - Selection_Agent
      summary: Update Typical Search
      description: |-
        Update (import) TypicalSearch information in the database

        NsApiSlow threshold: 5000 ms.
      operationId: v1SelectionAgent_UpdateTypicalSearch
      parameters:
        - name: $select
          in: query
          description: >-
            Optional comma separated list of properties to include in the
            result. Other fields are then nulled out to reduce payload size:
            "Name,department,category". Default = show all fields.
          required: false
          schema:
            type: string
        - name: Accept-Language
          in: header
          description: >-
            Convert string references and multi-language values into a specified
            language (iso2) code.
          required: false
          schema:
            type: string
        - name: SO-Language
          in: header
          description: >-
            Convert string references and multi-language values into a specified
            language (iso2) code. Overrides Accept-Language value.
          required: false
          schema:
            type: string
        - name: SO-Culture
          in: header
          description: >-
            Number, date formatting in a specified culture (iso2 language) code.
            Partially overrides SO-Language/Accept-Language value. Ignored if no
            Language set.
          required: false
          schema:
            type: string
        - name: SO-TimeZone
          in: header
          description: >-
            Specify the timezone code that you would like date/time responses
            converted to.
          required: false
          schema:
            type: string
        - name: SO-AppToken
          in: header
          description: >-
            The application token that identifies the partner app. Used when
            calling Online WebAPI from a server.
          required: false
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: >-
                #/components/schemas/SuperOffice.WebApi.v1.Carriers.SelectionCarriers.UpdateTypicalSearchRequest
          text/json:
            schema:
              $ref: >-
                #/components/schemas/SuperOffice.WebApi.v1.Carriers.SelectionCarriers.UpdateTypicalSearchRequest
          application/xml:
            schema:
              $ref: >-
                #/components/schemas/SuperOffice.WebApi.v1.Carriers.SelectionCarriers.UpdateTypicalSearchRequest
          text/xml:
            schema:
              $ref: >-
                #/components/schemas/SuperOffice.WebApi.v1.Carriers.SelectionCarriers.UpdateTypicalSearchRequest
          application/x-www-form-urlencoded:
            schema:
              $ref: >-
                #/components/schemas/SuperOffice.WebApi.v1.Carriers.SelectionCarriers.UpdateTypicalSearchRequest
          application/json-patch+json:
            schema:
              $ref: >-
                #/components/schemas/SuperOffice.WebApi.v1.Carriers.SelectionCarriers.UpdateTypicalSearchRequest
          application/merge-patch+json:
            schema:
              $ref: >-
                #/components/schemas/SuperOffice.WebApi.v1.Carriers.SelectionCarriers.UpdateTypicalSearchRequest
        description: Searches
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: string
            text/json:
              schema:
                type: string
            application/xml:
              schema:
                type: string
            text/xml:
              schema:
                type: string
            application/json-patch+json:
              schema:
                type: string
            application/merge-patch+json:
              schema:
                type: string
      security:
        - SuperOffice_Password: []
          SuperId_Authentication: []
components:
  schemas:
    SuperOffice.WebApi.v1.Carriers.SelectionCarriers.UpdateTypicalSearchRequest:
      description: >-
        UpdateTypicalSearch: Update (import) TypicalSearch information in the
        database
      type: object
      properties:
        Searches:
          $ref: '#/components/schemas/SuperOffice.CRM.Services.TypicalSearches'
    SuperOffice.CRM.Services.TypicalSearches:
      description: "Full set of all TypicalSearch elements maintained by one source (including criteria)\r\n<para />\r\nCarrier object for TypicalSearches.\r\nServices for the TypicalSearches Carrier is available from the <see cref=\"T:SuperOffice.CRM.Services.ISelectionAgent\">Selection Agent</see>."
      type: object
      properties:
        Source:
          description: >-
            Name of organisation that sources and maintains this TypicalSearch.
            Allows for both SuperOffice and partners to maintain sets of typical
            searches without conflict
          type: string
        MasterVersion:
          format: int32
          description: >-
            The master version number in this update, at least the highest of
            those in the searches, but can be higher to force an update (and
            delete of missing elements)
          type: integer
        DeleteLeftovers:
          description: >-
            If true, then any TypicalSearch records in the database that are NOT
            referenced in this call, should be deleted
          type: boolean
        Searches:
          description: The TypicalSearch structures (including criteria) to import
          type: array
          items:
            $ref: '#/components/schemas/SuperOffice.CRM.Services.TypicalSearch'
        TableRight:
          $ref: '#/components/schemas/SuperOffice.CRM.Security.TableRight'
        FieldProperties:
          description: >-
            Field property dictionary mapping field names to field access
            rights.
          type: object
          additionalProperties:
            $ref: '#/components/schemas/SuperOffice.CRM.Security.FieldProperty'
    SuperOffice.CRM.Services.TypicalSearch:
      description: "Complete information about a TypicalSearch (including criteria)\r\n<para />\r\nCarrier object for TypicalSearch.\r\nServices for the TypicalSearch Carrier is available from the <see cref=\"T:SuperOffice.CRM.Services.ISelectionAgent\">Selection Agent</see>."
      type: object
      properties:
        TypicalSearchId:
          format: int32
          description: Primary key
          type: integer
        Title:
          description: The title of the typical search (multilingual)
          type: string
        Tooltip:
          description: The tooltip for the typical search (multilingual)
          type: string
        EntityName:
          description: The name of the entity the typical search links to
          type: string
        IsEntityDefault:
          format: int32
          description: Indicates if this is the default set of criteria for an entity
          type: integer
        IncludePerson:
          format: int32
          description: 'For selection-of-company: state of the Include Main Contact checkbox'
          type: integer
        Source:
          description: >-
            Name of organisation that sources and maintains this TypicalSearch.
            Allows for both SuperOffice and partners to maintain sets of typical
            searches without conflict
          type: string
        VersionNumber:
          format: int32
          description: The current downloaded version of this typical search
          type: integer
        RestrictionGroups:
          description: >-
            The restrictions (can be multiple groups) that make up the
            TypicalSearch
          type: array
          items:
            $ref: >-
              #/components/schemas/SuperOffice.CRM.ArchiveLists.ArchiveRestrictionGroup
        TableRight:
          $ref: '#/components/schemas/SuperOffice.CRM.Security.TableRight'
        FieldProperties:
          description: >-
            Field property dictionary mapping field names to field access
            rights.
          type: object
          additionalProperties:
            $ref: '#/components/schemas/SuperOffice.CRM.Security.FieldProperty'
    SuperOffice.CRM.Security.TableRight:
      description: "Wraps a table right together with an explanatory reason.\r\nCode can indicate why access is restricted."
      type: object
      properties:
        Mask:
          type: string
        Reason:
          type: string
    SuperOffice.CRM.Security.FieldProperty:
      description: >-
        Class holding properties like field length, field type about a field in
        the carrier.
      type: object
      properties:
        FieldRight:
          $ref: '#/components/schemas/SuperOffice.CRM.Security.FieldRight'
        FieldType:
          type: string
        FieldLength:
          format: int32
          description: ''
          type: integer
    SuperOffice.CRM.ArchiveLists.ArchiveRestrictionGroup:
      description: This class carries information about a group of restrictions
      type: object
      properties:
        Name:
          description: Name of the group
          type: string
        Description:
          description: Description of the group
          type: string
        Rank:
          format: int32
          description: Rank of group among groups
          type: integer
        Restrictions:
          type: array
          items:
            $ref: >-
              #/components/schemas/SuperOffice.CRM.ArchiveLists.ArchiveRestrictionInfo
    SuperOffice.CRM.Security.FieldRight:
      description: "Wraps the field right together with an explanatory reason.\r\nAlso adds logical operators to the field rights so that they can be easily combined."
      type: object
      properties:
        Mask:
          type: string
        Reason:
          type: string
    SuperOffice.CRM.ArchiveLists.ArchiveRestrictionInfo:
      description: >-
        This class carries information about a restriction on the query of an
        archive provider
      type: object
      properties:
        Name:
          description: The programmatic column name, including any required prefixes
          type: string
        Operator:
          description: The operator, such as =, etc
          type: string
        Values:
          description: Value(s) to test against
          type: array
          items:
            type: string
        DisplayValues:
          description: "Display representation of value(s) - list ID's are decoded to display texts, other values are represented in a format\r\nsuitable for decoding and display through the {SuperOffice.CRM.Globalization.CultureDataFormatter}."
          type: array
          items:
            type: string
        ColumnInfo:
          $ref: '#/components/schemas/SuperOffice.CRM.ArchiveLists.ArchiveColumnInfo'
        IsActive:
          description: >-
            Is this restriction active?  Inactive restrictions will not
            influence the generated query
          type: boolean
        SubRestrictions:
          description: >-
            Optional collection of sub criteria, usually null but set for Saint
            counter fields
          type: array
          items:
            $ref: >-
              #/components/schemas/SuperOffice.CRM.ArchiveLists.ArchiveRestrictionInfo
        InterParenthesis:
          format: int32
          description: "Get or set the parenthesis (if any) associated with this restriction. Positive values indicate a number\r\nof opening parentheses (deepening nesting level), while negative numbers indicate closing parentheses.\r\nZero means no change in nesting level (no parentheses)."
          type: integer
        InterOperator:
          description: "Get or set the inter-restriction operator that describes how this\r\nrestriction is related to the next one in an array.\r\nDefault for new ArchiveRestrictionInfo objects is And"
          enum:
            - None
            - And
            - Or
          type: string
        UniqueHash:
          format: int32
          type: integer
    SuperOffice.CRM.ArchiveLists.ArchiveColumnInfo:
      description: "This class carries information about the definition and properties of an archive display column. It is used by the archive\r\nMDO providers to construct column lists for the configuration dialogs, and by the archive control to know what type\r\n(and other properties) each column has. The class is serializable and used on both the application\r\nand Web server sides."
      type: object
      properties:
        DisplayName:
          description: The column name to show, can be a resource identifier string
          type: string
        DisplayTooltip:
          description: >-
            The column tooltip, used in the column list and in the column
            headings
          type: string
        DisplayType:
          description: "Type of column, so that the archive knows how to display it (actual display values are always strings, invariant-culture formatted).\r\nThis name can contain resource tags."
          type: string
        CanOrderBy:
          description: Can this column be used for sorting?
          type: boolean
        Name:
          description: "Unique identity of this column (in this particular context); the name to be used when requesting the column from a provider,\r\nsetting restrictions or order by criteria"
          type: string
        CanRestrictBy:
          description: Can this column be used as a restriction
          type: boolean
        RestrictionType:
          description: >-
            The data type of the restriction; use this to retrieve the legal
            operators for the restriction
          type: string
        RestrictionListName:
          description: >-
            If the restriction data type is 'list', this property contains the
            name of the SoList so that choices can be shown
          type: string
        IsVisible:
          description: Is this column visible to the user in configuration dialogs etc
          type: boolean
        ExtraInfo:
          description: >-
            Example: "navigator" -> Should this column be mapped to a
            hyperlinked navigator text type?
          type: string
        Width:
          description: "The width specification, if the column info has been extended with GUI-based information.\r\nIt is either \"n%\" or \"nc\", where n is an integer. Percent-formatted fields grow and shrink; number-of-characters\r\nformatted fields have constant width when the whole archive width changes."
          type: string
        IconHint:
          description: "Icon hint corresponding to the display name; this icon hint is used in the configuration dialog\r\nand other places where we 'talk about' the columns of the archive. The actual heading\r\nof the archive may also contain icons in lieu of textual names, the icon hint for that\r\nis specified in {SuperOffice.CRM.ArchiveLists.ArchiveColumnInfo.HeadingIconHint} and is a different one."
          type: string
        HeadingIconHint:
          description: "Icon hint for the archive heading only. If this is a nonempty string, the archive header\r\nshould use this icon and ignore the {SuperOffice.CRM.ArchiveLists.ArchiveColumnInfo.DisplayName}. Otherwise, the DisplayName\r\nshould be used as the heading."
          type: string

````

## Related topics

- [Typical search](/en/api/search/find-selection/typical-search.md)
- [SuperOffice.WebApi.Data.Selection UpdateTypicalSearchRequest](/en/api/reference/webapi/SuperOffice.WebApi.Data.Selection_UpdateTypicalSearchRequest.md)
- [NSSelectionAgent](/en/automation/crmscript/reference/CRMScript.NetServer.NSSelectionAgent.md)
- [SuperOffice.WebApi.Agents.ISelectionAgent](/en/api/reference/webapi/SuperOffice.WebApi.Agents.ISelectionAgent.md)
- [SuperOffice.WebApi.Agents.SelectionAgent](/en/api/reference/webapi/SuperOffice.WebApi.Agents.SelectionAgent.md)
- [NSTypicalSearches](/en/automation/crmscript/reference/CRMScript.NetServer.NSTypicalSearches.md)
