POST /brands using your existing API key
and base URL, https://www.rainbrand.com/api/v1. Both APIs remain available
during migration. Continue managing existing beta jobs through /brand-skills
until they have finished and you have stored or deleted their results.
Keep using x-api-key, or Authorization: Bearer instead—not both. Your billing
and commercial terms are unchanged by this migration.
What changes
Update creation and polling
Send your orderedsources and optional instructions. If you create brands
for multiple customers under one account, use allowDuplicate: true to skip
source-based duplicate detection when one customer’s sources should not block
another customer’s creation. This option does not create separate teams or
access boundaries.
Omit workspaceId if your old value is an arbitrary label rather than a real
Rainbrand team ID. Remove brandName; Rainbrand derives the name from the sources.
PDFs are supported on /brands.
Use a fresh Idempotency-Key for each new creation. Beta keys and IDs do not
transfer to the new flow.
GET /brands/{id}?wait=true with that Brand ID. Repeat while the status is
analyzing; stop at ready or failed. A wait timeout does not stop creation.
See Create a brand for source
examples and the create
and get references
for exact schemas. The example above skips duplicate detection; omit
allowDuplicate if you want the normal duplicate check.
Export the ZIP separately
Once the brand isready:
- Call
POST /brands/{id}/exportsand savedata.skillId. - Poll
GET /brands/{id}/exports/{skillId}untilreadyorfailed. - Download
data.download.urlfrom the ready export and store the complete folder with its relative paths intact.
skillId identifies the exported version.
See Export a Brand Skill
for executable requests and download handling.
Replace creation retry handling
Brand creation has nofailure.retryable field. Use this mapping:
Correct the source or input first for
INVALID_URL, UNSUPPORTED_SOURCE,
WEBSITE_SOURCE_REJECTED, PDF_SOURCE_REJECTED, SOURCE_REJECTED,
INSTAGRAM_PROFILE_NOT_FOUND, or INSTAGRAM_PRIVATE_PROFILE.
Retry unchanged later for SCRAPE_FAILED, INSTAGRAM_FETCH_FAILED,
PDF_PROCESSING_FAILED, BRAND_GUIDE_BUILD_FAILED, or INTERNAL_ERROR.
Export failures retain their own failure.retryable: when true, repeat the
export POST. Do not recreate a ready brand because its export failed.
Update deletion
Delete new brands withDELETE /brands/{id}, using the Brand ID saved at
creation. The deleted brand becomes unavailable. Continue deleting existing
beta jobs through /brand-skills with their beta IDs. See the
delete reference.
Cutover checklist
- Update request fields, saved IDs, polling, retry handling, export, and deletion.
- Test a website and a PDF through
/brands: create, poll, export, download, and validate the extracted Skill and assets. - Delete the test brands and confirm they are unavailable.
- Switch new creates to
/brands, usingallowDuplicate: truewhere needed. - Keep polling and deleting existing beta IDs on
/brand-skillsuntil they have drained. Coordinate beta retirement with Rainbrand after cutover.