Add or update datasource

Add or update a custom datasource and its schema.

SecurityBearerAuth
Request
Request Body schema: application/json
name
required
string

Unique identifier of datasource instance to which this config applies.

displayName
string

The user-friendly instance label to display. If omitted, falls back to the title-cased name.

datasourceCategory
string
Default: "UNCATEGORIZED"

The type of this datasource. It is an important signal for relevance and must be specified and cannot be UNCATEGORIZED.

Enum: "UNCATEGORIZED" "TICKETS" "CRM" "PUBLISHED_CONTENT" "COLLABORATIVE_CONTENT" "QUESTION_ANSWER" "MESSAGING" "CODE_REPOSITORY" "CHANGE_MANAGEMENT" "PEOPLE" "EMAIL" "SSO" "ATS" "KNOWLEDGE_HUB" "EXTERNAL_SHORTCUT"
urlRegex
string

Regular expression that matches URLs of documents of the datasource instance. The behavior for multiple matches is non-deterministic. Note: urlRegex is a required field for non-entity datasources (ie. datasources where isEntityDatasource is false). Please add a regex as specific as possible to this datasource instance.

iconUrl
string

The URL to an image to be displayed as an icon for this datasource instance. Must have a transparency mask. SVG are recommended over PNG. Public, scio-authenticated and Base64 encoded data URLs are all valid (but not third-party-authenticated URLs).

Array of objects (ObjectDefinition)

The list of top-level objectTypes for the datasource.

suggestionText
string

Example text for what to search for in this datasource

homeUrl
string

The URL of the landing page for this datasource instance. Should point to the most useful page for users, not the company marketing page.

crawlerSeedUrls
Array of strings

This only applies to WEB_CRAWL and BROWSER_CRAWL datasources. Defines the seed urls for crawling.

iconDarkUrl
string

The URL to an image to be displayed as an icon for this datasource instance in dark mode. Must have a transparency mask. SVG are recommended over PNG. Public, scio-authenticated and Base64 encoded data URLs are all valid (but not third-party-authenticated URLs).

hideBuiltInFacets
Array of strings

List of built-in facet types that should be hidden for the datasource.

Items Enum: "TYPE" "TAG" "AUTHOR" "OWNER"
Array of objects (CanonicalizingRegexType)

A list of regular expressions to apply to an arbitrary URL to transform it into a canonical URL for this datasource instance. Regexes are to be applied in the order specified in this list.

Array of objects (CanonicalizingRegexType)

A list of regular expressions to apply to an arbitrary title to transform it into a title that will be displayed in the search results

redlistTitleRegex
string

A regex that identifies titles that should not be indexed

connectorType
string (ConnectorType)

The source from which document content was pulled, e.g. an API crawl or browser history

Enum: "API_CRAWL" "BROWSER_CRAWL" "BROWSER_HISTORY" "BUILTIN" "FEDERATED_SEARCH" "PUSH_API" "WEB_CRAWL" "NATIVE_HISTORY"
Array of objects (Quicklink)

List of actions for this datasource instance that will show up in autocomplete and app card, e.g. "Create new issue" for jira

renderConfigPreset
string

The name of a render config to use for displaying results from this datasource. Any well known datasource name may be used to render the same as that source, e.g. web or gdrive.

aliases
Array of strings

Aliases that can be used as app operator-values.

isOnPrem
boolean

Whether or not this datasource is hosted on-premise.

trustUrlRegexForViewActivity
boolean
Default: true

True if browser activity is able to report the correct URL for VIEW events. Set this to true if the URLs reported by Chrome are constant throughout each page load. Set this to false if the page has Javascript that modifies the URL during or after the load.

includeUtmSource
boolean

If true, a utm_source query param will be added to outbound links to this datasource within Glean.

identityDatasourceName
string

If the datasource uses another datasource for identity info, then the name of the datasource. The identity datasource must exist already.

productAccessGroup
string

If the datasource uses a specific product access group, then the name of that group.

isUserReferencedByEmail
boolean

whether email is used to reference users in document ACLs and in group memberships.

isEntityDatasource
boolean
Default: false

True if this datasource is used to push custom entities.

isTestDatasource
boolean
Default: false

True if this datasource will be used for testing purpose only. Documents from such a datasource wouldn't have any effect on search rankings.

Responses
200

OK

400

Bad Request

401

Not Authorized

post/adddatasource
Request samples
application/json
{
  • "name": "string",
  • "displayName": "string",
  • "datasourceCategory": "UNCATEGORIZED",
  • "iconUrl": "string",
  • "objectDefinitions": [
    • {
      • "name": "string",
      • "displayLabel": "string",
      • "docCategory": "UNCATEGORIZED",
      • "propertyDefinitions": [
        • {
          • "name": "string",
          • "displayLabel": "string",
          • "displayLabelPlural": "string",
          • "propertyType": "TEXT",
          • "uiOptions": "NONE",
          • "hideUiFacet": true,
          • "uiFacetOrder": 0,
          • "objectPropertyOptions": [
            • {
              • "subobjectProperties": [
                • null
                ]
              }
            ],
          • "group": "string"
          }
        ],
      • "propertyGroups": [
        • {
          • "name": "string",
          • "displayLabel": "string"
          }
        ]
      }
    ],
  • "suggestionText": "string",
  • "homeUrl": "string",
  • "crawlerSeedUrls": [
    • "string"
    ],
  • "iconDarkUrl": "string",
  • "hideBuiltInFacets": [
    • "TYPE"
    ],
  • "canonicalizingURLRegex": [
    • {
      • "matchRegex": "string",
      • "rewriteRegex": "string"
      }
    ],
  • "canonicalizingTitleRegex": [
    • {
      • "matchRegex": "string",
      • "rewriteRegex": "string"
      }
    ],
  • "redlistTitleRegex": "string",
  • "connectorType": "API_CRAWL",
  • "quicklinks": [
    • {
      • "name": "string",
      • "shortName": "string",
      • "url": "string",
      • "iconConfig": {
        • "color": "#343CED",
        • "key": "person_icon",
        • "iconType": "GLYPH",
        • "name": "user"
        },
      • "id": "string",
      • "scopes": [
        • "APP_CARD"
        ]
      }
    ],
  • "renderConfigPreset": "string",
  • "aliases": [
    • "string"
    ],
  • "isOnPrem": true,
  • "trustUrlRegexForViewActivity": true,
  • "includeUtmSource": true,
  • "identityDatasourceName": "string",
  • "productAccessGroup": "string",
  • "isUserReferencedByEmail": true,
  • "isEntityDatasource": false,
  • "isTestDatasource": false
}