Catalog

These endpoints let you list all the Sources, Destinations, and Destination settings that Segment supports.

Migrate from the Config API

Like the Segment Public API, the Config API has endpoints to navigate the catalog of Integrations supported by Segment. See the sections below for some key differences:

Source catalog items

Config API Public API
name See note on names vs IDs in the migration guide
displayName name
description description
categories categories
logos logos
type Removed

Destination catalog items

Config API Public API
browserUnbundlingPublic supportedFeatures.browserUnbundlingPublic
browserUnbundlingSupported supportedFeatures.browserUnbundling
categories categories
components components
description description
displayName name,
id id
logos logos
methods supportedMethods
name See note on names vs IDs in the migration guide
platforms supportedPlatforms
previousNames previousNames
settings options
slug slug
status status
type Not returned
website website

To migrate, replace any use of the Config API endpoints with the Segment Public API counterparts, using the field mappings in the table above.

Get Destination Metadata

Returns a Destination catalog item by its id.

Securitytoken
Request
path Parameters
destinationMetadataId
required
string [ 1 .. 255 ]
Example: 54521fd525e721e32a72ee91
Responses
200

OK

404

Resource not found

422

Validation failure

429

Too many requests

get/catalog/destinations/{destinationMetadataId}
Request samples
import { configureApis, unwrap } from '@segment/public-api-sdk-typescript'

const api = configureApis('/* Insert your Public API token here */')

try {
  const result = await unwrap(api.catalog.getDestinationMetadata('54521fd525e721e32a72ee91'))
  console.log(JSON.stringify(result))
} catch (e) {
  console.log('ERROR:', e)
}
Response samples
{
  • "data": {
    }
}

Get Destinations Catalog

Returns a list of all available Destinations in the Segment catalog.

Securitytoken
Request
query Parameters
object (PaginationInput)

Required pagination parameters used to filter the Destinations catalog.

This parameter exists in v1.

Example: pagination=pagination.count=2
Responses
200

OK

404

Resource not found

422

Validation failure

429

Too many requests

get/catalog/destinations
Request samples
import { configureApis, unwrap } from '@segment/public-api-sdk-typescript'

const api = configureApis('/* Insert your Public API token here */')

try {
  const result = await unwrap(api.catalog.getDestinationsCatalog())
  console.log(JSON.stringify(result))
} catch (e) {
  console.log('ERROR:', e)
}
Response samples
{
  • "data": {
    }
}

Get Source Metadata

Returns a Source catalog item by its id.

Securitytoken
Request
path Parameters
sourceMetadataId
required
string [ 1 .. 255 ]
Example: 1bow82lmk
Responses
200

OK

404

Resource not found

422

Validation failure

429

Too many requests

get/catalog/sources/{sourceMetadataId}
Request samples
import { configureApis, unwrap } from '@segment/public-api-sdk-typescript'

const api = configureApis('/* Insert your Public API token here */')

try {
  const result = await unwrap(api.catalog.getSourceMetadata('1bow82lmk'))
  console.log(JSON.stringify(result))
} catch (e) {
  console.log('ERROR:', e)
}
Response samples
{}

Get Sources Catalog

Returns a list of all available Sources in the Segment catalog.

Securitytoken
Request
query Parameters
object (PaginationInput)

Defines the pagination parameters.

This parameter exists in v1.

Example: pagination=pagination.count=2
Responses
200

OK

404

Resource not found

422

Validation failure

429

Too many requests

get/catalog/sources
Request samples
import { configureApis, unwrap } from '@segment/public-api-sdk-typescript'

const api = configureApis('/* Insert your Public API token here */')

try {
  const result = await unwrap(api.catalog.getSourcesCatalog())
  console.log(JSON.stringify(result))
} catch (e) {
  console.log('ERROR:', e)
}
Response samples
{}

Get Warehouse Metadata

Returns a Warehouse catalog item by its id.

Securitytoken
Request
path Parameters
warehouseMetadataId
required
string [ 1 .. 255 ]
Example: 55d3d3aea3c
Responses
200

OK

404

Resource not found

422

Validation failure

429

Too many requests

get/catalog/warehouses/{warehouseMetadataId}
Request samples
import { configureApis, unwrap } from '@segment/public-api-sdk-typescript'

const api = configureApis('/* Insert your Public API token here */')

try {
  const result = await unwrap(api.catalog.getWarehouseMetadata('55d3d3aea3c'))
  console.log(JSON.stringify(result))
} catch (e) {
  console.log('ERROR:', e)
}
Response samples
{
  • "data": {
    }
}

Get Warehouses Catalog

Returns a list of all available Warehouses in the Segment catalog.

Securitytoken
Request
query Parameters
object (PaginationInput)

Optional pagination params used to filter the Warehouses catalog.

This parameter exists in v1.

Example: pagination=pagination.count=2
Responses
200

OK

404

Resource not found

422

Validation failure

429

Too many requests

get/catalog/warehouses
Request samples
import { configureApis, unwrap } from '@segment/public-api-sdk-typescript'

const api = configureApis('/* Insert your Public API token here */')

try {
  const result = await unwrap(api.catalog.getWarehousesCatalog())
  console.log(JSON.stringify(result))
} catch (e) {
  console.log('ERROR:', e)
}
Response samples
{}