Seismic · Arazzo Workflow

Seismic Search and Inspect Content

Version 1.0.0

Run a full-text content search, inspect the top hit, and get a shareable URL.

1 workflow 1 source API 1 provider
View Spec View on GitHub ArazzoWorkflows

Provider

seismic

Workflows

search-and-inspect-content
Search content with filters, inspect the top result, and return a URL.
Performs a filtered full-text search, reads the detail of the highest ranked result, and mints a temporary access URL for it.
3 steps inputs: contentProfileIds, fileTypes, query outputs: contentId, name, url
1
searchContent
searchContent
Run a relevance-ranked full-text search constrained by the supplied profile and file-type filters, returning the single best match.
2
getContent
getContentItem
Read the full detail of the top search result.
3
getShareUrl
getContentUrl
Mint a temporary access URL for the top search result.

Source API Descriptions

Arazzo Workflow Specification

seismic-search-and-inspect-content-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Seismic Search and Inspect Content
  summary: Run a full-text content search, inspect the top hit, and get a shareable URL.
  description: >-
    Uses the Seismic full-text search endpoint with structured filters to find
    the most relevant content, reads the full detail of the top result, and
    retrieves a temporary access URL for it. Useful for surfacing the best
    asset for a buyer conversation. Every step spells out its request inline so
    the flow can be read and executed without opening the underlying OpenAPI
    description.
  version: 1.0.0
sourceDescriptions:
- name: contentApi
  url: ../openapi/seismic-content-openapi.yml
  type: openapi
workflows:
- workflowId: search-and-inspect-content
  summary: Search content with filters, inspect the top result, and return a URL.
  description: >-
    Performs a filtered full-text search, reads the detail of the highest
    ranked result, and mints a temporary access URL for it.
  inputs:
    type: object
    required:
    - query
    properties:
      query:
        type: string
        description: Full-text search query.
      contentProfileIds:
        type: array
        description: Optional list of content profile IDs to filter the search by.
        items:
          type: string
      fileTypes:
        type: array
        description: Optional list of file types to filter the search by.
        items:
          type: string
  steps:
  - stepId: searchContent
    description: >-
      Run a relevance-ranked full-text search constrained by the supplied
      profile and file-type filters, returning the single best match.
    operationId: searchContent
    requestBody:
      contentType: application/json
      payload:
        query: $inputs.query
        filters:
          contentProfileIds: $inputs.contentProfileIds
          fileTypes: $inputs.fileTypes
        limit: 1
        sortBy: relevance
        sortOrder: desc
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      contentId: $response.body#/items/0/id
      totalCount: $response.body#/totalCount
  - stepId: getContent
    description: Read the full detail of the top search result.
    operationId: getContentItem
    parameters:
    - name: contentId
      in: path
      value: $steps.searchContent.outputs.contentId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      contentId: $response.body#/id
      name: $response.body#/name
      fileType: $response.body#/fileType
  - stepId: getShareUrl
    description: Mint a temporary access URL for the top search result.
    operationId: getContentUrl
    parameters:
    - name: contentId
      in: path
      value: $steps.getContent.outputs.contentId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      url: $response.body#/url
      expiresAt: $response.body#/expiresAt
  outputs:
    contentId: $steps.getContent.outputs.contentId
    name: $steps.getContent.outputs.name
    url: $steps.getShareUrl.outputs.url