Skip to content

Directory launch

Manage product profiles, directory variants, listing readiness, and cached directory SEO metrics from the CLI.

3 min read

Connect your agent today

Draft from chat, review in your calendar, and publish only what you approve.

Start your free trial

Overview

The directory:* commands wrap the Directory launch APIs and Directory SEO APIs. Use them to prepare product copy for launch directories (PeerPush, Uneed, …), inspect per-destination readiness, and read domain-rating metrics.

Destinations and profiles

Published launch catalog:

openquok directory:destinations:list

Channel-group ↔ product rows:

openquok directory:business-profiles:list

List profiles (optional filters):

openquok directory:profiles:list
openquok directory:profiles:list --main-only
openquok directory:profiles:list --customer-group-id <customer-group-id>
FlagDescription
--customer-group-idMaps to API integrationCustomerId
--main-onlyClient-side filter: rows without parentProfileId

Get, create, and update:

openquok directory:profiles:get <profile-id>
openquok directory:profiles:create --name "Acme" --website-url "https://acme.example"
openquok directory:profiles:update <profile-id> --json ./profile-patch.json
FlagDescription
-j --jsonPath to JSON matching POST /public/directory-launch/profiles or PATCH /public/directory-launch/profiles/{id} (omit organizationId)
--profile-dataprofileData object as a JSON string
--logo-urlPublic logoUrl (https URL or a storage key the API resolves)

Logo and screenshots

Directory launch does not upload into the profile media bucket for you.

Set images with public https URLs on the profile (or upload in the web UI).

For automation, patch logoUrl and up to three screenshot URLs in profileData.gallery_urls on create or update — on the main profile or a variant id after directory:variants:ensure.

Direct URLs (simplest):

openquok directory:profiles:update <profile-id> 
  --logo-url "https://cdn.example.com/logo.png" 
  --profile-data '{"gallery_urls":["https://cdn.example.com/s1.png","https://cdn.example.com/s2.png"]}'

Optional — workspace media library:

openquok upload-from-url "https://cdn.example.com/logo.png"
# or: openquok upload ./logo.png

Upload responses include data.id and data.filePath for posts:create --media. They do not automatically bind to a product profile. After upload, still set logoUrl and gallery_urls to https URLs your directories and the extension can fetch (your CDN, or the same URL you imported).

Variants and listing summary

Idempotent variant for a site key:

openquok directory:variants:ensure <main-profile-id> --site-key peerpush

Readiness and submission status per destination:

openquok directory:listings <profile-id>

Read-only submissions:

openquok directory:submissions:list --profile <profile-id>
openquok directory:submissions:list --profile <profile-id> --destination <destination-id>

Directory SEO (analytics)

openquok directory:analytics:overview --profile <profile-id>
openquok directory:analytics:history --profile <profile-id> -d 90
openquok directory:analytics:refresh --profile <profile-id>
FlagDescription
--profileproductProfileId query or body field
-d --daysHistory window: integer 1–366 (default 90)
--forceOptional force refresh when the plan allows it

Competitors (workspace-scoped):

openquok directory:analytics:competitors:add --domain rival.example --label "Rival Co"
openquok directory:analytics:competitors:update --domain rival.example --label "Rival (EU)"
openquok directory:analytics:competitors:remove --domain rival.example

Example workflow

openquok directory:profiles:list --main-only | jq '.data[0].id'
openquok directory:variants:ensure <main-profile-id> --site-key peerpush
openquok directory:listings <main-profile-id> | jq '.data.destinations[] | {providerSlug, readiness}'
openquok directory:analytics:overview --profile <main-profile-id> | jq '.data.productDomain.checkedAt'
Search documentation
Find a docs page
Discord Support