Internal API
Media
8 endpoints.
GET
/api/v1/internal/media/businessesBusinesses with >=1 live photo — media-service bulk-backfill enumeration (internal)
Parameters
| Name | In | Type | Description |
|---|---|---|---|
cursor | query | string | null | |
limit | query | integer | default 100 |
x-internal-api-key | header | string | null |
Responses
200Successful Responseapplication/jsonInternalMediaBusinessListData| Field | Type | Description | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
businessesrequired | InternalMediaBusinessItem[] | InternalMediaBusinessItem[] fields
| |||||||||
next_cursor | string | null |
400Bad request401Unauthorized403Forbidden404Not found422Validation error500Internal server error503Service unavailable
Error bodies: ErrorResponse. See Errors.
GET
/api/v1/internal/media/businesses/{business_id}/members/{user_id}Is this heimdal user a member of this business? — media-service tenant check (internal)
Parameters
| Name | In | Type | Description |
|---|---|---|---|
business_idrequired | path | string (uuid) | |
user_idrequired | path | string (uuid) | |
x-internal-api-key | header | string | null |
Responses
200Successful Responseapplication/jsonBusinessMembershipData| Field | Type | Description |
|---|---|---|
business_idrequired | string (uuid) | |
user_idrequired | string (uuid) | |
is_memberrequired | boolean |
400Bad request401Unauthorized403Forbidden404Not found422Validation error500Internal server error503Service unavailable
Error bodies: ErrorResponse. See Errors.
GET
/api/v1/internal/media/galleryPaged industry-gallery list for the media-service industry sweep (internal)
Parameters
| Name | In | Type | Description |
|---|---|---|---|
industry_id | query | string | null | |
cursor | query | string | null | |
limit | query | integer | default 100 |
x-internal-api-key | header | string | null |
Responses
200Successful Responseapplication/jsonInternalGalleryPhotoListData| Field | Type | Description | ||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
itemsrequired | InternalGalleryPhotoItem[] | InternalGalleryPhotoItem[] fields
| ||||||||||||||||||||||||||||||
next_cursor | string | null |
400Bad request401Unauthorized403Forbidden404Not found422Validation error500Internal server error503Service unavailable
Error bodies: ErrorResponse. See Errors.
GET
/api/v1/internal/media/gallery/{photo_id}/bytesStream one industry-gallery photo's blob (internal)
Parameters
| Name | In | Type | Description |
|---|---|---|---|
photo_idrequired | path | string (uuid) | |
x-internal-api-key | header | string | null |
Responses
200Successful Responseapplication/jsonany400Bad request401Unauthorized403Forbidden404Not found422Validation error500Internal server error503Service unavailable
Error bodies: ErrorResponse. See Errors.
GET
/api/v1/internal/media/photosPaged photo list for media-service ingest/backfill/sweep (internal)
Parameters
| Name | In | Type | Description |
|---|---|---|---|
business_idrequired | query | string (uuid) | |
cursor | query | string | null | |
limit | query | integer | default 100 |
include_deleted | query | boolean | default false |
updated_after | query | string | null | |
x-internal-api-key | header | string | null |
Responses
200Successful Responseapplication/jsonInternalMediaPhotoListData| Field | Type | Description | |||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
itemsrequired | InternalMediaPhotoItem[] | InternalMediaPhotoItem[] fields
| |||||||||||||||||||||||||||||||||||||||
next_cursor | string | null |
400Bad request401Unauthorized403Forbidden404Not found422Validation error500Internal server error503Service unavailable
Error bodies: ErrorResponse. See Errors.
GET
/api/v1/internal/media/photos/{photo_id}/bytesStream one photo's blob (internal); 410 when an external URL expired
Parameters
| Name | In | Type | Description |
|---|---|---|---|
photo_idrequired | path | string (uuid) | |
x-internal-api-key | header | string | null |
Responses
200Successful Responseapplication/jsonany400Bad request401Unauthorized403Forbidden404Not found422Validation error500Internal server error503Service unavailable
Error bodies: ErrorResponse. See Errors.
GET
/api/v1/internal/media/photos/{photo_id}/usagesDelete-guard cross-check: modules referencing this photo (internal)
Parameters
| Name | In | Type | Description |
|---|---|---|---|
photo_idrequired | path | string (uuid) | |
x-internal-api-key | header | string | null |
Responses
200Successful Responseapplication/jsonPhotoUsagesData| Field | Type | Description | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
asset_idrequired | string | |||||||||||||
in_userequired | boolean | |||||||||||||
usagesrequired | PhotoUsageItem[] | PhotoUsageItem[] fields
|
400Bad request401Unauthorized403Forbidden404Not found422Validation error500Internal server error503Service unavailable
Error bodies: ErrorResponse. See Errors.
POST
/api/v1/internal/media/photos/import-derivativeWrite an edited image back as a first-class derived photo (internal)
Parameters
| Name | In | Type | Description |
|---|---|---|---|
x-internal-api-key | header | string | null |
Request bodyrequired
multipart/form-dataBody_import_media_derivative_api_v1_internal_media_photos_import_derivative_post| Field | Type | Description |
|---|---|---|
filerequired | string | |
metarequired | string |
Responses
201Successful Responseapplication/jsonImportDerivativeData| Field | Type | Description |
|---|---|---|
asset_idrequired | string | |
public_url | string | null | |
photo_source | string | default "derived" |
400Bad request401Unauthorized403Forbidden404Not found422Validation error500Internal server error503Service unavailable
Error bodies: ErrorResponse. See Errors.