Search Endpoints¶
Search API endpoints.
Overview¶
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/v1/search/ |
Global Search |
API Reference¶
Sartiq Backend Server - Search 0.1.0¶
search¶
GET /api/v1/search/¶
Global Search
Description
Search across Products, Shootings, ProductionRequests, Subjects, and Tags.
Returns a flat list of typed results, each with a resource_type discriminator
and typed data payload. Results are capped at limit per resource type.
For tag results, the data payload also bundles the products, subjects,
predictions, and production_requests linked to that tag via MediaResource.
Tag results are only produced when the request is scoped to an organization.
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
OAuth2PasswordBearer |
header | string | N/A | No | |
limit |
query | integer | 5 | No | Max results per resource type |
organization_id |
query | No | |||
q |
query | string | No | Search query |
Responses
Schema of the response body
{
"properties": {
"results": {
"items": {
"anyOf": [
{
"$ref": "#/components/schemas/ProductSearchResult"
},
{
"$ref": "#/components/schemas/ShootingSearchResult"
},
{
"$ref": "#/components/schemas/ProductionRequestSearchResult"
},
{
"$ref": "#/components/schemas/SubjectSearchResult"
},
{
"$ref": "#/components/schemas/TagSearchResult"
}
]
},
"type": "array",
"title": "Results"
},
"count": {
"type": "integer",
"title": "Count"
}
},
"type": "object",
"required": [
"results",
"count"
],
"title": "SearchResultsPublic",
"description": "Global search response containing a flat list of typed results."
}
Schemas¶
AgeClass¶
Type: string
AutoGenerationMode¶
Type: string
AutoPostProductionMode¶
Type: string
BaseImagePublic¶
| Name | Type | Description |
|---|---|---|
image_url |
string | |
shot_type_id |
string(uuid) | |
shot_type_label |
string |
BillingFunding¶
Type: string
BillingMeteringRule¶
Type: string
BillingState¶
Type: string
BodyType¶
Type: string
ContentDefPublic¶
| Name | Type | Description |
|---|---|---|
description |
string | |
id |
string(uuid) | |
label |
||
reference_media |
DefaultShotTypes¶
Type: string
DownloadStatus¶
Type: string
ErrorCategory-Output¶
Type: string
ExternalImagePushPublic¶
| Name | Type | Description |
|---|---|---|
completed_at |
||
created_at |
string(date-time) | |
error_message |
||
failure_reason |
||
id |
string(uuid) | |
integration_id |
string(uuid) | |
integration_name |
||
push_status |
PushStatus | |
pushed_at |
||
updated_at |
string(date-time) |
EyeColor¶
Type: string
Gender¶
Type: string
GuidelineShotTypePublic¶
| Name | Type | Description |
|---|---|---|
core_focus |
boolean | |
created_at |
string(date-time) | |
custom_ref_image_url |
||
default_shot_type |
||
deleted_at |
||
file_naming_convention |
||
framing |
||
id |
string(uuid) | |
margins |
||
margins_key |
||
name |
string | |
organization_id |
||
owner_id |
||
prompt |
||
prompt_builder_section |
||
public |
boolean | |
reference_image |
||
reference_image_url |
||
requires_subject |
boolean | |
shot_type_prompt_instruction |
||
shot_type_ref_image_url |
||
updated_at |
string(date-time) | |
view_angle |
ViewAngle |
GuidelinesShotTypeRuleGroup¶
| Name | Type | Description |
|---|---|---|
rule_kind |
GuidelinesShotTypeRuleKind | |
rule_value |
string | |
shot_types |
Array<GuidelineShotTypePublic> |
GuidelinesShotTypeRuleKind¶
Type: string
HairColor¶
Type: string
HTTPValidationError¶
| Name | Type | Description |
|---|---|---|
detail |
Array<ValidationError> |
MediaInput¶
| Name | Type | Description |
|---|---|---|
alt_text |
||
caption |
||
color_profile |
||
dominant_color |
||
duration |
||
height |
||
media_resource_id |
||
protected |
boolean | |
url |
||
width |
MediaResourceMetadataPublic¶
| Name | Type | Description |
|---|---|---|
caption |
||
content_type |
||
created_at |
string(date-time) | |
extension |
string | |
file_size |
integer | |
id |
string(uuid) | |
protected |
boolean | |
resource_type |
MediaResourceType |
MediaResourcePublic¶
| Name | Type | Description |
|---|---|---|
alt_text |
||
aspect_ratio |
||
caption |
||
color_profile |
||
content_hash |
string | |
created_at |
string(date-time) | |
dominant_color |
||
duration |
||
extension |
string | |
file_size |
integer | |
height |
||
id |
string(uuid) | |
orientation |
||
protected |
boolean | |
resource_type |
MediaResourceType | |
url |
string | |
width |
MediaResourceType¶
Type: string
OutfitGenerationStatus¶
Type: string
OwnerParty¶
Type: string
PosePresetPublic¶
| Name | Type | Description |
|---|---|---|
created_at |
string(date-time) | |
default_shot_type |
||
deleted_at |
||
id |
string(uuid) | |
name |
string | |
organization_id |
||
owner_id |
string(uuid) | |
pose_image_media |
||
pose_image_url |
||
prompt |
||
public |
boolean | |
shot_type_id |
string(uuid) | |
updated_at |
string(date-time) |
PredictionPublic¶
| Name | Type | Description |
|---|---|---|
created_at |
string(date-time) | |
duration_seconds |
||
error_category |
||
error_message |
||
favourite |
boolean | |
generation_id |
string(uuid) | |
generative_workflow_execution_id |
||
id |
string(uuid) | |
refined_image_url |
Computed field for backward compatibility. Returns the most recent successful refine's result_image_url. | |
refines |
Array<RefinePublic> | |
result_image_media |
||
result_image_url |
||
result_video_media |
||
result_video_url |
||
seed |
integer | |
shot_type |
||
status |
PredictionStatus | |
updated_at |
string(date-time) |
PredictionStatus¶
Type: string
ProductGender¶
Type: string
ProductionKind¶
Type: string
ProductionRequestOutfitPublic¶
| Name | Type | Description |
|---|---|---|
created_at |
string(date-time) | |
generation_error |
||
generation_status |
||
id |
string(uuid) | |
outfit_instruction |
||
outfit_product_ids |
Array<string(uuid)> | |
outfit_product_positions |
||
outfit_products |
Array<ProductPublic> | |
outfit_ref_images_media |
||
outfit_ref_imgs_urls |
Array<string> | |
production_request_id |
string(uuid) | |
retry_count |
integer | |
updated_at |
string(date-time) |
ProductionRequestPublic¶
| Name | Type | Description |
|---|---|---|
assignee |
||
assignee_id |
||
background_preset_id |
||
content_defs |
Array<ContentDefPublic> | |
created_at |
string(date-time) | |
deleted_at |
||
download_status |
DownloadStatus | |
export_configuration_id |
||
generative_workflow_template_id |
||
height |
||
id |
string(uuid) | |
lifecycle_stage |
||
outfit |
||
outfit_id |
||
outfit_instruction |
Get outfit instruction from the selected outfit. | |
outfit_product_ids |
Array<string(uuid)> | Get outfit product IDs from the selected outfit (supports both storage mechanisms). |
outfit_product_positions |
Get per-product canvas positions from the selected outfit. | |
outfit_proposals |
Array<ProductionRequestOutfitPublic> | |
outfit_ref_imgs_urls |
Array<string> | Get outfit reference image URLs from the selected outfit. |
pose_presets |
Array<PosePresetPublic> | |
product_cover_image_url |
||
product_id |
||
product_ids |
Array<string(uuid)> | |
product_name |
||
product_sku |
||
product_wear |
||
product_wear_id |
||
production_archived |
boolean | |
production_kind |
ProductionKind | |
products |
Array<ProductPublic> | |
readiness |
ProductionRequestReadiness | |
reference_imgs_urls |
Array<string> | |
reference_media |
Array<MediaResourcePublic> | |
resolution_preset_id |
||
set_design |
||
set_design_id |
||
shooting_id |
string(uuid) | |
shooting_production_id |
string(uuid) | |
shooting_type_key |
||
shot_status |
||
shots |
Array<ShotPublic> | |
subject_id |
||
subject_ids |
Array<string(uuid)> | |
subject_name |
||
title |
||
updated_at |
string(date-time) | |
use_subject_mannequin_double |
||
width |
ProductionRequestReadiness¶
Type: string
ProductionRequestSearchResult¶
| Name | Type | Description |
|---|---|---|
data |
ProductionRequestPublic | |
resource_type |
SearchResourceType |
ProductionRequestStatusKey¶
Type: string
ProductPlacement¶
Type: string
ProductPublic¶
| Name | Type | Description |
|---|---|---|
age_class |
||
archived |
boolean | |
back_description |
||
back_image_media |
||
back_image_url |
||
barcode |
||
brand |
||
brand_collection |
||
brand_metadata |
||
category |
||
closure_type |
||
color_code |
||
color_name |
||
color_swatch_media |
||
colour |
||
cover_image_media |
||
cover_image_url |
||
created_at |
string(date-time) | |
data_image_urls |
Array<string> | |
deleted_at |
||
demo |
boolean | |
description |
||
ecommerce_description |
||
enabled |
boolean | |
exports_completed |
||
exports_total |
||
fit_type |
||
gender |
ProductGender | |
id |
string(uuid) | |
in_store_date |
||
incomplete |
boolean | |
ingest_job_id |
||
integration_name |
||
is_filler |
boolean | |
length_type |
||
master_item_code |
||
materials |
||
name |
string | |
neckline |
||
organization_id |
||
owner_id |
string(uuid) | |
pattern |
||
placement |
||
product_family |
||
product_type |
||
product_type_id |
||
product_wear |
||
product_wear_id |
||
public |
boolean | |
reference_images |
Array<string> | |
reference_images_media |
||
season |
||
shot_status |
||
shot_status_production_request_id |
||
shots |
Array<> | |
sku |
||
sleeve_type |
||
style_code |
||
style_group_id |
||
styling_slot |
StylingSlot | |
theme |
||
type |
||
updated_at |
string(date-time) | |
year |
||
zone |
ProductSearchResult¶
| Name | Type | Description |
|---|---|---|
data |
ProductPublic | |
resource_type |
SearchResourceType |
ProductShootingStatus¶
Type: string
PushFailureReason¶
Type: string
PushStatus¶
Type: string
QualityAssessmentMode¶
Type: string
QualityAssessmentStatus¶
Type: string
RefinePublic¶
| Name | Type | Description |
|---|---|---|
created_at |
string(date-time) | |
error_category |
||
error_message |
||
height |
||
id |
string(uuid) | |
prediction_id |
string(uuid) | |
prompt |
||
refine_model_id |
||
refines_refine_id |
||
result_image_media |
||
result_image_url |
||
scale_factor |
||
status |
RefineStatus | |
task_id |
||
updated_at |
string(date-time) | |
width |
RefineStatus¶
Type: string
RevisionSource¶
Type: string
RoleName¶
Type: string
RolePublic¶
| Name | Type | Description |
|---|---|---|
description |
||
id |
string(uuid) | |
name |
RoleName |
SearchResourceType¶
Type: string
SearchResultsPublic¶
| Name | Type | Description |
|---|---|---|
count |
integer | |
results |
Array<> |
SetBaseImagePublic¶
| Name | Type | Description |
|---|---|---|
created_at |
string(date-time) | |
id |
string(uuid) | |
image_media |
||
image_url |
||
shot_type_id |
string(uuid) | |
subject_id |
string(uuid) | |
updated_at |
string(date-time) | |
variant_index |
integer |
SetDesignPublic¶
| Name | Type | Description |
|---|---|---|
background_preset_id |
||
base_images |
Array<SetBaseImagePublic> | |
created_at |
string(date-time) | |
deleted_at |
||
description |
||
id |
string(uuid) | |
is_draft |
boolean | |
name |
string | |
organization_id |
||
owner_id |
string(uuid) | |
production_due_at |
||
reference_images |
Array<SetReferenceImagePublic> | |
subject_portraits |
Array<SubjectPortraitPublic> | |
updated_at |
string(date-time) |
SetReferenceImagePublic¶
| Name | Type | Description |
|---|---|---|
created_at |
string(date-time) | |
id |
string(uuid) | |
image_media |
||
image_url |
||
label |
||
shot_type_id |
string(uuid) | |
updated_at |
string(date-time) |
ShootingGuidelinesPublic¶
| Name | Type | Description |
|---|---|---|
allow_back_shots_without_back_image |
boolean | |
auto_generate_outfits |
boolean | |
auto_generation_mode |
AutoGenerationMode | |
auto_post_production_mode |
AutoPostProductionMode | |
auto_post_production_template_id |
||
background_images |
Array<> | |
background_preset_id |
||
created_at |
string(date-time) | |
deleted_at |
||
export_configuration_id |
||
generative_workflow_template_id |
||
id |
string(uuid) | |
is_system |
boolean | |
name |
string | |
organization_id |
||
owner_id |
||
pose_presets |
Array<PosePresetPublic> | |
quality_assessment_mode |
QualityAssessmentMode | |
quality_assessment_template_id |
||
resolution_preset_id |
||
set_design |
||
set_design_id |
||
shooting_type_id |
string(uuid) | |
shooting_type_key |
ShootingTypeKey | |
shot_type_rules |
Array<GuidelinesShotTypeRuleGroup> | |
shot_types |
Array<GuidelineShotTypePublic> | |
stylist_fillers_mode |
string | |
stylist_id |
||
subjects |
Array<SubjectPublic> | |
updated_at |
string(date-time) |
ShootingPhase¶
Type: string
ShootingPublic¶
| Name | Type | Description |
|---|---|---|
archived |
boolean | |
background_images |
Array<> | |
billing_funding |
||
billing_metering_rule |
||
billing_note |
||
billing_state |
||
board_pdf |
||
brand |
||
collection |
||
column_owners |
||
cover_image |
||
created_at |
string(date-time) | |
default_guidelines |
||
default_guidelines_id |
||
deleted_at |
||
description |
||
due_date |
||
id |
string(uuid) | |
included_postprod_rounds |
integer | |
included_proposal_rounds |
integer | |
latest_test_production_id |
||
name |
string | |
organization_id |
||
owner_id |
string(uuid) | |
phase |
||
po_tag |
||
require_test_shooting |
boolean | |
season |
||
shooting_type |
||
shooting_type_id |
||
shot_status |
||
status |
||
updated_at |
string(date-time) |
ShootingSearchResult¶
| Name | Type | Description |
|---|---|---|
data |
ShootingPublic | |
resource_type |
SearchResourceType |
ShootingStatus¶
Type: string
ShootingTypeKey¶
Type: string
ShootingTypePublic¶
| Name | Type | Description |
|---|---|---|
archived |
boolean | |
description |
||
id |
string(uuid) | |
key |
string | |
label |
string |
ShotPublic¶
| Name | Type | Description |
|---|---|---|
content_defs |
Array<ContentDefPublic> | |
created_at |
string(date-time) | |
current_revision_id |
||
download_status |
DownloadStatus | |
id |
string(uuid) | |
pose_preset_id |
||
production_request_id |
||
revisions |
Array<ShotRevisionPublic> | |
rework_available |
integer | |
rework_used |
integer | |
shot_type |
||
status |
ProductionRequestStatusKey | |
updated_at |
string(date-time) |
ShotRevisionImagePublic¶
| Name | Type | Description |
|---|---|---|
autogenerated |
boolean | |
created_at |
string(date-time) | |
effective_image_url |
||
id |
string(uuid) | |
image_media |
||
image_url |
||
notes |
||
prediction_id |
||
refine_id |
||
shot_revision_id |
string(uuid) | |
sketch_image_media |
||
sketch_image_url |
||
source_type |
RevisionSource | |
updated_at |
string(date-time) |
ShotRevisionPublic¶
| Name | Type | Description |
|---|---|---|
automatic_quality_assessment_status |
||
created_at |
string(date-time) | |
display_name |
string | |
effective_image_url |
||
id |
string(uuid) | |
images |
Array<ShotRevisionImagePublic> | |
notes |
||
owner |
||
owner_id |
||
post_prod_fallback_reason |
||
post_prod_source |
||
previous_revision_id |
||
push_records |
Array<ExternalImagePushPublic> | |
push_status |
Aggregate push status across all integrations. Returns: None (no pushes), PENDING, IN_PROGRESS, AWAITING_CONFIRMATION, COMPLETED, or FAILED Priority: FAILED > IN_PROGRESS > AWAITING_CONFIRMATION > PENDING > COMPLETED | |
shot_id |
string(uuid) | |
shot_revision_status |
||
shot_status |
ProductionRequestStatusKey | |
updated_at |
string(date-time) | |
version |
integer |
ShotRevisionStatus¶
Type: string
ShotTypeFraming¶
Type: string
ShotTypePublic¶
| Name | Type | Description |
|---|---|---|
core_focus |
boolean | |
created_at |
string(date-time) | |
default_shot_type |
||
deleted_at |
||
file_naming_convention |
||
framing |
||
id |
string(uuid) | |
margins |
||
margins_key |
||
name |
string | |
organization_id |
||
owner_id |
||
prompt |
||
prompt_builder_section |
||
public |
boolean | |
reference_image |
||
reference_image_url |
||
requires_subject |
boolean | |
shot_type_prompt_instruction |
||
shot_type_ref_image_url |
||
updated_at |
string(date-time) | |
view_angle |
ViewAngle |
StylingSlot¶
Type: string
SubjectAgeClass¶
Type: string
SubjectMeasurementsPublic¶
| Name | Type | Description |
|---|---|---|
bust_cm |
||
eye_color |
||
hair_color |
||
height_cm |
||
hips_cm |
||
id |
string(uuid) | |
shoe_eu |
||
waist_cm |
SubjectPortraitPublic¶
| Name | Type | Description |
|---|---|---|
created_at |
string(date-time) | |
id |
string(uuid) | |
image_media |
||
subject_id |
string(uuid) | |
updated_at |
string(date-time) |
SubjectPublic¶
| Name | Type | Description |
|---|---|---|
age_class |
SubjectAgeClass | |
base_images |
Array<BaseImagePublic> | |
body_type |
||
cover_image_media |
||
cover_image_url |
||
created_at |
string(date-time) | |
data_image_urls |
Array<string> | |
data_images_media |
||
deleted_at |
||
description |
||
enabled |
boolean | |
ethnicity |
||
gender |
Gender | |
id |
string(uuid) | |
measurements |
||
name |
string | |
organization_id |
||
owner_id |
string(uuid) | |
portfolio_images_media |
||
portrait_image_media |
||
portrait_image_url |
||
public |
boolean | |
ready |
boolean | |
slug |
string | |
subject_type |
SubjectType | |
surname |
||
updated_at |
string(date-time) |
SubjectSearchResult¶
| Name | Type | Description |
|---|---|---|
data |
SubjectPublic | |
resource_type |
SearchResourceType |
SubjectType¶
Type: string
TagPublic¶
| Name | Type | Description |
|---|---|---|
color |
||
created_at |
string(date-time) | |
description |
||
id |
string(uuid) | |
name |
string | |
organization_id |
||
owner_id |
string(uuid) | |
updated_at |
string(date-time) |
TagSearchData¶
| Name | Type | Description |
|---|---|---|
predictions |
Array<PredictionPublic> | |
production_requests |
Array<ProductionRequestPublic> | |
products |
Array<ProductPublic> | |
subjects |
Array<SubjectPublic> | |
tag |
TagPublic |
TagSearchResult¶
| Name | Type | Description |
|---|---|---|
data |
TagSearchData | |
resource_type |
SearchResourceType |
UserSummary¶
| Name | Type | Description |
|---|---|---|
email |
string(email) | |
full_name |
||
id |
string(uuid) | |
role |
ValidationError¶
| Name | Type | Description |
|---|---|---|
ctx |
||
input |
||
loc |
Array<> | |
msg |
string | |
type |
string |
ViewAngle¶
Type: string
Security schemes¶
| Name | Type | Scheme | Description |
|---|---|---|---|
| OAuth2PasswordBearer | oauth2 |