Elementum Search Tables API
Manage search tables (snowflake and linked)
Manage search tables (snowflake and linked)
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/elementum-search-tables-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
openapi: 3.2.0
info:
title: Elementum Access Token Search Tables API
description: Manage access tokens using OAuth 2.0 standards
contact:
email: apiteam@elementum.io
version: 0.0.1
servers:
- url: /v1
tags:
- name: Search Tables
description: Manage search tables (snowflake and linked)
paths:
/aspects/{aspectId}/search-tables:
post:
tags:
- Search Tables
summary: Create a snowflake-backed search table
operationId: createSnowflakeSearchTable
parameters:
- $ref: '#/components/parameters/aspectId'
requestBody:
description: Snowflake search-table configuration
content:
application/json:
schema:
$ref: '#/components/schemas/AspectSearchTableSnowflakeCreateRequest'
required: true
responses:
'201':
description: Created
content:
application/json:
schema:
$ref: '#/components/schemas/SearchTable'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'422':
$ref: '#/components/responses/422'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
security:
- ClientCredentials: []
x-codegen-request-body-name: body
/aspects/{aspectId}/search-tables/{id}:
get:
tags:
- Search Tables
summary: Get a search table by ID
operationId: getSearchTable
parameters:
- $ref: '#/components/parameters/aspectId'
- $ref: '#/components/parameters/aspectSearchTableId'
responses:
'200':
description: Ok
content:
application/json:
schema:
$ref: '#/components/schemas/SearchTable'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'422':
$ref: '#/components/responses/422'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
security:
- ClientCredentials: []
x-codegen-request-body-name: body
put:
tags:
- Search Tables
summary: Update a search table by ID
operationId: updateSearchTable
parameters:
- $ref: '#/components/parameters/aspectId'
- $ref: '#/components/parameters/aspectSearchTableId'
requestBody:
description: Search-table fields to update (snowflake-only today)
content:
application/json:
schema:
$ref: '#/components/schemas/AspectSearchTableUpdateInput'
required: true
responses:
'200':
description: Ok
content:
application/json:
schema:
$ref: '#/components/schemas/SearchTable'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'422':
$ref: '#/components/responses/422'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
security:
- ClientCredentials: []
x-codegen-request-body-name: body
/aspects/{aspectId}/linked-search-tables:
post:
tags:
- Search Tables
summary: Create a search table linked to an existing Cortex Search Service
operationId: createLinkedSearchTable
parameters:
- $ref: '#/components/parameters/aspectId'
requestBody:
description: Linked search-table configuration
content:
application/json:
schema:
$ref: '#/components/schemas/AspectLinkedSearchTableCreateRequest'
required: true
responses:
'201':
description: Created
content:
application/json:
schema:
$ref: '#/components/schemas/SearchTable'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'422':
$ref: '#/components/responses/422'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
security:
- ClientCredentials: []
x-codegen-request-body-name: body
components:
schemas:
AspectSearchTableUpdateInput:
type: object
properties:
snowflake:
$ref: '#/components/schemas/AspectSearchTableSnowflakeUpdateInput'
AspectLinkedSearchTableCreateRequest:
required:
- cloudLinkId
- database
- schema
- serviceName
type: object
properties:
warehouse:
type: string
description: Optional warehouse override
cloudLinkId:
type: string
description: The cloud link containing the Cortex Search Service
format: uuid
database:
type: string
description: Database holding the Cortex Search Service
schema:
type: string
description: Schema holding the Cortex Search Service
serviceName:
type: string
description: Name of the existing Cortex Search Service
SearchTableField:
type: object
properties:
name:
type: string
description: The field name
id:
type: string
description: The field ID
format: uuid
type:
type: string
description: The aspect field variant (e.g. AspectTextField, AspectNumberField)
VectorIndexInput:
required:
- aiProviderConnectorId
- fieldId
type: object
properties:
fieldId:
type: string
description: The aspect field to vectorize
format: uuid
aiProviderConnectorId:
type: string
description: The embedding provider connector for this index
format: uuid
AspectSearchTableSnowflakeUpdateInput:
type: object
properties:
warehouse:
type: string
description: Snowflake warehouse used to maintain the table
targetLag:
type: integer
description: Refresh target-lag amount
format: int32
duration:
$ref: '#/components/schemas/SearchTableTimeUnit'
SearchTable:
type: object
properties:
field:
$ref: '#/components/schemas/SearchTableField'
linkedDatabase:
type: string
description: 'Linked-only: database holding the Cortex Search Service'
duration:
$ref: '#/components/schemas/SearchTableTimeUnit'
attributeFields:
type: array
items:
$ref: '#/components/schemas/SearchTableField'
aiProviderConnector:
$ref: '#/components/schemas/AiProviderConnectorRef'
status:
type: string
description: Lifecycle status (PENDING, READY, FAILED, …)
displayName:
type: string
description: The server-assigned display name
linkedServiceName:
type: string
description: 'Linked-only: name of the existing Cortex Search Service'
__typename:
type: string
description: The search-table variant (AspectSearchSnowflakeTable or AspectLinkedSearchTable)
warehouse:
type: string
description: Snowflake warehouse used to maintain the table
targetLag:
type: integer
description: Refresh target-lag amount
format: int32
errorMessage:
type: string
description: Populated when status is FAILED
textIndexFields:
type: array
items:
$ref: '#/components/schemas/SearchTableField'
vectorIndexes:
type: array
items:
$ref: '#/components/schemas/VectorIndex'
linkedSchema:
type: string
description: 'Linked-only: schema holding the Cortex Search Service'
id:
type: string
description: The search-table ID
format: uuid
SearchTableTimeUnit:
type: string
description: Time unit for search-table refresh duration.
enum:
- SECONDS
- MINUTES
- HOURS
- DAYS
AspectSearchTableSnowflakeCreateRequest:
required:
- attributeFieldIds
- duration
- targetLag
type: object
properties:
attributeFieldIds:
type: array
items:
type: string
format: uuid
warehouse:
type: string
description: Snowflake warehouse used to maintain the table
fieldId:
type: string
description: Legacy single-index field; prefer vectorIndexes for new tables
format: uuid
duration:
$ref: '#/components/schemas/SearchTableTimeUnit'
textIndexFieldIds:
type: array
items:
type: string
format: uuid
targetLag:
type: integer
description: Refresh target-lag amount
format: int32
aiProviderConnectorId:
type: string
description: Legacy single-index embedding provider; prefer vectorIndexes
format: uuid
vectorIndexes:
type: array
items:
$ref: '#/components/schemas/VectorIndexInput'
AiProviderConnectorRef:
type: object
properties:
id:
type: string
description: The AI provider connector ID
format: uuid
VectorIndex:
type: object
properties:
field:
$ref: '#/components/schemas/SearchTableField'
aiProviderConnector:
$ref: '#/components/schemas/AiProviderConnectorRef'
responses:
'400':
description: Bad Request
'429':
description: Too Many Requests
'401':
description: Unauthorized
'500':
description: Internal Server Error
'403':
description: Forbidden
'404':
description: Not Found
'422':
description: Unprocessable Entity
parameters:
aspectSearchTableId:
name: id
in: path
description: The search-table ID
required: true
schema:
type: string
format: uuid
aspectId:
name: aspectId
in: path
description: The aspect ID (UUID)
required: true
schema:
type: string
format: uuid
securitySchemes:
ClientCredentials:
type: oauth2
flows:
clientCredentials:
tokenUrl: /oauth/token
externalDocs:
description: Find out more about Elementum
url: https://www.elementum.com/