Why
Interchange can now use @adcp/sdk RegistryClient for AAO brand resolve, enrich, and community registry save. The remaining hand-written AAO REST calls are only for brand logo assets because the SDK does not appear to expose first-class methods for those endpoints.
We currently need to call these directly:
GET /api/brands/:domain/logos to list approved/pending brand logo assets, optionally filtered by tags.
POST /api/brands/:domain/logos to upload a logo asset for AAO review.
Requested SDK surface
Add typed RegistryClient helpers, for example:
listBrandLogos(domain: string, tags?: string[]): Promise<BrandLogoAsset[]>
uploadBrandLogo(input: { domain: string; data: Blob | Buffer | ArrayBuffer; filename: string; mimeType: string; tags?: string[]; note?: string }): Promise<UploadBrandLogoResponse>
Notes
The response shape we are using today includes fields like id, content_type, source, review_status, tags, url, legacy_url, width, height, message, and review_sla_hours. Community uploads can return review_status=pending; callers must not treat pending URLs as brand.json-ready until listed as approved.
This would let downstream apps avoid bespoke AAO REST wrappers and keep all registry interactions on the SDK client.
Why
Interchange can now use
@adcp/sdkRegistryClientfor AAO brand resolve, enrich, and community registry save. The remaining hand-written AAO REST calls are only for brand logo assets because the SDK does not appear to expose first-class methods for those endpoints.We currently need to call these directly:
GET /api/brands/:domain/logosto list approved/pending brand logo assets, optionally filtered by tags.POST /api/brands/:domain/logosto upload a logo asset for AAO review.Requested SDK surface
Add typed
RegistryClienthelpers, for example:listBrandLogos(domain: string, tags?: string[]): Promise<BrandLogoAsset[]>uploadBrandLogo(input: { domain: string; data: Blob | Buffer | ArrayBuffer; filename: string; mimeType: string; tags?: string[]; note?: string }): Promise<UploadBrandLogoResponse>Notes
The response shape we are using today includes fields like
id,content_type,source,review_status,tags,url,legacy_url,width,height,message, andreview_sla_hours. Community uploads can returnreview_status=pending; callers must not treat pending URLs as brand.json-ready until listed as approved.This would let downstream apps avoid bespoke AAO REST wrappers and keep all registry interactions on the SDK client.