{"openapi":"3.1.0","info":{"title":"HUD Platform","version":"2.0.0"},"x-hud-contract-scope":"datavendor_vendor","paths":{"/v2/vendor/uploads/grants/{token}":{"post":{"tags":["vendor"],"summary":"Reserve Upload Grant","description":"Sign the PUT for this grant. The same size returns the same plan.","operationId":"reserve_upload_grant_v2_vendor_uploads_grants__token__post","parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":128,"title":"Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StagedUploadCreateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/StagedUploadSingleResponse"},{"$ref":"#/components/schemas/StagedUploadMultipartResponse"}],"discriminator":{"propertyName":"mode","mapping":{"single":"#/components/schemas/StagedUploadSingleResponse","multipart":"#/components/schemas/StagedUploadMultipartResponse"}},"title":"Response Reserve Upload Grant V2 Vendor Uploads Grants  Token  Post"}}}},"400":{"description":"Invalid or malformed request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Missing or invalid credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Caller may not access this resource","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Referenced entity does not exist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Resource already exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"410":{"description":"Resource is no longer available","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"503":{"description":"The server is at capacity; retry after Retry-After seconds","headers":{"Retry-After":{"description":"Seconds to wait before retrying","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v2/vendor/uploads/grants/{token}/parts":{"post":{"tags":["vendor"],"summary":"Presign Upload Grant Parts","description":"Fresh part URLs while the grant is still alive. The PUT itself lasts an hour.","operationId":"presign_upload_grant_parts_v2_vendor_uploads_grants__token__parts_post","parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":128,"title":"Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StagedUploadPartsRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StagedUploadPartsResponse"}}}},"400":{"description":"Invalid or malformed request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Missing or invalid credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Caller may not access this resource","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Referenced entity does not exist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Resource already exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"410":{"description":"Resource is no longer available","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"503":{"description":"The server is at capacity; retry after Retry-After seconds","headers":{"Retry-After":{"description":"Seconds to wait before retrying","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v2/vendor/uploads/grants/{token}/complete":{"post":{"tags":["vendor"],"summary":"Complete Upload Grant","description":"Publish the zip, create the codebase, and consume the grant.","operationId":"complete_upload_grant_v2_vendor_uploads_grants__token__complete_post","parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":128,"title":"Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StagedUploadCompleteRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CodebaseAssetResponse"}}}},"400":{"description":"Invalid or malformed request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Missing or invalid credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Caller may not access this resource","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Referenced entity does not exist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Resource already exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"410":{"description":"Resource is no longer available","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"503":{"description":"The server is at capacity; retry after Retry-After seconds","headers":{"Retry-After":{"description":"Seconds to wait before retrying","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v2/vendor/notifications":{"get":{"tags":["notifications"],"summary":"List Notifications","description":"The caller team's notification feed, newest first, with unread count.","operationId":"list_notifications_v2_vendor_notifications_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":50,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotificationListResponse"}}}},"400":{"description":"Invalid or malformed request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Missing or invalid credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Caller may not access this resource","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Referenced entity does not exist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Resource already exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"503":{"description":"The server is at capacity; retry after Retry-After seconds","headers":{"Retry-After":{"description":"Seconds to wait before retrying","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v2/opportunities":{"get":{"tags":["opportunities"],"summary":"List Opportunities","description":"Published open opportunities the caller's team can view.\n\nFiltered/sorted/paged in SQL with text-universe tag facets (mirrors\nlistings browse).","operationId":"list_opportunities_v2_opportunities_get","parameters":[{"name":"query","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Text search across title, overview, tags, buyer.","title":"Query"},"description":"Text search across title, overview, tags, buyer."},{"name":"tags","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"description":"Domain tags (any-of).","title":"Tags"},"description":"Domain tags (any-of)."},{"name":"asset_types","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"description":"Requested asset type slugs (any-of).","title":"Asset Types"},"description":"Requested asset type slugs (any-of)."},{"name":"max_budget","in":"query","required":false,"schema":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}],"description":"Approximate budget ceiling (metadata.budget_min).","title":"Max Budget"},"description":"Approximate budget ceiling (metadata.budget_min)."},{"name":"budget_unit","in":"query","required":false,"schema":{"anyOf":[{"enum":["per_task","total"],"type":"string"},{"type":"null"}],"description":"per_task | total — omit for any unit.","title":"Budget Unit"},"description":"per_task | total — omit for any unit."},{"name":"sort","in":"query","required":false,"schema":{"enum":["deadline","recent","title","budget_low","budget_high"],"type":"string","description":"deadline | recent | title | budget_low | budget_high.","default":"deadline","title":"Sort"},"description":"deadline | recent | title | budget_low | budget_high."},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","maximum":2147483647,"minimum":0,"default":0,"title":"Offset"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":50,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BrowseOpportunitiesResponse"}}}},"400":{"description":"Invalid or malformed request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Missing or invalid credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Caller may not access this resource","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Referenced entity does not exist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Resource already exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"503":{"description":"The server is at capacity; retry after Retry-After seconds","headers":{"Retry-After":{"description":"Seconds to wait before retrying","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v2/opportunities/{opportunity_id}":{"get":{"tags":["opportunities"],"summary":"Get Opportunity","description":"A single published or cancelled opportunity the caller's team can view.","operationId":"get_opportunity_v2_opportunities__opportunity_id__get","parameters":[{"name":"opportunity_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Opportunity Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpportunityResponse"}}}},"400":{"description":"Invalid or malformed request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Missing or invalid credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Caller may not access this resource","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Referenced entity does not exist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Resource already exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"503":{"description":"The server is at capacity; retry after Retry-After seconds","headers":{"Retry-After":{"description":"Seconds to wait before retrying","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v2/listings":{"get":{"tags":["listings"],"summary":"List Listings","description":"The caller team's listings, filtered/sorted/paged in SQL.","operationId":"list_listings_v2_listings_get","parameters":[{"name":"workspace_view","in":"query","required":false,"schema":{"enum":["all","drafts","submitted","live","archived"],"type":"string","description":"Sidebar workspace slice: all, drafts, submitted, live, archived.","default":"all","title":"Workspace View"},"description":"Sidebar workspace slice: all, drafts, submitted, live, archived."},{"name":"lifecycle_stages","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["draft","review","ready","active","archived"],"type":"string"}},{"type":"null"}],"description":"Vendor-facing lifecycle stages (Draft, Review, Ready, Active).","title":"Lifecycle Stages"},"description":"Vendor-facing lifecycle stages (Draft, Review, Ready, Active)."},{"name":"query","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Query"}},{"name":"tags","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Tags"}},{"name":"asset_types","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Asset Types"}},{"name":"verified_only","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Verified Only"}},{"name":"min_price","in":"query","required":false,"schema":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}],"title":"Min Price"}},{"name":"max_price","in":"query","required":false,"schema":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}],"title":"Max Price"}},{"name":"has_active_bids","in":"query","required":false,"schema":{"type":"boolean","description":"Only listings with at least one submitted bid.","default":false,"title":"Has Active Bids"},"description":"Only listings with at least one submitted bid."},{"name":"no_assets","in":"query","required":false,"schema":{"type":"boolean","description":"Only listings with no attached assets.","default":false,"title":"No Assets"},"description":"Only listings with no attached assets."},{"name":"sample_available","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Sample Available"}},{"name":"min_sample_price","in":"query","required":false,"schema":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}],"title":"Min Sample Price"}},{"name":"max_sample_price","in":"query","required":false,"schema":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}],"title":"Max Sample Price"}},{"name":"min_tasks","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}],"title":"Min Tasks"}},{"name":"max_tasks","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}],"title":"Max Tasks"}},{"name":"min_loc","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}],"title":"Min Loc"}},{"name":"max_loc","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}],"title":"Max Loc"}},{"name":"min_zip_files","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}],"title":"Min Zip Files"}},{"name":"max_zip_files","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}],"title":"Max Zip Files"}},{"name":"min_zip_size_gb","in":"query","required":false,"schema":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}],"title":"Min Zip Size Gb"}},{"name":"max_zip_size_gb","in":"query","required":false,"schema":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}],"title":"Max Zip Size Gb"}},{"name":"sort","in":"query","required":false,"schema":{"enum":["recommended","recent","price_low","price_high"],"type":"string","default":"recent","title":"Sort"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":24,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","maximum":2147483647,"minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VendorListingsResponse"}}}},"400":{"description":"Invalid or malformed request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Missing or invalid credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Caller may not access this resource","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Referenced entity does not exist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Resource already exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"503":{"description":"The server is at capacity; retry after Retry-After seconds","headers":{"Retry-After":{"description":"Seconds to wait before retrying","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v2/listings/browse":{"get":{"tags":["listings"],"summary":"Browse Listings","description":"Published listings from all teams (buyer-facing).\n\nFiltered/sorted in SQL, keyset-paginated from the publication snapshot;\nthe first page carries tab counts and text-universe facets. A team behind\nthe browse gate reads only the first unfiltered page (``locked`` is true);\nsearch, filters, another sort, or a cursor answer 403 ``listing_browse_locked``.","operationId":"browse_listings_v2_listings_browse_get","parameters":[{"name":"query","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Query"}},{"name":"tags","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Tags"}},{"name":"tag_slugs","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Tag Slugs"}},{"name":"asset_types","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Asset Types"}},{"name":"owned","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Owned"}},{"name":"verified_only","in":"query","required":false,"schema":{"type":"boolean","description":"When true, only DV quality certified listings.","default":false,"title":"Verified Only"},"description":"When true, only DV quality certified listings."},{"name":"min_price","in":"query","required":false,"schema":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}],"description":"Buy-now price floor.","title":"Min Price"},"description":"Buy-now price floor."},{"name":"max_price","in":"query","required":false,"schema":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}],"description":"Buy-now price ceiling.","title":"Max Price"},"description":"Buy-now price ceiling."},{"name":"has_active_bids","in":"query","required":false,"schema":{"type":"boolean","description":"Only listings with at least one submitted bid.","default":false,"title":"Has Active Bids"},"description":"Only listings with at least one submitted bid."},{"name":"sample_available","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"True: only listings offering a sample; False: only listings without; omit: any.","title":"Sample Available"},"description":"True: only listings offering a sample; False: only listings without; omit: any."},{"name":"min_sample_price","in":"query","required":false,"schema":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}],"description":"Sample price floor (implies sample available).","title":"Min Sample Price"},"description":"Sample price floor (implies sample available)."},{"name":"max_sample_price","in":"query","required":false,"schema":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}],"description":"Sample price ceiling (implies sample available).","title":"Max Sample Price"},"description":"Sample price ceiling (implies sample available)."},{"name":"min_vendor_tier","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","maximum":3,"minimum":1},{"type":"null"}],"title":"Min Vendor Tier"}},{"name":"vendor_tiers","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"integer"}},{"type":"null"}],"description":"Exact seller vendor tiers.","title":"Vendor Tiers"},"description":"Exact seller vendor tiers."},{"name":"min_tasks","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}],"description":"Minimum HUD taskset plus Harbor bundle task count.","title":"Min Tasks"},"description":"Minimum HUD taskset plus Harbor bundle task count."},{"name":"max_tasks","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}],"description":"Maximum HUD taskset plus Harbor bundle task count.","title":"Max Tasks"},"description":"Maximum HUD taskset plus Harbor bundle task count."},{"name":"min_price_per_task","in":"query","required":false,"schema":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}],"description":"Floor on buy-now price divided by task count; listings without tasks never match.","title":"Min Price Per Task"},"description":"Floor on buy-now price divided by task count; listings without tasks never match."},{"name":"max_price_per_task","in":"query","required":false,"schema":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}],"description":"Ceiling on buy-now price divided by task count; listings without tasks never match.","title":"Max Price Per Task"},"description":"Ceiling on buy-now price divided by task count; listings without tasks never match."},{"name":"min_loc","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}],"title":"Min Loc"}},{"name":"max_loc","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}],"title":"Max Loc"}},{"name":"min_zip_files","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}],"title":"Min Zip Files"}},{"name":"max_zip_files","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}],"title":"Max Zip Files"}},{"name":"min_zip_size_gb","in":"query","required":false,"schema":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}],"title":"Min Zip Size Gb"}},{"name":"max_zip_size_gb","in":"query","required":false,"schema":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}],"title":"Max Zip Size Gb"}},{"name":"min_codebases","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}],"description":"Minimum attached codebases.","title":"Min Codebases"},"description":"Minimum attached codebases."},{"name":"max_codebases","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}],"description":"Maximum attached codebases.","title":"Max Codebases"},"description":"Maximum attached codebases."},{"name":"min_tasksets","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}],"description":"Minimum attached HUD tasksets plus Harbor bundles.","title":"Min Tasksets"},"description":"Minimum attached HUD tasksets plus Harbor bundles."},{"name":"max_tasksets","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}],"description":"Maximum attached HUD tasksets plus Harbor bundles.","title":"Max Tasksets"},"description":"Maximum attached HUD tasksets plus Harbor bundles."},{"name":"min_environments","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}],"description":"Minimum attached environments.","title":"Min Environments"},"description":"Minimum attached environments."},{"name":"max_environments","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}],"description":"Maximum attached environments.","title":"Max Environments"},"description":"Maximum attached environments."},{"name":"min_robotics_datasets","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}],"description":"Minimum attached robotics datasets.","title":"Min Robotics Datasets"},"description":"Minimum attached robotics datasets."},{"name":"max_robotics_datasets","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}],"description":"Maximum attached robotics datasets.","title":"Max Robotics Datasets"},"description":"Maximum attached robotics datasets."},{"name":"min_raw_data","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}],"description":"Minimum attached Raw data zips.","title":"Min Raw Data"},"description":"Minimum attached Raw data zips."},{"name":"max_raw_data","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}],"description":"Maximum attached Raw data zips.","title":"Max Raw Data"},"description":"Maximum attached Raw data zips."},{"name":"languages","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"description":"Codebase languages.","title":"Languages"},"description":"Codebase languages."},{"name":"rare_languages_only","in":"query","required":false,"schema":{"type":"boolean","description":"Only listings whose codebases are at most 40% JavaScript, TypeScript, and Python combined, by language bytes; listings without a language byte breakdown never match.","default":false,"title":"Rare Languages Only"},"description":"Only listings whose codebases are at most 40% JavaScript, TypeScript, and Python combined, by language bytes; listings without a language byte breakdown never match."},{"name":"file_extensions","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"description":"Raw data file extensions, lowercase without the dot.","title":"File Extensions"},"description":"Raw data file extensions, lowercase without the dot."},{"name":"robotics_formats","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["lerobot_v3","lerobot_v2","ego_exo","other"],"type":"string"}},{"type":"null"}],"description":"Declared robotics dataset formats.","title":"Robotics Formats"},"description":"Declared robotics dataset formats."},{"name":"capabilities","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"description":"Environment capabilities.","title":"Capabilities"},"description":"Environment capabilities."},{"name":"sort","in":"query","required":false,"schema":{"enum":["recommended","recent","price_low","price_high"],"type":"string","description":"recommended prefers DV quality certified, then recency; with no filters it leads with the admin-featured listings in their curated order.","default":"recommended","title":"Sort"},"description":"recommended prefers DV quality certified, then recency; with no filters it leads with the admin-featured listings in their curated order."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":24,"title":"Limit"}},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Keyset position from the previous page's next_cursor; omit for the first page (which also carries counts and facets).","title":"Cursor"},"description":"Keyset position from the previous page's next_cursor; omit for the first page (which also carries counts and facets)."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BrowseListingsResponse"}}}},"400":{"description":"Invalid or malformed request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Missing or invalid credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Caller may not access this resource","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Referenced entity does not exist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Resource already exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"503":{"description":"The server is at capacity; retry after Retry-After seconds","headers":{"Retry-After":{"description":"Seconds to wait before retrying","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v2/listings/browse/access":{"get":{"tags":["listings"],"summary":"Get Browse Access","description":"The caller's catalog gate state.\n\nReports published-listing progress toward the vendor browse threshold, and whether browse\nis unlocked. The gate itself is enforced on catalog page reads.","operationId":"get_browse_access_v2_listings_browse_access_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListingBrowseAccessResponse"}}}},"400":{"description":"Invalid or malformed request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Missing or invalid credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Caller may not access this resource","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Referenced entity does not exist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Resource already exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"503":{"description":"The server is at capacity; retry after Retry-After seconds","headers":{"Retry-After":{"description":"Seconds to wait before retrying","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v2/listings/browse/by-ids":{"get":{"tags":["listings"],"summary":"Browse Listings By Ids","description":"Resolve specific published listings by id (saved-tab fetch), ordered like browse.\n\nIds absent from the response are stale (unpublished/deleted) and the caller prunes them.","operationId":"browse_listings_by_ids_v2_listings_browse_by_ids_get","parameters":[{"name":"ids","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string","format":"uuid"}},{"type":"null"}],"title":"Ids"}},{"name":"sort","in":"query","required":false,"schema":{"enum":["recommended","recent","price_low","price_high"],"type":"string","default":"recent","title":"Sort"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListingListResponse"}}}},"400":{"description":"Invalid or malformed request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Missing or invalid credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Caller may not access this resource","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Referenced entity does not exist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Resource already exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"503":{"description":"The server is at capacity; retry after Retry-After seconds","headers":{"Retry-After":{"description":"Seconds to wait before retrying","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v2/listings/browse/{listing_id}":{"get":{"tags":["listings"],"summary":"Browse Listing Detail","description":"Detail of a published listing (buyer-facing).","operationId":"browse_listing_detail_v2_listings_browse__listing_id__get","parameters":[{"name":"listing_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Listing Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListingDetailResponse"}}}},"400":{"description":"Invalid or malformed request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Missing or invalid credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Caller may not access this resource","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Referenced entity does not exist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Resource already exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"503":{"description":"The server is at capacity; retry after Retry-After seconds","headers":{"Retry-After":{"description":"Seconds to wait before retrying","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v2/listings/browse/{listing_id}/quality":{"get":{"tags":["listings"],"summary":"Browse Listing Quality","description":"The evidence behind the DV quality badge (buyer-redacted).","operationId":"browse_listing_quality_v2_listings_browse__listing_id__quality_get","parameters":[{"name":"listing_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Listing Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListingQualityEvidenceResponse"}}}},"400":{"description":"Invalid or malformed request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Missing or invalid credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Caller may not access this resource","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Referenced entity does not exist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Resource already exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"503":{"description":"The server is at capacity; retry after Retry-After seconds","headers":{"Retry-After":{"description":"Seconds to wait before retrying","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v2/listings/browse/{listing_id}/tasksets/{taskset_id}":{"get":{"tags":["listings"],"summary":"Browse Listing Taskset","description":"Preview one of a published listing's tasksets (buyer-facing).","operationId":"browse_listing_taskset_v2_listings_browse__listing_id__tasksets__taskset_id__get","parameters":[{"name":"listing_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Listing Id"}},{"name":"taskset_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Taskset Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListingTasksetResponse"}}}},"400":{"description":"Invalid or malformed request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Missing or invalid credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Caller may not access this resource","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Referenced entity does not exist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Resource already exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"503":{"description":"The server is at capacity; retry after Retry-After seconds","headers":{"Retry-After":{"description":"Seconds to wait before retrying","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v2/listings/browse/{listing_id}/tasksets/{taskset_id}/tasks":{"get":{"tags":["listings"],"summary":"Browse Listing Taskset Tasks","description":"First-page task preview for a published listing's taskset (buyer-facing).","operationId":"browse_listing_taskset_tasks_v2_listings_browse__listing_id__tasksets__taskset_id__tasks_get","parameters":[{"name":"listing_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Listing Id"}},{"name":"taskset_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Taskset Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TasksWithStatsResponse"}}}},"400":{"description":"Invalid or malformed request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Missing or invalid credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Caller may not access this resource","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Referenced entity does not exist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Resource already exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"503":{"description":"The server is at capacity; retry after Retry-After seconds","headers":{"Retry-After":{"description":"Seconds to wait before retrying","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v2/listings/qc-reports":{"get":{"tags":["listings"],"summary":"List Vendor Qc Reports","description":"Every quality-check run across the caller team's listings, newest first.\n\nIncludes per-run environment-check summaries and credits charged.","operationId":"list_vendor_qc_reports_v2_listings_qc_reports_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","maximum":2147483647,"minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QcVendorReportsResponse"}}}},"400":{"description":"Invalid or malformed request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Missing or invalid credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Caller may not access this resource","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Referenced entity does not exist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Resource already exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"503":{"description":"The server is at capacity; retry after Retry-After seconds","headers":{"Retry-After":{"description":"Seconds to wait before retrying","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v2/listings/sales":{"get":{"tags":["listings"],"summary":"List Vendor Sales","description":"The caller team's settled sales across all its listings, plus lifetime earnings.\n\nAnonymous: buyer identity is never included.","operationId":"list_vendor_sales_v2_listings_sales_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListingSalesResponse"}}}},"400":{"description":"Invalid or malformed request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Missing or invalid credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Caller may not access this resource","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Referenced entity does not exist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Resource already exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"503":{"description":"The server is at capacity; retry after Retry-After seconds","headers":{"Retry-After":{"description":"Seconds to wait before retrying","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v2/listings/{listing_id}":{"get":{"tags":["listings"],"summary":"Get Listing","description":"A single listing owned by the caller team.","operationId":"get_listing_v2_listings__listing_id__get","parameters":[{"name":"listing_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Listing Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListingDetailResponse"}}}},"400":{"description":"Invalid or malformed request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Missing or invalid credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Caller may not access this resource","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Referenced entity does not exist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Resource already exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"503":{"description":"The server is at capacity; retry after Retry-After seconds","headers":{"Retry-After":{"description":"Seconds to wait before retrying","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v2/listings/{listing_id}/history":{"get":{"tags":["listings"],"summary":"Get Listing History","description":"Lifecycle history of a listing the caller team owns, newest first.","operationId":"get_listing_history_v2_listings__listing_id__history_get","parameters":[{"name":"listing_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Listing Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListingHistoryResponse"}}}},"400":{"description":"Invalid or malformed request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Missing or invalid credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Caller may not access this resource","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Referenced entity does not exist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Resource already exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"503":{"description":"The server is at capacity; retry after Retry-After seconds","headers":{"Retry-After":{"description":"Seconds to wait before retrying","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v2/listings/{listing_id}/assets":{"get":{"tags":["listings"],"summary":"List Listing Assets","description":"The assets composed into one of the caller team's listings.","operationId":"list_listing_assets_v2_listings__listing_id__assets_get","parameters":[{"name":"listing_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Listing Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListingAssetsResponse"}}}},"400":{"description":"Invalid or malformed request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Missing or invalid credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Caller may not access this resource","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Referenced entity does not exist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Resource already exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"503":{"description":"The server is at capacity; retry after Retry-After seconds","headers":{"Retry-After":{"description":"Seconds to wait before retrying","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"post":{"tags":["listings"],"summary":"Attach Listing Assets","description":"Add assets to a listing: ``asset_ids`` in the order given, then each match's assets.\n\nA match is a list query (``group_id``, ``sku``, ``deprecated``, ``filters``\nas on ``GET /v2/assets``) minus ``exclude_ids``; its assets join newest\nfirst. Each asset must belong to the listing's team, be of a listable SKU\n(``listable`` on the asset) and carry a data object. An id in\n``asset_ids`` that fails that, or is already on the listing, answers 409;\na matched asset that does is skipped and counted in ``skipped``. One\nattach adds at most 1000 assets (400 above that). The listing's\ncomposition gains the matching entries under the regular listing edit\nrules, so the edit re-enters review like any other. Returns the listing's\nassets afterwards.","operationId":"attach_listing_assets_v2_listings__listing_id__assets_post","parameters":[{"name":"listing_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Listing Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListingAssetsAttachRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListingAssetsAttachResponse"}}}},"400":{"description":"Invalid or malformed request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Missing or invalid credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Caller may not access this resource","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Referenced entity does not exist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Resource already exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"503":{"description":"The server is at capacity; retry after Retry-After seconds","headers":{"Retry-After":{"description":"Seconds to wait before retrying","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v2/listings/{listing_id}/assets/{asset_id}":{"delete":{"tags":["listings"],"summary":"Detach Listing Asset","description":"Remove an asset from a listing; the composition loses its entry the same way.\n\nRemoving an asset that is no longer on the listing succeeds without a change.","operationId":"detach_listing_asset_v2_listings__listing_id__assets__asset_id__delete","parameters":[{"name":"listing_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Listing Id"}},{"name":"asset_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Asset Id"}}],"responses":{"204":{"description":"Successful Response"},"400":{"description":"Invalid or malformed request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Missing or invalid credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Caller may not access this resource","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Referenced entity does not exist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Resource already exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"503":{"description":"The server is at capacity; retry after Retry-After seconds","headers":{"Retry-After":{"description":"Seconds to wait before retrying","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v2/listings/{listing_id}/qc":{"get":{"tags":["listings"],"summary":"Get Listing Qc Report","description":"The listing's latest quality-check run.\n\nPer-asset checks with pass/fail statuses, task-scope summaries, and each\nLLM check's JSON result.","operationId":"get_listing_qc_report_v2_listings__listing_id__qc_get","parameters":[{"name":"listing_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Listing Id"}},{"name":"task_rows","in":"query","required":false,"schema":{"enum":["failing","all"],"type":"string","description":"Task-scope rows to include: failing (default) or all.","default":"failing","title":"Task Rows"},"description":"Task-scope rows to include: failing (default) or all."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListingQcReportResponse"}}}},"400":{"description":"Invalid or malformed request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Missing or invalid credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Caller may not access this resource","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Referenced entity does not exist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Resource already exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"503":{"description":"The server is at capacity; retry after Retry-After seconds","headers":{"Retry-After":{"description":"Seconds to wait before retrying","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v2/project-opportunities/bids/mine":{"get":{"tags":["project-opportunities"],"summary":"List My Bids","description":"List the caller's project bid history.","operationId":"list_my_bids_v2_project_opportunities_bids_mine_get","parameters":[{"name":"offset","in":"query","required":false,"schema":{"type":"integer","maximum":2147483647,"minimum":0,"default":0,"title":"Offset"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":50,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResponse_OpportunityBidResponse_"}}}},"400":{"description":"Invalid or malformed request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Missing or invalid credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Caller may not access this resource","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Referenced entity does not exist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Resource already exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"503":{"description":"The server is at capacity; retry after Retry-After seconds","headers":{"Retry-After":{"description":"Seconds to wait before retrying","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v2/project-opportunities/{opportunity_id}":{"get":{"tags":["project-opportunities"],"summary":"Get Project Opportunity","description":"Read a project opportunity visible to the caller.","operationId":"get_project_opportunity_v2_project_opportunities__opportunity_id__get","parameters":[{"name":"opportunity_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Opportunity Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectOpportunityResponse"}}}},"400":{"description":"Invalid or malformed request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Missing or invalid credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Caller may not access this resource","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Referenced entity does not exist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Resource already exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"503":{"description":"The server is at capacity; retry after Retry-After seconds","headers":{"Retry-After":{"description":"Seconds to wait before retrying","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v2/estimations":{"get":{"tags":["estimations"],"summary":"List Estimations","description":"The caller team's estimations, newest first.\n\n``filter`` ANDs estimation filters in SQL, and ``total`` counts the\nmatches. ``sort`` and ``sort_direction`` replace newest first.","operationId":"list_estimations_v2_estimations_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}},{"name":"filter","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"description":"AND filters as field:operator:value. Fields: status (pending, estimated, unpriced, failed), type, name, channel (github, gitlab, bitbucket, zip), inventory (added or not_added).","title":"Filter"},"description":"AND filters as field:operator:value. Fields: status (pending, estimated, unpriced, failed), type, name, channel (github, gitlab, bitbucket, zip), inventory (added or not_added)."},{"name":"sort","in":"query","required":false,"schema":{"anyOf":[{"enum":["name","type","status","estimate","date","inventory"],"type":"string"},{"type":"null"}],"description":"Order rows by this column instead of newest first. Text sorts case-insensitively; rows without the value come last in either direction and ties stay newest first. status runs pending, estimated, unpriced, failed. date is completion, or creation while pending.","title":"Sort"},"description":"Order rows by this column instead of newest first. Text sorts case-insensitively; rows without the value come last in either direction and ties stay newest first. status runs pending, estimated, unpriced, failed. date is completion, or creation while pending."},{"name":"sort_direction","in":"query","required":false,"schema":{"enum":["asc","desc"],"type":"string","default":"asc","title":"Sort Direction"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EstimationListResponse"}}}},"400":{"description":"Invalid or malformed request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Missing or invalid credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Caller may not access this resource","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Referenced entity does not exist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Resource already exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"503":{"description":"The server is at capacity; retry after Retry-After seconds","headers":{"Retry-After":{"description":"Seconds to wait before retrying","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v2/estimations/summary":{"get":{"tags":["estimations"],"summary":"Estimation Summary","description":"A recap of the caller team's estimations matching ``filter``.\n\nQuote totals and the value distribution count each source's latest\nestimated quote once; status counts cover every matching estimation.","operationId":"estimation_summary_v2_estimations_summary_get","parameters":[{"name":"filter","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"description":"The same AND filters as GET /v2/estimations.","title":"Filter"},"description":"The same AND filters as GET /v2/estimations."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EstimationSummaryResponse"}}}},"400":{"description":"Invalid or malformed request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Missing or invalid credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Caller may not access this resource","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Referenced entity does not exist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Resource already exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"503":{"description":"The server is at capacity; retry after Retry-After seconds","headers":{"Retry-After":{"description":"Seconds to wait before retrying","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v2/estimations/latest":{"get":{"tags":["estimations"],"summary":"Latest Asset Estimations","description":"The latest estimation of each listed inventory asset's data; assets without one are omitted.","operationId":"latest_asset_estimations_v2_estimations_latest_get","parameters":[{"name":"asset_id","in":"query","required":true,"schema":{"type":"array","items":{"type":"string","format":"uuid"},"minItems":1,"maxItems":200,"title":"Asset Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetLatestEstimationsResponse"}}}},"400":{"description":"Invalid or malformed request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Missing or invalid credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Caller may not access this resource","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Referenced entity does not exist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Resource already exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"503":{"description":"The server is at capacity; retry after Retry-After seconds","headers":{"Retry-After":{"description":"Seconds to wait before retrying","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v2/estimations/{estimation_id}":{"get":{"tags":["estimations"],"summary":"Get Estimation","description":"One of the caller team's estimations.","operationId":"get_estimation_v2_estimations__estimation_id__get","parameters":[{"name":"estimation_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Estimation Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EstimationResponse"}}}},"400":{"description":"Invalid or malformed request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Missing or invalid credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Caller may not access this resource","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Referenced entity does not exist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Resource already exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"503":{"description":"The server is at capacity; retry after Retry-After seconds","headers":{"Retry-After":{"description":"Seconds to wait before retrying","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v2/assets":{"get":{"tags":["assets"],"summary":"List Assets","description":"A bounded page of inventory summaries across SKUs.\n\nGroup and SKU counts describe all matching inventory, independent of the\npage. Use /assets/window for grouped inventory and the SKU API for details.","operationId":"list_assets_v2_assets_get","parameters":[{"name":"sku","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":64},{"type":"null"}],"title":"Sku"}},{"name":"deprecated","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"true keeps only the assets of deprecated or retired SKUs, false drops them; omitted keeps both.","title":"Deprecated"},"description":"true keeps only the assets of deprecated or retired SKUs, false drops them; omitted keeps both."},{"name":"stage","in":"query","required":false,"schema":{"anyOf":[{"enum":["incomplete","proposed","complete"],"type":"string"},{"type":"null"}],"title":"Stage"}},{"name":"listing_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Listing Id"}},{"name":"group_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Group Id"}},{"name":"id","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string","format":"uuid"}},{"type":"null"}],"title":"Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}},{"name":"attach_to","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"description":"The listing ``attachable`` counts toward: assets already on it are not attachable.","title":"Attach To"},"description":"The listing ``attachable`` counts toward: assets already on it are not attachable."},{"name":"filter","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"description":"AND filters as field:operator:value. Asset fields: stage (incomplete, proposed, complete), name, type, domain, channel (github, gitlab, bitbucket, zip, or not_linked for assets without a data object). Codebase fields: exclusivity, private_data. Task fields: task_type (coding, finance, legal, general), has_traces, has_qa_results, has_environment (true or false), ran_on_model (a model name), qa_agent (a QA agent key).","title":"Filter"},"description":"AND filters as field:operator:value. Asset fields: stage (incomplete, proposed, complete), name, type, domain, channel (github, gitlab, bitbucket, zip, or not_linked for assets without a data object). Codebase fields: exclusivity, private_data. Task fields: task_type (coding, finance, legal, general), has_traces, has_qa_results, has_environment (true or false), ran_on_model (a model name), qa_agent (a QA agent key)."},{"name":"sort","in":"query","required":false,"schema":{"anyOf":[{"enum":["stage","name","type","description","domain","channel","size","estimate","price","exclusivity","private_data","languages","history","lines_of_code","source_files","test_files","commits","contributors","pull_requests","ci_on_prs","coverage"],"type":"string"},{"type":"null"}],"description":"Order rows by this column instead of newest first. Text sorts case-insensitively; rows without the value come last in either direction and ties stay newest first. stage runs incomplete, proposed, complete. Codebase metrics, exclusivity, private_data and estimate are empty on other SKUs.","title":"Sort"},"description":"Order rows by this column instead of newest first. Text sorts case-insensitively; rows without the value come last in either direction and ties stay newest first. stage runs incomplete, proposed, complete. Codebase metrics, exclusivity, private_data and estimate are empty on other SKUs."},{"name":"sort_direction","in":"query","required":false,"schema":{"enum":["asc","desc"],"type":"string","default":"asc","title":"Sort Direction"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetListResponse"}}}},"400":{"description":"Invalid or malformed request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Missing or invalid credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Caller may not access this resource","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Referenced entity does not exist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Resource already exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"503":{"description":"The server is at capacity; retry after Retry-After seconds","headers":{"Retry-After":{"description":"Seconds to wait before retrying","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v2/assets/window":{"get":{"tags":["assets"],"summary":"List Asset Window","description":"A window of groups and their inventory summaries.\n\nleaf_budget limits assets and header_budget limits groups. Continue with\nafter_group_id; use the flat collection with group_id for more rows within\na group. Counts follow the filters and sort order used by the flat list.","operationId":"list_asset_window_v2_assets_window_get","parameters":[{"name":"sku","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":64},{"type":"null"}],"title":"Sku"}},{"name":"deprecated","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"true keeps only the assets of deprecated or retired SKUs, false drops them; omitted keeps both.","title":"Deprecated"},"description":"true keeps only the assets of deprecated or retired SKUs, false drops them; omitted keeps both."},{"name":"stage","in":"query","required":false,"schema":{"anyOf":[{"enum":["incomplete","proposed","complete"],"type":"string"},{"type":"null"}],"title":"Stage"}},{"name":"listing_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Listing Id"}},{"name":"leaf_budget","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":50,"title":"Leaf Budget"}},{"name":"header_budget","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":10,"title":"Header Budget"}},{"name":"after_group_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"After Group Id"}},{"name":"include_empty_groups","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Include Empty Groups"}},{"name":"attach_to","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"description":"The listing ``attachable`` counts toward: assets already on it are not attachable.","title":"Attach To"},"description":"The listing ``attachable`` counts toward: assets already on it are not attachable."},{"name":"filter","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"description":"AND filters as field:operator:value. Asset fields: stage (incomplete, proposed, complete), name, type, domain, channel (github, gitlab, bitbucket, zip, or not_linked for assets without a data object). Codebase fields: exclusivity, private_data. Task fields: task_type (coding, finance, legal, general), has_traces, has_qa_results, has_environment (true or false), ran_on_model (a model name), qa_agent (a QA agent key).","title":"Filter"},"description":"AND filters as field:operator:value. Asset fields: stage (incomplete, proposed, complete), name, type, domain, channel (github, gitlab, bitbucket, zip, or not_linked for assets without a data object). Codebase fields: exclusivity, private_data. Task fields: task_type (coding, finance, legal, general), has_traces, has_qa_results, has_environment (true or false), ran_on_model (a model name), qa_agent (a QA agent key)."},{"name":"sort","in":"query","required":false,"schema":{"anyOf":[{"enum":["stage","name","type","description","domain","channel","size","estimate","price","exclusivity","private_data","languages","history","lines_of_code","source_files","test_files","commits","contributors","pull_requests","ci_on_prs","coverage"],"type":"string"},{"type":"null"}],"description":"Order rows by this column instead of newest first. Text sorts case-insensitively; rows without the value come last in either direction and ties stay newest first. stage runs incomplete, proposed, complete. Codebase metrics, exclusivity, private_data and estimate are empty on other SKUs.","title":"Sort"},"description":"Order rows by this column instead of newest first. Text sorts case-insensitively; rows without the value come last in either direction and ties stay newest first. stage runs incomplete, proposed, complete. Codebase metrics, exclusivity, private_data and estimate are empty on other SKUs."},{"name":"sort_direction","in":"query","required":false,"schema":{"enum":["asc","desc"],"type":"string","default":"asc","title":"Sort Direction"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetWindowResponse"}}}},"400":{"description":"Invalid or malformed request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Missing or invalid credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Caller may not access this resource","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Referenced entity does not exist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Resource already exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"503":{"description":"The server is at capacity; retry after Retry-After seconds","headers":{"Retry-After":{"description":"Seconds to wait before retrying","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v2/assets/{asset_id}":{"get":{"tags":["assets"],"summary":"Get Asset","description":"One of the caller team's assets: shared columns, stage and data object.","operationId":"get_asset_v2_assets__asset_id__get","parameters":[{"name":"asset_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Asset Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetSummary"}}}},"400":{"description":"Invalid or malformed request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Missing or invalid credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Caller may not access this resource","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Referenced entity does not exist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Resource already exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"503":{"description":"The server is at capacity; retry after Retry-After seconds","headers":{"Retry-After":{"description":"Seconds to wait before retrying","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v2/assets/{asset_id}/data/structure":{"get":{"tags":["assets"],"summary":"Get Legacy Asset Data Structure","description":"The file tree of historical inventory without a current SKU API.\n\nCodebases and raw data use their typed data/structure endpoints. An asset\nwithout a data object answers 404.","operationId":"get_legacy_asset_data_structure_v2_assets__asset_id__data_structure_get","parameters":[{"name":"asset_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Asset Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetDataStructureResponse"}}}},"400":{"description":"Invalid or malformed request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Missing or invalid credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Caller may not access this resource","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Referenced entity does not exist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Resource already exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"503":{"description":"The server is at capacity; retry after Retry-After seconds","headers":{"Retry-After":{"description":"Seconds to wait before retrying","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v2/codebases":{"post":{"tags":["codebases"],"summary":"Create Codebase","description":"Create a codebase, optionally with its repository or completed upload.\n\nWithout data, complete metadata produces a proposal. Missing fields leave\nit incomplete. With data, HUD derives available metrics; the stage is\ncomplete once no required metadata is missing. API-key metrics and derived\nmetrics retain their source in locked_fields. group_id defaults to the\nteam's default group; titles are unique within the team.","operationId":"create_codebase_v2_codebases_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CodebaseAssetCreateRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CodebaseAssetResponse"}}}},"400":{"description":"Invalid or malformed request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Missing or invalid credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Caller may not access this resource","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Referenced entity does not exist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Resource already exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"503":{"description":"The server is at capacity; retry after Retry-After seconds","headers":{"Retry-After":{"description":"Seconds to wait before retrying","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"get":{"tags":["codebases"],"summary":"List Codebases","description":"A bounded page of the team's codebases assets.","operationId":"list_codebases_v2_codebases_get","parameters":[{"name":"stage","in":"query","required":false,"schema":{"anyOf":[{"enum":["incomplete","proposed","complete"],"type":"string"},{"type":"null"}],"title":"Stage"}},{"name":"id","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string","format":"uuid"}},{"type":"null"}],"title":"Id"}},{"name":"group_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Group Id"}},{"name":"listing_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Listing Id"}},{"name":"filter","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Filter"}},{"name":"sort","in":"query","required":false,"schema":{"anyOf":[{"enum":["stage","name","type","description","domain","channel","size","estimate","price","exclusivity","private_data","languages","history","lines_of_code","source_files","test_files","commits","contributors","pull_requests","ci_on_prs","coverage"],"type":"string"},{"type":"null"}],"title":"Sort"}},{"name":"sort_direction","in":"query","required":false,"schema":{"enum":["asc","desc"],"type":"string","default":"asc","title":"Sort Direction"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CodebaseAssetListResponse"}}}},"400":{"description":"Invalid or malformed request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Missing or invalid credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Caller may not access this resource","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Referenced entity does not exist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Resource already exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"503":{"description":"The server is at capacity; retry after Retry-After seconds","headers":{"Retry-After":{"description":"Seconds to wait before retrying","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v2/codebases/batch":{"post":{"tags":["codebases"],"summary":"Create Codebases","description":"Register up to 500 repositories in one request, all or nothing.\n\nValidation errors list every invalid field with its row index under\n``body.items[i]``; a title that already exists answers 409 with the\nconflicting rows. Nothing is saved unless every row is accepted. Metadata\nsent with an API key is locked (``locked_fields``, source ``api``) against\ninventory edits.","operationId":"create_codebases_v2_codebases_batch_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CodebaseAssetBatchRequest"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CodebaseAssetBatchResponse"}}}},"400":{"description":"Invalid or malformed request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Missing or invalid credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Caller may not access this resource","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Referenced entity does not exist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Resource already exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"503":{"description":"The server is at capacity; retry after Retry-After seconds","headers":{"Retry-After":{"description":"Seconds to wait before retrying","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v2/codebases/languages":{"get":{"tags":["codebases"],"summary":"List Languages","description":"Languages a proposal may declare; ``primary_languages`` stores the slugs.","operationId":"list_languages_v2_codebases_languages_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CodebaseLanguageListResponse"}}}},"400":{"description":"Invalid or malformed request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Missing or invalid credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Caller may not access this resource","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Referenced entity does not exist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Resource already exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"503":{"description":"The server is at capacity; retry after Retry-After seconds","headers":{"Retry-After":{"description":"Seconds to wait before retrying","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v2/codebases/{asset_id}":{"get":{"tags":["codebases"],"summary":"Get Codebase","description":"One of the caller team's codebases, including its metadata and data object.","operationId":"get_codebase_v2_codebases__asset_id__get","parameters":[{"name":"asset_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Asset Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CodebaseAssetResponse"}}}},"400":{"description":"Invalid or malformed request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Missing or invalid credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Caller may not access this resource","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Referenced entity does not exist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Resource already exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"503":{"description":"The server is at capacity; retry after Retry-After seconds","headers":{"Retry-After":{"description":"Seconds to wait before retrying","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"patch":{"tags":["codebases"],"summary":"Update Codebase","description":"Edit a codebase at any stage.\n\nOnly the fields sent change; the merged row must still pass every rule,\nand ``group_id`` moves the row to another of the team's groups. Metadata sent with an API key lands even over\n``locked_fields`` and locks the field to ``api`` (``null`` unlocks it); an\nedit from the inventory that changes a locked field answers 409\n``metrics_locked`` with the refused names in ``locked_fields``.","operationId":"update_codebase_v2_codebases__asset_id__patch","parameters":[{"name":"asset_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Asset Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CodebaseAssetUpdateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CodebaseAssetResponse"}}}},"400":{"description":"Invalid or malformed request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Missing or invalid credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Caller may not access this resource","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Referenced entity does not exist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Resource already exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"503":{"description":"The server is at capacity; retry after Retry-After seconds","headers":{"Retry-After":{"description":"Seconds to wait before retrying","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"delete":{"tags":["codebases"],"summary":"Delete Codebase","description":"Soft-delete one of the caller team's codebases; its title becomes reusable.\n\nAn asset with a data object attached answers 409 until the data is detached.","operationId":"delete_codebase_v2_codebases__asset_id__delete","parameters":[{"name":"asset_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Asset Id"}}],"responses":{"204":{"description":"Successful Response"},"400":{"description":"Invalid or malformed request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Missing or invalid credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Caller may not access this resource","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Referenced entity does not exist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Resource already exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"503":{"description":"The server is at capacity; retry after Retry-After seconds","headers":{"Retry-After":{"description":"Seconds to wait before retrying","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v2/codebases/{asset_id}/data":{"post":{"tags":["codebases"],"summary":"Attach Codebase Data","description":"Attach the asset's source data.\n\n``channel`` picks the shape: ``github``, ``gitlab`` or ``bitbucket`` with the\nrepository's ``repo_full_name`` (reachable through your connection and\nnot public), or ``zip`` with the ``url`` of a completed team upload and an\noptional ``manifest_url``. The channel must be enabled for the asset's\nSKU. One data object per asset: an asset that already has one answers\n409 until it is detached. Uploads are archived at once; a forge\nrepository starts ``pending`` and the archive status updates as HUD\ndownloads it.","operationId":"attach_codebase_data_v2_codebases__asset_id__data_post","parameters":[{"name":"asset_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Asset Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/AssetForgeDataRequest"},{"$ref":"#/components/schemas/AssetUploadDataRequest"}],"discriminator":{"propertyName":"channel","mapping":{"github":"#/components/schemas/AssetForgeDataRequest","gitlab":"#/components/schemas/AssetForgeDataRequest","bitbucket":"#/components/schemas/AssetForgeDataRequest","zip":"#/components/schemas/AssetUploadDataRequest"}},"title":"Body"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetDataResponse"}}}},"400":{"description":"Invalid or malformed request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Missing or invalid credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Caller may not access this resource","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Referenced entity does not exist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Resource already exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"503":{"description":"The server is at capacity; retry after Retry-After seconds","headers":{"Retry-After":{"description":"Seconds to wait before retrying","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"delete":{"tags":["codebases"],"summary":"Detach Codebase Data","description":"Detach the data object; its stage is derived from the remaining metadata. An asset without one answers 409.","operationId":"detach_codebase_data_v2_codebases__asset_id__data_delete","parameters":[{"name":"asset_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Asset Id"}}],"responses":{"204":{"description":"Successful Response"},"400":{"description":"Invalid or malformed request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Missing or invalid credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Caller may not access this resource","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Referenced entity does not exist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Resource already exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"503":{"description":"The server is at capacity; retry after Retry-After seconds","headers":{"Retry-After":{"description":"Seconds to wait before retrying","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v2/codebases/{asset_id}/data/structure":{"get":{"tags":["codebases"],"summary":"Get Codebase Data Structure","description":"The data object's file tree, ready as soon as the reading after attach finishes.\n\nFile and folder names are shown as stored; the contents are never read.\nAn asset without a data object answers 404.","operationId":"get_codebase_data_structure_v2_codebases__asset_id__data_structure_get","parameters":[{"name":"asset_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Asset Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetDataStructureResponse"}}}},"400":{"description":"Invalid or malformed request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Missing or invalid credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Caller may not access this resource","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Referenced entity does not exist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Resource already exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"503":{"description":"The server is at capacity; retry after Retry-After seconds","headers":{"Retry-After":{"description":"Seconds to wait before retrying","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v2/codebases/{asset_id}/qc/runs":{"post":{"tags":["codebases"],"summary":"Start Codebase Qc Run","description":"Run the QC checks for the asset's SKU against its data object.\n\nThe checks read the stored archive and HUD's reading of it, so the data\nobject must be ``archived`` with ``analysis_status`` ``complete``; until\nthen the request answers 409 with what to wait for. A run already in\nprogress is superseded. Results arrive at ``GET /{asset_id}/qc``.","operationId":"start_codebase_qc_run_v2_codebases__asset_id__qc_runs_post","parameters":[{"name":"asset_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Asset Id"}}],"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetQcRunStartResponse"}}}},"400":{"description":"Invalid or malformed request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Missing or invalid credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Caller may not access this resource","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Referenced entity does not exist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Resource already exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"503":{"description":"The server is at capacity; retry after Retry-After seconds","headers":{"Retry-After":{"description":"Seconds to wait before retrying","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v2/codebases/{asset_id}/qc":{"get":{"tags":["codebases"],"summary":"Get Codebase Qc","description":"The asset's latest QC run and its checks; ``latest_run`` is null before the first run.","operationId":"get_codebase_qc_v2_codebases__asset_id__qc_get","parameters":[{"name":"asset_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Asset Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetQcReportResponse"}}}},"400":{"description":"Invalid or malformed request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Missing or invalid credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Caller may not access this resource","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Referenced entity does not exist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Resource already exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"503":{"description":"The server is at capacity; retry after Retry-After seconds","headers":{"Retry-After":{"description":"Seconds to wait before retrying","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v2/asset-groups":{"get":{"tags":["asset-groups"],"summary":"List Groups","description":"The caller team's groups, newest first.","operationId":"list_groups_v2_asset_groups_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetGroupListResponse"}}}},"400":{"description":"Invalid or malformed request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Missing or invalid credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Caller may not access this resource","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Referenced entity does not exist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Resource already exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"503":{"description":"The server is at capacity; retry after Retry-After seconds","headers":{"Retry-After":{"description":"Seconds to wait before retrying","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"post":{"tags":["asset-groups"],"summary":"Create Group","description":"Create a group for the caller's team; names are unique per team, case-insensitively.","operationId":"create_group_v2_asset_groups_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetGroupCreateRequest"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetGroupResponse"}}}},"400":{"description":"Invalid or malformed request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Missing or invalid credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Caller may not access this resource","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Referenced entity does not exist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Resource already exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"503":{"description":"The server is at capacity; retry after Retry-After seconds","headers":{"Retry-After":{"description":"Seconds to wait before retrying","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v2/asset-groups/{group_id}":{"get":{"tags":["asset-groups"],"summary":"Get Group","description":"One of the caller team's groups.","operationId":"get_group_v2_asset_groups__group_id__get","parameters":[{"name":"group_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Group Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetGroupResponse"}}}},"400":{"description":"Invalid or malformed request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Missing or invalid credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Caller may not access this resource","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Referenced entity does not exist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Resource already exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"503":{"description":"The server is at capacity; retry after Retry-After seconds","headers":{"Retry-After":{"description":"Seconds to wait before retrying","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"patch":{"tags":["asset-groups"],"summary":"Rename Group","description":"Rename a group.","operationId":"rename_group_v2_asset_groups__group_id__patch","parameters":[{"name":"group_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Group Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetGroupUpdateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetGroupResponse"}}}},"400":{"description":"Invalid or malformed request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Missing or invalid credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Caller may not access this resource","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Referenced entity does not exist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Resource already exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"503":{"description":"The server is at capacity; retry after Retry-After seconds","headers":{"Retry-After":{"description":"Seconds to wait before retrying","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"delete":{"tags":["asset-groups"],"summary":"Delete Group","description":"Soft-delete a group; live assets move to Default. The default group answers 409.","operationId":"delete_group_v2_asset_groups__group_id__delete","parameters":[{"name":"group_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Group Id"}}],"responses":{"204":{"description":"Successful Response"},"400":{"description":"Invalid or malformed request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Missing or invalid credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Caller may not access this resource","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Referenced entity does not exist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Resource already exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"503":{"description":"The server is at capacity; retry after Retry-After seconds","headers":{"Retry-After":{"description":"Seconds to wait before retrying","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v2/asset-groups/{group_id}/assets/{asset_id}":{"put":{"tags":["asset-groups"],"summary":"Move Asset To Group","description":"Place an owned asset in this group, including assets of deprecated SKUs.","operationId":"move_asset_to_group_v2_asset_groups__group_id__assets__asset_id__put","parameters":[{"name":"group_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Group Id"}},{"name":"asset_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Asset Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetSummary"}}}},"400":{"description":"Invalid or malformed request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Missing or invalid credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Caller may not access this resource","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Referenced entity does not exist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Resource already exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"503":{"description":"The server is at capacity; retry after Retry-After seconds","headers":{"Retry-After":{"description":"Seconds to wait before retrying","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v2/domains":{"get":{"tags":["domains"],"summary":"List Domains","description":"List the marketplace domain taxonomy.","operationId":"list_domains_v2_domains_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DomainListResponse"}}}},"400":{"description":"Invalid or malformed request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Missing or invalid credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Caller may not access this resource","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Referenced entity does not exist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Resource already exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"503":{"description":"The server is at capacity; retry after Retry-After seconds","headers":{"Retry-After":{"description":"Seconds to wait before retrying","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v2/asset-types":{"get":{"tags":["asset-types"],"summary":"List Asset Types","description":"Enabled asset types — the catalog a vendor may compose from — and every deprecated one.","operationId":"list_asset_types_v2_asset_types_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetTypeListResponse"}}}},"400":{"description":"Invalid or malformed request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Missing or invalid credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Caller may not access this resource","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Referenced entity does not exist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Resource already exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"503":{"description":"The server is at capacity; retry after Retry-After seconds","headers":{"Retry-After":{"description":"Seconds to wait before retrying","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v2/asset-types/{slug}":{"get":{"tags":["asset-types"],"summary":"Get Asset Type","description":"One asset type with its ingestion channels and metadata field contract.\n\n``fields`` says, per field, whether the vendor states it (``vendor``) or\nHUD derives it after the data object is attached (``derived``), and per\nchannel what HUD reads it from; a SKU without typed metadata lists none.\n``deprecation`` is set once the SKU is deprecated: it accepts no new\nassets or edits, and listings carrying it are archived at ``retires_at``.","operationId":"get_asset_type_v2_asset_types__slug__get","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetTypeDetailResponse"}}}},"400":{"description":"Invalid or malformed request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Missing or invalid credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Caller may not access this resource","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Referenced entity does not exist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Resource already exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"503":{"description":"The server is at capacity; retry after Retry-After seconds","headers":{"Retry-After":{"description":"Seconds to wait before retrying","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v2/content-tags":{"get":{"tags":["content-tags"],"summary":"List Content Tags","description":"Enabled content tags only — what a vendor may declare on an Others asset.","operationId":"list_content_tags_v2_content_tags_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContentTagListResponse"}}}},"400":{"description":"Invalid or malformed request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Missing or invalid credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Caller may not access this resource","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Referenced entity does not exist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Resource already exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"503":{"description":"The server is at capacity; retry after Retry-After seconds","headers":{"Retry-After":{"description":"Seconds to wait before retrying","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v2/inventory-tags":{"get":{"tags":["inventory-tags"],"summary":"List Inventory Tags","description":"Enabled inventory tags only — what vendors may apply and buyers may filter by.","operationId":"list_inventory_tags_v2_inventory_tags_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InventoryTagListResponse"}}}},"400":{"description":"Invalid or malformed request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Missing or invalid credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Caller may not access this resource","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Referenced entity does not exist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Resource already exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"503":{"description":"The server is at capacity; retry after Retry-After seconds","headers":{"Retry-After":{"description":"Seconds to wait before retrying","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v2/wallet":{"get":{"tags":["wallet"],"summary":"Get Wallet","description":"The caller team's credits balance and earnings balances.\n\nEarnings are zero for teams that never sold.","operationId":"get_wallet_v2_wallet_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WalletResponse"}}}},"400":{"description":"Invalid or malformed request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Missing or invalid credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Caller may not access this resource","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Referenced entity does not exist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Resource already exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"503":{"description":"The server is at capacity; retry after Retry-After seconds","headers":{"Retry-After":{"description":"Seconds to wait before retrying","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v2/wallet/earnings":{"get":{"tags":["wallet"],"summary":"List Earning Entries","description":"The team's earnings ledger, newest first.","operationId":"list_earning_entries_v2_wallet_earnings_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","maximum":2147483647,"minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResponse_EarningEntryResponse_"}}}},"400":{"description":"Invalid or malformed request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Missing or invalid credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Caller may not access this resource","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Referenced entity does not exist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Resource already exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"503":{"description":"The server is at capacity; retry after Retry-After seconds","headers":{"Retry-After":{"description":"Seconds to wait before retrying","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v2/raw-data":{"post":{"tags":["raw-data"],"summary":"Create Raw Data","description":"Create raw-data inventory, optionally with a completed team upload.\n\nWithout data, complete metadata produces a proposal. Missing description,\ndomain or price keeps it incomplete. An attached asset with no gaps is\ncomplete. group_id defaults to the team's default group. suffix_title\nnumbers a conflicting title; otherwise a duplicate answers 409.","operationId":"create_raw_data_v2_raw_data_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RawDataAssetCreateRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RawDataAssetResponse"}}}},"400":{"description":"Invalid or malformed request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Missing or invalid credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Caller may not access this resource","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Referenced entity does not exist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Resource already exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"503":{"description":"The server is at capacity; retry after Retry-After seconds","headers":{"Retry-After":{"description":"Seconds to wait before retrying","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"get":{"tags":["raw-data"],"summary":"List Raw Data","description":"A bounded page of the team's raw data assets.","operationId":"list_raw_data_v2_raw_data_get","parameters":[{"name":"stage","in":"query","required":false,"schema":{"anyOf":[{"enum":["incomplete","proposed","complete"],"type":"string"},{"type":"null"}],"title":"Stage"}},{"name":"id","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string","format":"uuid"}},{"type":"null"}],"title":"Id"}},{"name":"group_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Group Id"}},{"name":"listing_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Listing Id"}},{"name":"filter","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Filter"}},{"name":"sort","in":"query","required":false,"schema":{"anyOf":[{"enum":["stage","name","type","description","domain","channel","size","estimate","price","exclusivity","private_data","languages","history","lines_of_code","source_files","test_files","commits","contributors","pull_requests","ci_on_prs","coverage"],"type":"string"},{"type":"null"}],"title":"Sort"}},{"name":"sort_direction","in":"query","required":false,"schema":{"enum":["asc","desc"],"type":"string","default":"asc","title":"Sort Direction"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RawDataAssetListResponse"}}}},"400":{"description":"Invalid or malformed request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Missing or invalid credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Caller may not access this resource","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Referenced entity does not exist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Resource already exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"503":{"description":"The server is at capacity; retry after Retry-After seconds","headers":{"Retry-After":{"description":"Seconds to wait before retrying","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v2/raw-data/{asset_id}":{"get":{"tags":["raw-data"],"summary":"Get Raw Data","description":"One of the caller team's rows, with its data object.","operationId":"get_raw_data_v2_raw_data__asset_id__get","parameters":[{"name":"asset_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Asset Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RawDataAssetResponse"}}}},"400":{"description":"Invalid or malformed request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Missing or invalid credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Caller may not access this resource","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Referenced entity does not exist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Resource already exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"503":{"description":"The server is at capacity; retry after Retry-After seconds","headers":{"Retry-After":{"description":"Seconds to wait before retrying","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"patch":{"tags":["raw-data"],"summary":"Update Raw Data","description":"Edit a row.\n\nOnly the fields sent change; the merged row must still pass every rule,\n``group_id`` moves the row to another of the team's groups, and\n``extra_columns`` replaces the whole map (``{}`` clears it).","operationId":"update_raw_data_v2_raw_data__asset_id__patch","parameters":[{"name":"asset_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Asset Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RawDataAssetUpdateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RawDataAssetResponse"}}}},"400":{"description":"Invalid or malformed request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Missing or invalid credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Caller may not access this resource","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Referenced entity does not exist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Resource already exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"503":{"description":"The server is at capacity; retry after Retry-After seconds","headers":{"Retry-After":{"description":"Seconds to wait before retrying","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"delete":{"tags":["raw-data"],"summary":"Delete Raw Data","description":"Soft-delete one of the caller team's rows; its title becomes reusable.\n\nA row with its archive attached answers 409 until the data object is detached.","operationId":"delete_raw_data_v2_raw_data__asset_id__delete","parameters":[{"name":"asset_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Asset Id"}}],"responses":{"204":{"description":"Successful Response"},"400":{"description":"Invalid or malformed request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Missing or invalid credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Caller may not access this resource","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Referenced entity does not exist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Resource already exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"503":{"description":"The server is at capacity; retry after Retry-After seconds","headers":{"Retry-After":{"description":"Seconds to wait before retrying","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v2/raw-data/{asset_id}/data":{"post":{"tags":["raw-data"],"summary":"Attach Raw Data","description":"Attach a completed team upload. Detach an existing data object before replacing it.","operationId":"attach_raw_data_v2_raw_data__asset_id__data_post","parameters":[{"name":"asset_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Asset Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetUploadDataRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetDataResponse"}}}},"400":{"description":"Invalid or malformed request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Missing or invalid credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Caller may not access this resource","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Referenced entity does not exist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Resource already exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"503":{"description":"The server is at capacity; retry after Retry-After seconds","headers":{"Retry-After":{"description":"Seconds to wait before retrying","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"delete":{"tags":["raw-data"],"summary":"Detach Raw Data","description":"Detach the data object; its stage is derived from the remaining metadata. An asset without one answers 409.","operationId":"detach_raw_data_v2_raw_data__asset_id__data_delete","parameters":[{"name":"asset_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Asset Id"}}],"responses":{"204":{"description":"Successful Response"},"400":{"description":"Invalid or malformed request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Missing or invalid credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Caller may not access this resource","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Referenced entity does not exist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Resource already exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"503":{"description":"The server is at capacity; retry after Retry-After seconds","headers":{"Retry-After":{"description":"Seconds to wait before retrying","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v2/raw-data/{asset_id}/data/structure":{"get":{"tags":["raw-data"],"summary":"Get Raw Data Structure","description":"The data object's file tree, ready as soon as the reading after attach finishes.\n\nFile and folder names are shown as stored; the contents are never read.\nAn asset without a data object answers 404.","operationId":"get_raw_data_structure_v2_raw_data__asset_id__data_structure_get","parameters":[{"name":"asset_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Asset Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetDataStructureResponse"}}}},"400":{"description":"Invalid or malformed request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Missing or invalid credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Caller may not access this resource","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Referenced entity does not exist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Resource already exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"503":{"description":"The server is at capacity; retry after Retry-After seconds","headers":{"Retry-After":{"description":"Seconds to wait before retrying","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v2/raw-data/{asset_id}/qc/runs":{"post":{"tags":["raw-data"],"summary":"Start Raw Data Qc Run","description":"Run the QC checks for the asset's SKU against its data object.\n\nThe checks read the stored archive and HUD's reading of it, so the data\nobject must be ``archived`` with ``analysis_status`` ``complete``; until\nthen the request answers 409 with what to wait for. A run already in\nprogress is superseded. Results arrive at ``GET /{asset_id}/qc``.","operationId":"start_raw_data_qc_run_v2_raw_data__asset_id__qc_runs_post","parameters":[{"name":"asset_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Asset Id"}}],"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetQcRunStartResponse"}}}},"400":{"description":"Invalid or malformed request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Missing or invalid credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Caller may not access this resource","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Referenced entity does not exist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Resource already exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"503":{"description":"The server is at capacity; retry after Retry-After seconds","headers":{"Retry-After":{"description":"Seconds to wait before retrying","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v2/raw-data/{asset_id}/qc":{"get":{"tags":["raw-data"],"summary":"Get Raw Data Qc","description":"The asset's latest QC run and its checks; ``latest_run`` is null before the first run.","operationId":"get_raw_data_qc_v2_raw_data__asset_id__qc_get","parameters":[{"name":"asset_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Asset Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetQcReportResponse"}}}},"400":{"description":"Invalid or malformed request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Missing or invalid credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Caller may not access this resource","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Referenced entity does not exist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Resource already exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"503":{"description":"The server is at capacity; retry after Retry-After seconds","headers":{"Retry-After":{"description":"Seconds to wait before retrying","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v2/tasks/import":{"post":{"tags":["tasks"],"summary":"Import Tasks","description":"Import the live tasks of one taskset, or the named tasks, as one asset per task version.","operationId":"import_tasks_v2_tasks_import_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskAssetImportRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskAssetImportResponse"}}}},"400":{"description":"Invalid or malformed request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Missing or invalid credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Caller may not access this resource","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Referenced entity does not exist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Resource already exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"503":{"description":"The server is at capacity; retry after Retry-After seconds","headers":{"Retry-After":{"description":"Seconds to wait before retrying","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v2/tasks/refresh-qc":{"get":{"tags":["tasks"],"summary":"Read Task Qc Refresh","description":"The team's task QC refresh in flight or its last one, and when QC was last refreshed in full.","operationId":"read_task_qc_refresh_v2_tasks_refresh_qc_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskQcRefreshStateResponse"}}}},"400":{"description":"Invalid or malformed request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Missing or invalid credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Caller may not access this resource","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Referenced entity does not exist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Resource already exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"503":{"description":"The server is at capacity; retry after Retry-After seconds","headers":{"Retry-After":{"description":"Seconds to wait before retrying","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"post":{"tags":["tasks"],"summary":"Refresh Task Qc","description":"Refresh the QC metadata of every task asset of the team from the platform.\n\nThe refresh runs in the background and rewrites each task's ``task.qc``\nblock and ``has_*`` facts (model runs per model, QA agent results,\nenvironment) with ``qc_refreshed_at``; poll ``GET /v2/tasks/refresh-qc``\nfor progress. One refresh per team runs at a time: a request while one\nis queued or running answers with that one.","operationId":"refresh_task_qc_v2_tasks_refresh_qc_post","responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskQcRefreshStateResponse"}}}},"400":{"description":"Invalid or malformed request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Missing or invalid credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Caller may not access this resource","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Referenced entity does not exist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Resource already exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"503":{"description":"The server is at capacity; retry after Retry-After seconds","headers":{"Retry-After":{"description":"Seconds to wait before retrying","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v2/tasks/qc-facets":{"get":{"tags":["tasks"],"summary":"Read Task Qc Facets","description":"The model names and QA agent keys present in the team's task QC metadata, for the `ran_on_model` and `qa_agent` filters.","operationId":"read_task_qc_facets_v2_tasks_qc_facets_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskQcFacetsResponse"}}}},"400":{"description":"Invalid or malformed request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Missing or invalid credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Caller may not access this resource","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Referenced entity does not exist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Resource already exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"503":{"description":"The server is at capacity; retry after Retry-After seconds","headers":{"Retry-After":{"description":"Seconds to wait before retrying","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v2/tasks/{asset_id}":{"patch":{"tags":["tasks"],"summary":"Update Task Asset","description":"Edit a task asset's shared columns or its task type.\n\nOnly the fields sent change; the merged row must still pass every rule.\nA blank description, domain or price keeps the asset ``incomplete``; with\nall three filled it is ``complete``. ``task_type`` changes the task's\nclassification (coding, finance, legal, general) and never affects the stage.","operationId":"update_task_asset_v2_tasks__asset_id__patch","parameters":[{"name":"asset_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Asset Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskAssetUpdateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskAssetResponse"}}}},"400":{"description":"Invalid or malformed request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Missing or invalid credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Caller may not access this resource","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Referenced entity does not exist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Resource already exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"503":{"description":"The server is at capacity; retry after Retry-After seconds","headers":{"Retry-After":{"description":"Seconds to wait before retrying","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"get":{"tags":["tasks"],"summary":"Get Task Asset","description":"One imported task version and its inventory metadata.","operationId":"get_task_asset_v2_tasks__asset_id__get","parameters":[{"name":"asset_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Asset Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskAssetResponse"}}}},"400":{"description":"Invalid or malformed request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Missing or invalid credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Caller may not access this resource","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Referenced entity does not exist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Resource already exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"503":{"description":"The server is at capacity; retry after Retry-After seconds","headers":{"Retry-After":{"description":"Seconds to wait before retrying","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v2/tasks":{"get":{"tags":["tasks"],"summary":"List Task Assets","description":"A bounded page of the team's imported task versions.","operationId":"list_task_assets_v2_tasks_get","parameters":[{"name":"stage","in":"query","required":false,"schema":{"anyOf":[{"enum":["incomplete","complete"],"type":"string"},{"type":"null"}],"title":"Stage"}},{"name":"id","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string","format":"uuid"}},{"type":"null"}],"title":"Id"}},{"name":"group_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Group Id"}},{"name":"listing_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Listing Id"}},{"name":"filter","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Filter"}},{"name":"sort","in":"query","required":false,"schema":{"anyOf":[{"enum":["stage","name","type","description","domain","channel","size","estimate","price","exclusivity","private_data","languages","history","lines_of_code","source_files","test_files","commits","contributors","pull_requests","ci_on_prs","coverage"],"type":"string"},{"type":"null"}],"title":"Sort"}},{"name":"sort_direction","in":"query","required":false,"schema":{"enum":["asc","desc"],"type":"string","default":"asc","title":"Sort Direction"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskAssetListResponse"}}}},"400":{"description":"Invalid or malformed request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Missing or invalid credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Caller may not access this resource","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Referenced entity does not exist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Resource already exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"503":{"description":"The server is at capacity; retry after Retry-After seconds","headers":{"Retry-After":{"description":"Seconds to wait before retrying","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}}},"components":{"schemas":{"AppliedTag":{"properties":{"slug":{"type":"string","title":"Slug"},"source":{"type":"string","enum":["vendor","admin","auto"],"title":"Source"},"category":{"type":"string","title":"Category","default":"sku"}},"type":"object","required":["slug","source"],"title":"AppliedTag","description":"One tag application on an asset, with its source and vocabulary category."},"AssetDataResponse":{"properties":{"asset_id":{"type":"string","format":"uuid","title":"Asset Id"},"channel":{"type":"string","enum":["github","gitlab","bitbucket","zip","hud_attach"],"title":"Channel"},"repo_full_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Repo Full Name"},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url"},"manifest_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Manifest Url"},"registry_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Registry Id"},"taskset_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Taskset Id"},"archive_status":{"type":"string","enum":["pending","archived","failed"],"title":"Archive Status"},"archive_error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Archive Error"},"archive_bytes":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Archive Bytes"},"commit_sha":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Commit Sha"},"analysis_status":{"type":"string","enum":["pending","running","complete","failed"],"title":"Analysis Status"},"analysis_error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Analysis Error"},"analyzed_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Analyzed At"},"attached_at":{"type":"string","format":"date-time","title":"Attached At"},"updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updated At"}},"type":"object","required":["asset_id","channel","archive_status","analysis_status","attached_at"],"title":"AssetDataResponse","description":"The attached data object, how far its archive got, and how far HUD's reading of it got.\n\n``url`` and ``manifest_url`` echo the vendor's own upload locators; the\narchived copy HUD keeps is not exposed. ``archive_status`` is ``archived``\nat once for uploads and moves from ``pending`` for forge repositories.\n``analysis_status`` is HUD reading the archive to fill the SKU's derived\nmetrics; while it is ``pending`` or ``running`` the asset is being\nprocessed and ``missing`` may still shrink. A ``hud_attach`` object names a\nplatform environment (``registry_id``) or taskset (``taskset_id``) and has\nno locator."},"AssetDataStructureResponse":{"properties":{"analysis_status":{"type":"string","enum":["pending","running","complete","failed"],"title":"Analysis Status"},"roots":{"anyOf":[{"items":{"$ref":"#/components/schemas/AssetStructureNode"},"type":"array"},{"type":"null"}],"title":"Roots"},"max_depth":{"type":"integer","title":"Max Depth","description":"Levels the tree holds; the roots are level 1."}},"type":"object","required":["analysis_status","max_depth"],"title":"AssetDataStructureResponse","description":"The data object's file tree, as HUD's reading of the archive left it.\n\nThe tree holds ``max_depth`` levels counting the roots as the first,\nwithout build output, dependency or version-control folders. A folder on\nthe last level never carries ``children``, even when it holds files.\n``roots`` is null until a reading has produced a tree; poll while\n``analysis_status`` is ``pending`` or ``running``."},"AssetForgeDataRequest":{"properties":{"channel":{"type":"string","enum":["github","gitlab","bitbucket"],"title":"Channel"},"repo_full_name":{"type":"string","maxLength":300,"minLength":3,"title":"Repo Full Name"}},"additionalProperties":false,"type":"object","required":["channel","repo_full_name"],"title":"AssetForgeDataRequest","description":"A repository the caller can reach through their GitHub, GitLab or Bitbucket connection."},"AssetGroupCount":{"properties":{"group_id":{"type":"string","format":"uuid","title":"Group Id"},"total":{"type":"integer","title":"Total"},"attachable":{"type":"integer","title":"Attachable"}},"type":"object","required":["group_id","total","attachable"],"title":"AssetGroupCount","description":"How many assets match the list filters in one group.\n\nIndependent of ``limit``, ``offset``, and ``group_id``: paging a group\ndoes not change these counts. ``attachable`` is how many of them can\nbe attached to a listing: a listable SKU with a data object, and not\nalready on the list request's ``attach_to`` listing."},"AssetGroupCreateRequest":{"properties":{"name":{"type":"string","maxLength":200,"minLength":1,"title":"Name"}},"additionalProperties":false,"type":"object","required":["name"],"title":"AssetGroupCreateRequest"},"AssetGroupListResponse":{"properties":{"groups":{"items":{"$ref":"#/components/schemas/AssetGroupResponse"},"type":"array","title":"Groups"}},"type":"object","required":["groups"],"title":"AssetGroupListResponse"},"AssetGroupResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","title":"Name"},"is_default":{"type":"boolean","title":"Is Default"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updated At"}},"type":"object","required":["id","name","is_default","created_at"],"title":"AssetGroupResponse"},"AssetGroupUpdateRequest":{"properties":{"name":{"type":"string","maxLength":200,"minLength":1,"title":"Name"}},"additionalProperties":false,"type":"object","required":["name"],"title":"AssetGroupUpdateRequest"},"AssetLatestEstimation":{"properties":{"asset_id":{"type":"string","format":"uuid","title":"Asset Id"},"estimation":{"$ref":"#/components/schemas/EstimationResponse"}},"type":"object","required":["asset_id","estimation"],"title":"AssetLatestEstimation","description":"The latest estimation of an inventory asset's data."},"AssetLatestEstimationsResponse":{"properties":{"estimations":{"items":{"$ref":"#/components/schemas/AssetLatestEstimation"},"type":"array","title":"Estimations"}},"type":"object","required":["estimations"],"title":"AssetLatestEstimationsResponse","description":"One entry per requested asset whose data has an estimation."},"AssetListResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/AssetSummary"},"type":"array","title":"Items"},"total":{"type":"integer","title":"Total","default":0},"limit":{"type":"integer","title":"Limit","default":50},"offset":{"type":"integer","title":"Offset","default":0},"groups":{"items":{"$ref":"#/components/schemas/AssetGroupCount"},"type":"array","title":"Groups"},"skus":{"items":{"$ref":"#/components/schemas/AssetSkuCount"},"type":"array","title":"Skus"}},"type":"object","required":["items"],"title":"AssetListResponse","description":"A bounded inventory page and filtered counts, independent of pagination.\n\nGroup counts ignore group_id; SKU counts also ignore sku. Window responses\ncontain counts only for the groups included in that window."},"AssetListingMembership":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"title":{"type":"string","title":"Title"}},"type":"object","required":["id","title"],"title":"AssetListingMembership","description":"A listing this asset is composed into."},"AssetQcReportResponse":{"properties":{"asset_id":{"type":"string","format":"uuid","title":"Asset Id"},"latest_run":{"anyOf":[{"$ref":"#/components/schemas/AssetQcRunReport"},{"type":"null"}]}},"type":"object","required":["asset_id","latest_run"],"title":"AssetQcReportResponse","description":"The QC state of one inventory asset: its latest run, if any."},"AssetQcRunReport":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"run_number":{"type":"integer","title":"Run Number"},"status":{"type":"string","title":"Status"},"mandatory_passed":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Mandatory Passed"},"review_feedback":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Review Feedback"},"error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error"},"triggered_by":{"type":"string","title":"Triggered By"},"charge_total":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Charge Total"},"started_at":{"type":"string","format":"date-time","title":"Started At"},"completed_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Completed At"},"checks":{"items":{"$ref":"#/components/schemas/QcCheckRunReport"},"type":"array","title":"Checks"},"task_summaries":{"items":{"$ref":"#/components/schemas/QcTaskCheckSummary"},"type":"array","title":"Task Summaries"},"passed":{"type":"boolean","title":"Passed"}},"type":"object","required":["id","run_number","status","mandatory_passed","review_feedback","error","triggered_by","charge_total","started_at","completed_at","checks","passed"],"title":"AssetQcRunReport","description":"One inventory asset's QC run.\n\n``passed`` is the badge rule: the run completed and every verdict-bearing\ncheck passed, none failed, errored or was skipped. False while running."},"AssetQcRunStartResponse":{"properties":{"status":{"type":"string","title":"Status"},"asset_id":{"type":"string","format":"uuid","title":"Asset Id"},"run_id":{"type":"string","format":"uuid","title":"Run Id"},"run_number":{"type":"integer","title":"Run Number"}},"type":"object","required":["status","asset_id","run_id","run_number"],"title":"AssetQcRunStartResponse"},"AssetResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"listable":{"type":"boolean","title":"Listable"},"group_id":{"type":"string","format":"uuid","title":"Group Id"},"title":{"type":"string","title":"Title"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"domain_tags":{"items":{"type":"string"},"type":"array","title":"Domain Tags"},"other_domain":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Other Domain"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"},"price_usd":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Price Usd"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updated At"},"data":{"anyOf":[{"$ref":"#/components/schemas/AssetDataResponse"},{"type":"null"}]},"listings":{"items":{"$ref":"#/components/schemas/AssetListingMembership"},"type":"array","title":"Listings"},"missing":{"items":{"type":"string"},"type":"array","title":"Missing"},"deprecation":{"anyOf":[{"$ref":"#/components/schemas/SkuDeprecationResponse"},{"type":"null"}]},"sku":{"type":"string","title":"Sku"},"stage":{"type":"string","enum":["incomplete","proposed","complete"],"title":"Stage"},"harbor":{"anyOf":[{"$ref":"#/components/schemas/HarborMetadataResponse"},{"type":"null"}]},"environment":{"anyOf":[{"$ref":"#/components/schemas/EnvironmentMetadataResponse"},{"type":"null"}]},"taskset":{"anyOf":[{"$ref":"#/components/schemas/TasksetMetadataResponse"},{"type":"null"}]},"raw_data":{"anyOf":[{"$ref":"#/components/schemas/RawDataMetadataResponse"},{"type":"null"}]},"task":{"anyOf":[{"$ref":"#/components/schemas/TaskMetadataResponse"},{"type":"null"}]}},"type":"object","required":["id","listable","group_id","title","domain_tags","created_at","sku","stage"],"title":"AssetResponse","description":"An asset with typed metadata, used by listing composition and internal presenters."},"AssetSkuCount":{"properties":{"sku":{"type":"string","title":"Sku"},"total":{"type":"integer","title":"Total"}},"type":"object","required":["sku","total"],"title":"AssetSkuCount","description":"How many assets of one SKU match the list filters, whatever ``sku`` asks for.\n\nKeyed by the catalog SKU: Raw data counts its rows under both stored slugs.\nIndependent of the page, the window, and ``group_id``."},"AssetStructureNode":{"properties":{"name":{"type":"string","title":"Name"},"kind":{"type":"string","enum":["folder","file"],"title":"Kind"},"children":{"anyOf":[{"items":{"$ref":"#/components/schemas/AssetStructureNode"},"type":"array"},{"type":"null"}],"title":"Children"}},"type":"object","required":["name","kind"],"title":"AssetStructureNode","description":"A folder or file in the data object's tree; ``children`` only on folders that have some."},"AssetSummary":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"listable":{"type":"boolean","title":"Listable"},"group_id":{"type":"string","format":"uuid","title":"Group Id"},"title":{"type":"string","title":"Title"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"domain_tags":{"items":{"type":"string"},"type":"array","title":"Domain Tags"},"other_domain":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Other Domain"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"},"price_usd":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Price Usd"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updated At"},"data":{"anyOf":[{"$ref":"#/components/schemas/AssetDataResponse"},{"type":"null"}]},"listings":{"items":{"$ref":"#/components/schemas/AssetListingMembership"},"type":"array","title":"Listings"},"missing":{"items":{"type":"string"},"type":"array","title":"Missing"},"deprecation":{"anyOf":[{"$ref":"#/components/schemas/SkuDeprecationResponse"},{"type":"null"}]},"sku":{"type":"string","title":"Sku"},"stage":{"type":"string","enum":["incomplete","proposed","complete"],"title":"Stage"},"harbor":{"anyOf":[{"$ref":"#/components/schemas/HarborMetadataResponse"},{"type":"null"}]},"environment":{"anyOf":[{"$ref":"#/components/schemas/EnvironmentMetadataResponse"},{"type":"null"}]},"taskset":{"anyOf":[{"$ref":"#/components/schemas/TasksetMetadataResponse"},{"type":"null"}]}},"type":"object","required":["id","listable","group_id","title","domain_tags","created_at","sku","stage"],"title":"AssetSummary","description":"A cross-SKU inventory record; typed metadata is read through the SKU API."},"AssetTypeChannelResponse":{"properties":{"channel":{"type":"string","title":"Channel"},"enabled":{"type":"boolean","title":"Enabled"}},"type":"object","required":["channel","enabled"],"title":"AssetTypeChannelResponse","description":"One way data may be attached to this SKU's assets and whether it is open right now."},"AssetTypeDetailResponse":{"properties":{"slug":{"type":"string","title":"Slug"},"label":{"type":"string","title":"Label"},"is_enabled":{"type":"boolean","title":"Is Enabled"},"supports_proposals":{"type":"boolean","title":"Supports Proposals"},"deprecation":{"anyOf":[{"$ref":"#/components/schemas/SkuDeprecationResponse"},{"type":"null"}]},"channels":{"items":{"$ref":"#/components/schemas/AssetTypeChannelResponse"},"type":"array","title":"Channels"},"fields":{"items":{"$ref":"#/components/schemas/AssetTypeFieldResponse"},"type":"array","title":"Fields"}},"type":"object","required":["slug","label","is_enabled","supports_proposals","channels","fields"],"title":"AssetTypeDetailResponse","description":"The catalog row plus its ingestion channels and metadata field contract."},"AssetTypeFieldResponse":{"properties":{"name":{"type":"string","title":"Name"},"kind":{"type":"string","title":"Kind"},"source":{"type":"string","title":"Source"},"required":{"type":"boolean","title":"Required"},"derived_from":{"additionalProperties":{"items":{"type":"string"},"type":"array"},"type":"object","title":"Derived From"}},"type":"object","required":["name","kind","source","required","derived_from"],"title":"AssetTypeFieldResponse","description":"One metadata field of the SKU: who fills it and, per channel, what HUD reads it from."},"AssetTypeListResponse":{"properties":{"asset_types":{"items":{"$ref":"#/components/schemas/AssetTypeResponse"},"type":"array","title":"Asset Types"},"deprecated_asset_types":{"items":{"$ref":"#/components/schemas/DeprecatedAssetTypeResponse"},"type":"array","title":"Deprecated Asset Types"}},"type":"object","required":["asset_types","deprecated_asset_types"],"title":"AssetTypeListResponse"},"AssetTypeResponse":{"properties":{"slug":{"type":"string","title":"Slug"},"label":{"type":"string","title":"Label"},"is_enabled":{"type":"boolean","title":"Is Enabled"},"supports_proposals":{"type":"boolean","title":"Supports Proposals"},"deprecation":{"anyOf":[{"$ref":"#/components/schemas/SkuDeprecationResponse"},{"type":"null"}]}},"type":"object","required":["slug","label","is_enabled","supports_proposals"],"title":"AssetTypeResponse","description":"One catalog row; ``deprecation`` is set once the SKU is deprecated."},"AssetUploadDataRequest":{"properties":{"channel":{"type":"string","const":"zip","title":"Channel"},"url":{"type":"string","maxLength":2000,"minLength":11,"title":"Url"},"manifest_url":{"anyOf":[{"type":"string","maxLength":2000,"minLength":11},{"type":"null"}],"title":"Manifest Url"}},"additionalProperties":false,"type":"object","required":["channel","url"],"title":"AssetUploadDataRequest","description":"A completed team upload, optionally with its codebase manifest."},"AssetWindowGroup":{"properties":{"group_id":{"type":"string","format":"uuid","title":"Group Id"},"name":{"type":"string","title":"Name"},"is_default":{"type":"boolean","title":"Is Default"},"total":{"type":"integer","title":"Total"},"attachable":{"type":"integer","title":"Attachable"}},"type":"object","required":["group_id","name","is_default","total","attachable"],"title":"AssetWindowGroup","description":"One group on an inventory window, with its filtered count.\n\n``total`` ignores the rows included in this response. A later page of the\nsame group does not change it. ``attachable`` counts the ones that can be\nattached to a listing, as on ``AssetGroupCount``."},"AssetWindowResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/AssetSummary"},"type":"array","title":"Items"},"total":{"type":"integer","title":"Total","default":0},"limit":{"type":"integer","title":"Limit","default":50},"offset":{"type":"integer","title":"Offset","default":0},"groups":{"items":{"$ref":"#/components/schemas/AssetGroupCount"},"type":"array","title":"Groups"},"skus":{"items":{"$ref":"#/components/schemas/AssetSkuCount"},"type":"array","title":"Skus"},"window":{"items":{"$ref":"#/components/schemas/AssetWindowGroup"},"type":"array","title":"Window"},"has_more_groups":{"type":"boolean","title":"Has More Groups","default":false},"remaining_groups":{"type":"integer","title":"Remaining Groups","default":0}},"type":"object","required":["items"],"title":"AssetWindowResponse","description":"A group window, with continuation and counts for the visible groups."},"BidAttachmentResponse":{"properties":{"name":{"type":"string","title":"Name"},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url"},"storage_url":{"type":"string","title":"Storage Url"},"size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Size"},"content_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Content Type"}},"type":"object","required":["name","storage_url"],"title":"BidAttachmentResponse","description":"Bid attachment with separate download and durable storage URLs."},"BitbucketSource":{"properties":{"channel":{"type":"string","const":"bitbucket","title":"Channel"},"repo_full_name":{"type":"string","maxLength":300,"minLength":3,"title":"Repo Full Name"}},"additionalProperties":false,"type":"object","required":["channel","repo_full_name"],"title":"BitbucketSource","description":"A Bitbucket repository, named ``workspace/repo_slug``."},"BrowseListingsResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/ListingResponse"},"type":"array","title":"Items"},"limit":{"type":"integer","title":"Limit"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Cursor"},"counts":{"anyOf":[{"$ref":"#/components/schemas/ListingBrowseCounts"},{"type":"null"}]},"facets":{"anyOf":[{"$ref":"#/components/schemas/ListingBrowseFacets"},{"type":"null"}]},"locked":{"type":"boolean","title":"Locked","description":"True when the caller's team is behind the browse gate: this first page of the unfiltered catalog is all it can read, and next_cursor stays null even when more listings exist.","default":false}},"type":"object","required":["items","limit"],"title":"BrowseListingsResponse","description":"One keyset page of the catalog.\n\n``counts`` and ``facets`` are computed for the first page only (no\ncursor) and null on subsequent pages; ``next_cursor`` is null when the\npage is the last one, or when ``locked`` is true."},"BrowseOpportunitiesResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/OpportunityResponse"},"type":"array","title":"Items"},"limit":{"type":"integer","title":"Limit"},"offset":{"type":"integer","title":"Offset"},"counts":{"$ref":"#/components/schemas/OpportunityBrowseCounts"},"facets":{"$ref":"#/components/schemas/OpportunityBrowseFacets"}},"type":"object","required":["items","limit","offset","counts","facets"],"title":"BrowseOpportunitiesResponse","description":"Vendor explore page — filtered/sorted/paged with text-universe facets."},"CodebaseAssetBatchRequest":{"properties":{"items":{"items":{"$ref":"#/components/schemas/CodebaseAssetInput"},"type":"array","maxItems":500,"minItems":1,"title":"Items"}},"additionalProperties":false,"type":"object","required":["items"],"title":"CodebaseAssetBatchRequest"},"CodebaseAssetBatchResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/CodebaseAssetResponse"},"type":"array","title":"Items"}},"type":"object","required":["items"],"title":"CodebaseAssetBatchResponse","description":"The created rows, in request order."},"CodebaseAssetCreateRequest":{"properties":{"group_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Group Id"},"title":{"type":"string","maxLength":500,"minLength":1,"title":"Title"},"description":{"anyOf":[{"type":"string","maxLength":20000,"minLength":1},{"type":"null"}],"title":"Description"},"domain_tags":{"items":{"type":"string","maxLength":100,"minLength":1},"type":"array","maxItems":5,"title":"Domain Tags"},"other_domain":{"anyOf":[{"type":"string","maxLength":100,"minLength":1},{"type":"null"}],"title":"Other Domain"},"notes":{"anyOf":[{"type":"string","maxLength":5000,"minLength":1},{"type":"null"}],"title":"Notes"},"exclusivity":{"type":"string","enum":["available","not_available","unconfirmed"],"title":"Exclusivity"},"price_usd":{"anyOf":[{"type":"number","maximum":999999999999.99,"exclusiveMinimum":0.0},{"type":"null"}],"title":"Price Usd"},"history_start":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"History Start"},"history_end":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"History End"},"lines_of_code":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Lines Of Code"},"commits":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Commits"},"pull_requests":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Pull Requests"},"merged_prs":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Merged Prs"},"contributors":{"anyOf":[{"type":"integer","minimum":1.0},{"type":"null"}],"title":"Contributors"},"source_files":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Source Files"},"test_files":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Test Files"},"primary_languages":{"anyOf":[{"items":{"type":"string","maxLength":100,"minLength":1},"type":"array","maxItems":10,"minItems":1},{"type":"null"}],"title":"Primary Languages"},"test_coverage_pct":{"anyOf":[{"type":"number","maximum":100.0,"minimum":0.0},{"type":"null"}],"title":"Test Coverage Pct"},"ci_on_prs":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Ci On Prs"},"private_data":{"anyOf":[{"type":"string","enum":["confirmed","unconfirmed"]},{"type":"null"}],"title":"Private Data"},"extra_columns":{"additionalProperties":{"anyOf":[{"type":"string"},{"type":"integer"},{"type":"number"},{"type":"boolean"},{"type":"null"}]},"type":"object","title":"Extra Columns"},"data":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/AssetForgeDataRequest"},{"$ref":"#/components/schemas/AssetUploadDataRequest"}],"discriminator":{"propertyName":"channel","mapping":{"bitbucket":"#/components/schemas/AssetForgeDataRequest","github":"#/components/schemas/AssetForgeDataRequest","gitlab":"#/components/schemas/AssetForgeDataRequest","zip":"#/components/schemas/AssetUploadDataRequest"}}},{"type":"null"}],"title":"Data"},"suffix_title":{"type":"boolean","title":"Suffix Title","default":false}},"additionalProperties":false,"type":"object","required":["title","exclusivity"],"title":"CodebaseAssetCreateRequest","description":"One codebase as sent to ``POST /v2/codebases``, optionally with its data object.\n\nWith ``data`` (a direct ingestion) the metrics the vendor omits are read\noff the repository or the manifest where HUD can; whatever stays unknown\nleaves the asset ``incomplete``."},"CodebaseAssetInput":{"properties":{"group_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Group Id"},"title":{"type":"string","maxLength":500,"minLength":1,"title":"Title"},"description":{"anyOf":[{"type":"string","maxLength":20000,"minLength":1},{"type":"null"}],"title":"Description"},"domain_tags":{"items":{"type":"string","maxLength":100,"minLength":1},"type":"array","maxItems":5,"title":"Domain Tags"},"other_domain":{"anyOf":[{"type":"string","maxLength":100,"minLength":1},{"type":"null"}],"title":"Other Domain"},"notes":{"anyOf":[{"type":"string","maxLength":5000,"minLength":1},{"type":"null"}],"title":"Notes"},"exclusivity":{"type":"string","enum":["available","not_available","unconfirmed"],"title":"Exclusivity"},"price_usd":{"anyOf":[{"type":"number","maximum":999999999999.99,"exclusiveMinimum":0.0},{"type":"null"}],"title":"Price Usd"},"history_start":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"History Start"},"history_end":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"History End"},"lines_of_code":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Lines Of Code"},"commits":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Commits"},"pull_requests":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Pull Requests"},"merged_prs":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Merged Prs"},"contributors":{"anyOf":[{"type":"integer","minimum":1.0},{"type":"null"}],"title":"Contributors"},"source_files":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Source Files"},"test_files":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Test Files"},"primary_languages":{"anyOf":[{"items":{"type":"string","maxLength":100,"minLength":1},"type":"array","maxItems":10,"minItems":1},{"type":"null"}],"title":"Primary Languages"},"test_coverage_pct":{"anyOf":[{"type":"number","maximum":100.0,"minimum":0.0},{"type":"null"}],"title":"Test Coverage Pct"},"ci_on_prs":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Ci On Prs"},"private_data":{"anyOf":[{"type":"string","enum":["confirmed","unconfirmed"]},{"type":"null"}],"title":"Private Data"},"extra_columns":{"additionalProperties":{"anyOf":[{"type":"string"},{"type":"integer"},{"type":"number"},{"type":"boolean"},{"type":"null"}]},"type":"object","title":"Extra Columns"}},"additionalProperties":false,"type":"object","required":["title","exclusivity"],"title":"CodebaseAssetInput","description":"One repository as the vendor describes it.\n\n``group_id`` names one of the team's asset groups (``GET\n/v2/asset-groups``); omitted, the row lands in the team's default\ngroup. ``domain_tags`` are labels from the domain catalog\n(``GET /v2/domains``); ``other_domain`` names an industry the catalog\nlacks; either one fills the domain. ``private_data`` is the vendor's\nattestation that the code is not public: ``confirmed``, or\n``unconfirmed`` while the attestation is still outstanding."},"CodebaseAssetListResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/CodebaseAssetResponse"},"type":"array","title":"Items"},"total":{"type":"integer","title":"Total"},"limit":{"type":"integer","title":"Limit"},"offset":{"type":"integer","title":"Offset"}},"type":"object","required":["items","total","limit","offset"],"title":"CodebaseAssetListResponse","description":"A bounded page of Codebase assets."},"CodebaseAssetResponse":{"properties":{"sku":{"type":"string","const":"codebase","title":"Sku"},"id":{"type":"string","format":"uuid","title":"Id"},"group_id":{"type":"string","format":"uuid","title":"Group Id"},"stage":{"type":"string","enum":["incomplete","proposed","complete"],"title":"Stage"},"data":{"anyOf":[{"$ref":"#/components/schemas/AssetDataResponse"},{"type":"null"}]},"title":{"type":"string","title":"Title"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"domain_tags":{"items":{"type":"string"},"type":"array","title":"Domain Tags"},"other_domain":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Other Domain"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"},"exclusivity":{"type":"string","enum":["available","not_available","unconfirmed"],"title":"Exclusivity"},"price_usd":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Price Usd"},"history_start":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"History Start"},"history_end":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"History End"},"lines_of_code":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Lines Of Code"},"commits":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Commits"},"pull_requests":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Pull Requests"},"merged_prs":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Merged Prs"},"contributors":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Contributors"},"source_files":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Source Files"},"test_files":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Test Files"},"primary_languages":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Primary Languages"},"test_coverage_pct":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Test Coverage Pct"},"ci_on_prs":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Ci On Prs"},"private_data":{"anyOf":[{"type":"string","enum":["confirmed","unconfirmed"]},{"type":"null"}],"title":"Private Data"},"missing":{"items":{"type":"string"},"type":"array","title":"Missing"},"locked_fields":{"additionalProperties":{"anyOf":[{"type":"string","enum":["github","gitlab","bitbucket","zip","hud_attach"]},{"type":"string","const":"api"}]},"type":"object","title":"Locked Fields"},"extra_columns":{"additionalProperties":{"anyOf":[{"type":"string"},{"type":"integer"},{"type":"number"},{"type":"boolean"},{"type":"null"}]},"type":"object","title":"Extra Columns"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updated At"}},"type":"object","required":["sku","id","group_id","stage","title","domain_tags","exclusivity","created_at"],"title":"CodebaseAssetResponse","description":"A codebase as the vendor sees it: the shared asset columns, the metrics, the stage and data."},"CodebaseAssetUpdateRequest":{"properties":{"group_id":{"type":"string","format":"uuid","title":"Group Id"},"title":{"type":"string","maxLength":500,"minLength":1,"title":"Title"},"description":{"anyOf":[{"type":"string","maxLength":20000,"minLength":1},{"type":"null"}],"title":"Description"},"domain_tags":{"items":{"type":"string","maxLength":100,"minLength":1},"type":"array","maxItems":5,"title":"Domain Tags"},"other_domain":{"anyOf":[{"type":"string","maxLength":100,"minLength":1},{"type":"null"}],"title":"Other Domain"},"notes":{"anyOf":[{"type":"string","maxLength":5000,"minLength":1},{"type":"null"}],"title":"Notes"},"exclusivity":{"type":"string","enum":["available","not_available","unconfirmed"],"title":"Exclusivity"},"price_usd":{"anyOf":[{"type":"number","maximum":999999999999.99,"exclusiveMinimum":0.0},{"type":"null"}],"title":"Price Usd"},"history_start":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"History Start"},"history_end":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"History End"},"lines_of_code":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Lines Of Code"},"commits":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Commits"},"pull_requests":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Pull Requests"},"merged_prs":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Merged Prs"},"contributors":{"anyOf":[{"type":"integer","minimum":1.0},{"type":"null"}],"title":"Contributors"},"source_files":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Source Files"},"test_files":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Test Files"},"primary_languages":{"anyOf":[{"items":{"type":"string","maxLength":100,"minLength":1},"type":"array","maxItems":10,"minItems":1},{"type":"null"}],"title":"Primary Languages"},"test_coverage_pct":{"anyOf":[{"type":"number","maximum":100.0,"minimum":0.0},{"type":"null"}],"title":"Test Coverage Pct"},"ci_on_prs":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Ci On Prs"},"private_data":{"anyOf":[{"type":"string","enum":["confirmed","unconfirmed"]},{"type":"null"}],"title":"Private Data"},"extra_columns":{"additionalProperties":{"anyOf":[{"type":"string"},{"type":"integer"},{"type":"number"},{"type":"boolean"},{"type":"null"}]},"type":"object","title":"Extra Columns"}},"additionalProperties":false,"type":"object","title":"CodebaseAssetUpdateRequest","description":"Partial edit of a row.\n\nOnly fields present in the request change; the merged row must still\nsatisfy every rule of ``CodebaseAssetInput``. ``group_id`` moves the\nrow to another of the team's groups. ``description``, ``other_domain``,\n``notes``, ``price_usd`` and the metrics accept ``null`` to clear, and\n``domain_tags`` ``[]``; ``title``, ``exclusivity`` and ``group_id`` do not."},"CodebaseEstimateResponse":{"properties":{"repo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Repo"},"ref":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ref"},"filename":{"type":"string","title":"Filename"},"saved_bytes":{"type":"integer","title":"Saved Bytes"},"quote_cents":{"type":"integer","title":"Quote Cents"},"quote":{"type":"string","title":"Quote"},"quote_low_cents":{"type":"integer","title":"Quote Low Cents","default":0},"quote_high_cents":{"type":"integer","title":"Quote High Cents","default":0},"quote_low":{"type":"string","title":"Quote Low","default":"$0"},"quote_high":{"type":"string","title":"Quote High","default":"$0"},"private_quote_cents":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Private Quote Cents"},"private_quote_low_cents":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Private Quote Low Cents"},"private_quote_high_cents":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Private Quote High Cents"},"valuation_status":{"type":"string","enum":["estimated","visibility_unavailable"],"title":"Valuation Status","default":"estimated"},"rating":{"type":"string","title":"Rating"},"score":{"type":"number","title":"Score"},"max_score":{"type":"number","title":"Max Score"},"total_loc":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Total Loc","description":"Exact non-blank line count across recognized programming-language files plus JSON, TOML, and YAML in the archived ref; null when the archive scan cannot cover every recognized file."},"languages":{"items":{"type":"string"},"type":"array","title":"Languages"},"language_bytes":{"additionalProperties":{"type":"integer"},"type":"object","title":"Language Bytes","description":"GitHub Linguist byte counts keyed by language."},"repository_size_kb":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Repository Size Kb","description":"GitHub's repository size in KiB."},"repository_created_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Repository Created At"},"repository_pushed_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Repository Pushed At"},"pull_requests_count":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Pull Requests Count"},"open_pull_requests_count":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Open Pull Requests Count"},"merged_pull_requests_count":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Merged Pull Requests Count"},"closed_without_merge_pull_requests_count":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Closed Without Merge Pull Requests Count","description":"Pull requests closed without being merged."},"issues_count":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Issues Count"},"commits_count":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Commits Count"},"contributors_count":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Contributors Count"},"public_findable":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Public Findable"},"coverage_report_found":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Coverage Report Found","description":"Whether the archived ref carries a test coverage report (LCOV or Cobertura); null when no archive was read or its coverage was not analyzed."},"repo_stats":{"anyOf":[{"$ref":"#/components/schemas/RepoStats"},{"type":"null"}],"description":"Canonical repo stats capture backing this estimate: read from the forge for a GitHub estimate, or from the bundled .git of an uploaded archive that carries one."},"request_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Request Id","description":"CTA-request row recorded for this estimator submission (public_codebase_estimator_cta_requests), if persisted."},"highlights":{"items":{"$ref":"#/components/schemas/CodebaseValuationHighlight"},"type":"array","title":"Highlights"}},"type":"object","required":["filename","saved_bytes","quote_cents","quote","rating","score","max_score"],"title":"CodebaseEstimateResponse","description":"A codebase's measurements and quote, with what stands out in its valuation.\n\nThe valuation's axes and readings stay internal; ``highlights`` names the\naxes that stand out."},"CodebaseLanguageListResponse":{"properties":{"languages":{"items":{"$ref":"#/components/schemas/CodebaseLanguageResponse"},"type":"array","title":"Languages"}},"type":"object","required":["languages"],"title":"CodebaseLanguageListResponse"},"CodebaseLanguageResponse":{"properties":{"slug":{"type":"string","title":"Slug"},"name":{"type":"string","title":"Name"},"aliases":{"items":{"type":"string"},"type":"array","title":"Aliases"}},"type":"object","required":["slug","name","aliases"],"title":"CodebaseLanguageResponse","description":"One catalog language: the stored slug, its display name and the accepted aliases."},"CodebaseValuationHighlight":{"properties":{"axis":{"type":"string","enum":["material","difficulty","verifiability","comprehensibility"],"title":"Axis"},"tone":{"type":"string","enum":["strength","weakness"],"title":"Tone"}},"type":"object","required":["axis","tone"],"title":"CodebaseValuationHighlight","description":"An axis that stands out as a strength or a weakness of the codebase."},"ContentTagListResponse":{"properties":{"content_tags":{"items":{"$ref":"#/components/schemas/ContentTagResponse"},"type":"array","title":"Content Tags"}},"type":"object","required":["content_tags"],"title":"ContentTagListResponse"},"ContentTagResponse":{"properties":{"slug":{"type":"string","title":"Slug"},"label":{"type":"string","title":"Label"}},"type":"object","required":["slug","label"],"title":"ContentTagResponse"},"DeprecatedAssetTypeResponse":{"properties":{"slug":{"type":"string","title":"Slug"},"label":{"type":"string","title":"Label"},"is_enabled":{"type":"boolean","title":"Is Enabled"},"deprecation":{"$ref":"#/components/schemas/SkuDeprecationResponse"},"listing_kinds":{"items":{"type":"string"},"type":"array","title":"Listing Kinds"}},"type":"object","required":["slug","label","is_enabled","deprecation","listing_kinds"],"title":"DeprecatedAssetTypeResponse","description":"A deprecated SKU, enabled or not, with the listing kinds it governs."},"DerivedColumnValue":{"properties":{"mean":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Mean"},"rewards":{"items":{"type":"number"},"type":"array","title":"Rewards"},"count":{"type":"integer","title":"Count"}},"type":"object","required":["mean","rewards","count"],"title":"DerivedColumnValue"},"DomainListResponse":{"properties":{"domains":{"items":{"$ref":"#/components/schemas/DomainResponse"},"type":"array","title":"Domains"}},"type":"object","required":["domains"],"title":"DomainListResponse"},"DomainResponse":{"properties":{"slug":{"type":"string","title":"Slug"},"label":{"type":"string","title":"Label"}},"type":"object","required":["slug","label"],"title":"DomainResponse"},"EarningEntryResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"entry_type":{"type":"string","title":"Entry Type"},"amount":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Amount"},"currency":{"type":"string","title":"Currency"},"available_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Available At"},"purchase_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Purchase Id"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","entry_type","amount","currency","created_at"],"title":"EarningEntryResponse"},"EnvironmentAssetMetadata":{"properties":{"build_version":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Build Version"},"built_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Built At"},"capabilities":{"items":{"type":"string"},"type":"array","title":"Capabilities"},"task_count":{"type":"integer","minimum":0.0,"title":"Task Count","default":0}},"additionalProperties":false,"type":"object","title":"EnvironmentAssetMetadata"},"EnvironmentMetadataResponse":{"properties":{"registry_id":{"type":"string","format":"uuid","title":"Registry Id"},"build_version":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Build Version"},"built_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Built At"},"capabilities":{"items":{"type":"string"},"type":"array","title":"Capabilities"},"task_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Task Count"},"extra_columns":{"additionalProperties":{"anyOf":[{"type":"string"},{"type":"integer"},{"type":"number"},{"type":"boolean"},{"type":"null"}]},"type":"object","title":"Extra Columns"}},"type":"object","required":["registry_id","extra_columns"],"title":"EnvironmentMetadataResponse","description":"A HUD environment asset's metadata: the platform environment and what the listing freeze read off it."},"ErrorResponse":{"properties":{"error":{"type":"string","title":"Error"},"source":{"$ref":"#/components/schemas/ErrorSource"},"detail":{"type":"string","title":"Detail"}},"type":"object","required":["error","source","detail"],"title":"ErrorResponse","description":"The uniform `{error, source, detail}` envelope returned for every 4xx/5xx."},"ErrorSource":{"type":"string","enum":["user","platform","provider"],"title":"ErrorSource","description":"Who is at fault for a failure.\n\n``user``: the customer's input, account, environment, or agent code.\n``platform``: HUD infrastructure or a broken platform invariant.\n``provider``: a third-party dependency (cloud runtime, upstream LLM API)."},"EstimationListResponse":{"properties":{"estimations":{"items":{"$ref":"#/components/schemas/EstimationResponse"},"type":"array","title":"Estimations"},"total":{"type":"integer","title":"Total"}},"type":"object","required":["estimations","total"],"title":"EstimationListResponse"},"EstimationResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"sku_slug":{"type":"string","title":"Sku Slug"},"source":{"oneOf":[{"$ref":"#/components/schemas/GitHubSource"},{"$ref":"#/components/schemas/GitLabSource"},{"$ref":"#/components/schemas/BitbucketSource"},{"$ref":"#/components/schemas/UploadSource"}],"title":"Source","discriminator":{"propertyName":"channel","mapping":{"bitbucket":"#/components/schemas/BitbucketSource","github":"#/components/schemas/GitHubSource","gitlab":"#/components/schemas/GitLabSource","zip":"#/components/schemas/UploadSource"}}},"name":{"type":"string","title":"Name","description":"The source as a person names it, e.g. owner/name."},"status":{"type":"string","enum":["pending","estimated","unpriced","failed"],"title":"Status"},"quote_low_cents":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Quote Low Cents"},"quote_high_cents":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Quote High Cents"},"failure_message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Failure Message"},"result":{"anyOf":[{"$ref":"#/components/schemas/CodebaseEstimateResponse"},{"type":"null"}]},"inventory_asset_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Inventory Asset Id"},"created_by":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Created By"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"completed_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Completed At"}},"type":"object","required":["id","sku_slug","source","name","status","created_at"],"title":"EstimationResponse","description":"One estimation: what HUD would pay for ``source`` offered as ``sku_slug``.\n\nA dated receipt: ``completed_at`` is when HUD priced it, and it is never\nrecomputed. ``status`` is ``pending`` until the estimator has run, then\n``estimated`` with the quote band, ``unpriced`` when HUD measured the\nsource but withheld a price (``result`` says why), or ``failed`` with\n``failure_message``. ``result`` is the codebase estimator's output.\n``inventory_asset_id`` is the team's newest inventory asset of the same\nSKU whose data is this source, or null."},"EstimationStatusCounts":{"properties":{"pending":{"type":"integer","title":"Pending","default":0},"estimated":{"type":"integer","title":"Estimated","default":0},"unpriced":{"type":"integer","title":"Unpriced","default":0},"failed":{"type":"integer","title":"Failed","default":0}},"type":"object","title":"EstimationStatusCounts"},"EstimationSummaryResponse":{"properties":{"quote_low_cents":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Quote Low Cents"},"quote_high_cents":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Quote High Cents"},"estimated_sources":{"type":"integer","title":"Estimated Sources"},"bins":{"items":{"$ref":"#/components/schemas/EstimationValueBin"},"type":"array","title":"Bins"},"status_counts":{"$ref":"#/components/schemas/EstimationStatusCounts"}},"type":"object","required":["estimated_sources","bins","status_counts"],"title":"EstimationSummaryResponse","description":"A recap of the team's estimations matching the list filters.\n\n``quote_low_cents`` and ``quote_high_cents`` sum the latest estimated\nquote of each source (SKU and source), so a re-estimated repository counts\nonce; ``estimated_sources`` is how many sources contributed, and ``bins``\ndistributes those quotes. ``status_counts`` counts every matching\nestimation by status."},"EstimationValueBin":{"properties":{"low_cents":{"type":"integer","title":"Low Cents"},"high_cents":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"High Cents"},"count":{"type":"integer","title":"Count"}},"type":"object","required":["low_cents","high_cents","count"],"title":"EstimationValueBin","description":"How many quotes overlap ``low_cents`` up to ``high_cents``, exclusive; the last bin is open."},"ExternalOrigin":{"properties":{"system":{"$ref":"#/components/schemas/ExternalSystem"},"external_id":{"type":"string","title":"External Id"}},"type":"object","required":["system","external_id"],"title":"ExternalOrigin","description":"Where an imported entity comes from: a system and the entity's id in it."},"ExternalSystem":{"type":"string","enum":["harbor"],"title":"ExternalSystem","description":"A system HUD imports environments and runs from."},"FileAssetMetadata":{"properties":{"size_bytes":{"type":"integer","minimum":0.0,"title":"Size Bytes"},"size_display":{"type":"string","title":"Size Display","readOnly":true}},"additionalProperties":false,"type":"object","required":["size_bytes","size_display"],"title":"FileAssetMetadata","description":"Frozen stat of an uploaded file Asset, read from storage (HEAD, never the bytes)."},"GitHubSource":{"properties":{"channel":{"type":"string","const":"github","title":"Channel"},"repo_full_name":{"type":"string","maxLength":300,"minLength":3,"title":"Repo Full Name"}},"additionalProperties":false,"type":"object","required":["channel","repo_full_name"],"title":"GitHubSource","description":"A GitHub repository."},"GitLabSource":{"properties":{"channel":{"type":"string","const":"gitlab","title":"Channel"},"repo_full_name":{"type":"string","maxLength":300,"minLength":3,"title":"Repo Full Name"}},"additionalProperties":false,"type":"object","required":["channel","repo_full_name"],"title":"GitLabSource","description":"A GitLab project; nested groups make the full name longer than ``owner/name``."},"HTTPValidationError":{"title":"HTTPValidationError","type":"object","properties":{"error":{"type":"string","const":"validation_error","title":"Error"},"source":{"type":"string","enum":["user","platform","provider"],"title":"Source"},"detail":{"type":"string","title":"Detail"},"errors":{"type":"array","items":{"$ref":"#/components/schemas/ValidationError"},"title":"Errors"}},"required":["error","source","detail","errors"]},"HarborAssetMetadata":{"properties":{"task_count":{"type":"integer","minimum":0.0,"title":"Task Count"}},"additionalProperties":false,"type":"object","required":["task_count"],"title":"HarborAssetMetadata","description":"Frozen shape of an uploaded Harbor bundle.\n\n``task_count`` is priced (Per Harbor task multiplier), so it is always\nserver-derived from the bundle itself — never taken from the client."},"HarborMetadataResponse":{"properties":{"task_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Task Count"},"extra_columns":{"additionalProperties":{"anyOf":[{"type":"string"},{"type":"integer"},{"type":"number"},{"type":"boolean"},{"type":"null"}]},"type":"object","title":"Extra Columns"}},"type":"object","required":["extra_columns"],"title":"HarborMetadataResponse","description":"A Harbor asset's metadata: the task count the listing freeze read off the bundle, and the freeform columns."},"InventoryTagListResponse":{"properties":{"inventory_tags":{"items":{"$ref":"#/components/schemas/InventoryTagResponse"},"type":"array","title":"Inventory Tags"}},"type":"object","required":["inventory_tags"],"title":"InventoryTagListResponse"},"InventoryTagResponse":{"properties":{"slug":{"type":"string","title":"Slug"},"label":{"type":"string","title":"Label"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"category":{"type":"string","title":"Category"}},"type":"object","required":["slug","label","description","category"],"title":"InventoryTagResponse"},"ListingAssetMetadata":{"properties":{"taskset":{"anyOf":[{"$ref":"#/components/schemas/TasksetAssetMetadata"},{"type":"null"}]},"environment":{"anyOf":[{"$ref":"#/components/schemas/EnvironmentAssetMetadata"},{"type":"null"}]},"repo":{"anyOf":[{"$ref":"#/components/schemas/RepoAssetMetadata"},{"type":"null"}]},"zip":{"anyOf":[{"$ref":"#/components/schemas/ZipAssetMetadata"},{"type":"null"}]},"file":{"anyOf":[{"$ref":"#/components/schemas/FileAssetMetadata"},{"type":"null"}]},"harbor":{"anyOf":[{"$ref":"#/components/schemas/HarborAssetMetadata"},{"type":"null"}]},"robotics":{"anyOf":[{"$ref":"#/components/schemas/RoboticsAssetMetadata"},{"type":"null"}]}},"additionalProperties":false,"type":"object","title":"ListingAssetMetadata","description":"Kind-keyed bag. A row normally carries exactly one kind key."},"ListingAssetResponse":{"properties":{"kind":{"type":"string","enum":["taskset","environment","repo","zip","file","harbor_tasks","robotics_dataset"],"title":"Kind","default":"file"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"taskset_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Taskset Id"},"environment_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Environment Id"},"repo_full_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Repo Full Name"},"repo_forge":{"type":"string","enum":["github","gitlab","bitbucket"],"title":"Repo Forge","default":"github"},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url"},"hf_dataset_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hf Dataset Id"},"hf_revision":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hf Revision"},"source_uri":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Uri"},"robotics_format":{"anyOf":[{"type":"string","enum":["lerobot_v3","lerobot_v2","ego_exo","other"]},{"type":"null"}],"title":"Robotics Format"},"content_tag":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Content Tag"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"},"redacted_paths":{"items":{"type":"string"},"type":"array","title":"Redacted Paths"},"manifest_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Manifest Url"},"tag_slugs":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Tag Slugs"},"metadata":{"$ref":"#/components/schemas/ListingAssetMetadata"},"applied_tags":{"items":{"$ref":"#/components/schemas/AppliedTag"},"type":"array","title":"Applied Tags"},"id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Id"},"inventory_asset_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Inventory Asset Id"},"download_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Download Url"},"structure_snapshot":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Structure Snapshot"},"structure_max_depth":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Structure Max Depth"},"repo_stats_summary":{"anyOf":[{"$ref":"#/components/schemas/RepoStatsSummary"},{"type":"null"}]},"freshness_status":{"type":"string","enum":["unknown","fresh","stale"],"title":"Freshness Status","default":"unknown"},"freshness_checked_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Freshness Checked At"},"freshness_note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Freshness Note"},"source_role_arn":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Role Arn"},"source_external_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source External Id"},"ingest_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ingest Status"},"ingest_error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ingest Error"},"ingest_copied_bytes":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Ingest Copied Bytes"},"ingest_total_bytes":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Ingest Total Bytes"}},"type":"object","title":"ListingAssetResponse","description":"Asset row on listing responses, with the stored locator and a presigned link.\n\n``url`` is the stored ``storage://`` locator (what an edit writes back);\n``download_url`` is a short-lived presigned link. Both are stripped on\nbuyer-facing responses before purchase to prevent free downloads.\n\nBrowse catalog cards reuse this shape with the buyer redaction and no\n``structure_snapshot``."},"ListingAssetsAttachRequest":{"properties":{"asset_ids":{"items":{"type":"string","format":"uuid"},"type":"array","maxItems":1000,"title":"Asset Ids"},"matches":{"items":{"$ref":"#/components/schemas/ListingAssetsMatch"},"type":"array","maxItems":20,"title":"Matches"}},"additionalProperties":false,"type":"object","title":"ListingAssetsAttachRequest","description":"Assets to add to a listing: ``asset_ids`` in the order given, then each match's in list order."},"ListingAssetsAttachResponse":{"properties":{"assets":{"items":{"$ref":"#/components/schemas/AssetResponse"},"type":"array","title":"Assets"},"total":{"type":"integer","title":"Total"},"attached":{"type":"integer","title":"Attached"},"skipped":{"items":{"$ref":"#/components/schemas/ListingAssetsSkip"},"type":"array","title":"Skipped"}},"type":"object","required":["assets","total","attached","skipped"],"title":"ListingAssetsAttachResponse","description":"The listing's assets after an attach, how many it added, and the matched assets it skipped."},"ListingAssetsMatch":{"properties":{"group_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Group Id"},"sku":{"anyOf":[{"type":"string","maxLength":64},{"type":"null"}],"title":"Sku"},"deprecated":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Deprecated"},"filters":{"items":{"type":"string"},"type":"array","title":"Filters"},"exclude_ids":{"items":{"type":"string","format":"uuid"},"type":"array","maxItems":10000,"title":"Exclude Ids"}},"additionalProperties":false,"type":"object","title":"ListingAssetsMatch","description":"Every asset ``GET /v2/assets`` lists under these values, but ``exclude_ids``.\n\n``group_id``, ``sku``, ``deprecated``, and ``filters`` (``field:operator:value``,\nas the list's ``filter``) mean what they mean on the list."},"ListingAssetsResponse":{"properties":{"assets":{"items":{"$ref":"#/components/schemas/AssetResponse"},"type":"array","title":"Assets"},"total":{"type":"integer","title":"Total"}},"type":"object","required":["assets","total"],"title":"ListingAssetsResponse","description":"The complete asset composition of one listing."},"ListingAssetsSkip":{"properties":{"reason":{"type":"string","enum":["not_listable","no_data","already_attached","same_source"],"title":"Reason"},"count":{"type":"integer","title":"Count"}},"type":"object","required":["reason","count"],"title":"ListingAssetsSkip","description":"Matched assets left out of an attach, by reason.\n\n``not_listable``: not a SKU a listing can take yet. ``no_data``: no data\nobject yet. ``already_attached``: already part of the listing.\n``same_source``: the listing already carries its repository or upload, or\nan earlier asset of the same attach does."},"ListingBrowseAccessResponse":{"properties":{"published_count":{"type":"integer","title":"Published Count"},"required_count":{"type":"integer","title":"Required Count"},"unlocked":{"type":"boolean","title":"Unlocked"}},"type":"object","required":["published_count","required_count","unlocked"],"title":"ListingBrowseAccessResponse","description":"The caller's catalog gate state.\n\nVendor-only teams unlock browse by publishing ``required_count`` listings;\nbuyer teams and platform admins are always unlocked."},"ListingBrowseCounts":{"properties":{"all":{"type":"integer","title":"All"},"owned":{"type":"integer","title":"Owned"}},"type":"object","required":["all","owned"],"title":"ListingBrowseCounts","description":"All/owned match counts under the active browse filters."},"ListingBrowseFacets":{"properties":{"tags":{"additionalProperties":{"type":"integer"},"type":"object","title":"Tags"},"tag_slugs":{"additionalProperties":{"type":"integer"},"type":"object","title":"Tag Slugs"},"asset_types":{"additionalProperties":{"type":"integer"},"type":"object","title":"Asset Types"},"lifecycle_stages":{"additionalProperties":{"type":"integer"},"type":"object","title":"Lifecycle Stages"},"languages":{"additionalProperties":{"type":"integer"},"type":"object","title":"Languages"},"file_extensions":{"additionalProperties":{"type":"integer"},"type":"object","title":"File Extensions"},"robotics_formats":{"additionalProperties":{"type":"integer"},"type":"object","title":"Robotics Formats"},"capabilities":{"additionalProperties":{"type":"integer"},"type":"object","title":"Capabilities"}},"type":"object","required":["tags","asset_types"],"title":"ListingBrowseFacets","description":"Per-value counts over the text-search universe.\n\nSelections are excluded, so chip counts stay stable as the user toggles\nthem. The publication facets (languages through capabilities) are filled on\nbuyer browse only."},"ListingCatalogScale":{"properties":{"task_count":{"type":"integer","title":"Task Count","default":0},"loc":{"type":"integer","title":"Loc","default":0},"zip_file_count":{"type":"integer","title":"Zip File Count","default":0},"zip_size_bytes":{"type":"integer","title":"Zip Size Bytes","default":0},"asset_counts":{"additionalProperties":{"type":"integer"},"type":"object","title":"Asset Counts"},"languages":{"items":{"type":"string"},"type":"array","title":"Languages"}},"type":"object","title":"ListingCatalogScale","description":"Publication-frozen card aggregates.\n\nWhat catalog cards render instead of hydrated assets: totals per scale\ndimension, attached asset counts by kind, and the frozen language union."},"ListingDeprecatedType":{"properties":{"slug":{"type":"string","title":"Slug"},"label":{"type":"string","title":"Label"},"retires_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Retires At"},"message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Message"}},"type":"object","required":["slug","label"],"title":"ListingDeprecatedType","description":"A deprecated asset type a listing carries."},"ListingDeprecation":{"properties":{"types":{"items":{"$ref":"#/components/schemas/ListingDeprecatedType"},"type":"array","title":"Types"},"retires_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Retires At"}},"type":"object","required":["types"],"title":"ListingDeprecation","description":"The deprecated asset types a listing carries and the earliest retirement among them."},"ListingDetailResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"team_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Team Id"},"title":{"type":"string","title":"Title"},"review_status":{"type":"string","title":"Review Status"},"catalog_status":{"type":"string","title":"Catalog Status"},"is_listed":{"type":"boolean","title":"Is Listed","default":false},"visibility":{"type":"string","title":"Visibility","default":"public"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updated At"},"archived_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Archived At"},"one_liner":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"One Liner"},"executive_summary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Executive Summary"},"asset_types":{"items":{"type":"string"},"type":"array","title":"Asset Types"},"domain_tags":{"items":{"type":"string"},"type":"array","title":"Domain Tags"},"tag_slugs":{"items":{"type":"string"},"type":"array","title":"Tag Slugs"},"total_value":{"type":"number","title":"Total Value","default":0.0},"purchase_price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Purchase Price"},"sample_price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Sample Price"},"sample_available":{"type":"boolean","title":"Sample Available","default":false},"team_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Team Name"},"team_slug":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Team Slug"},"team_avatar_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Team Avatar Url"},"team_profile_visibility":{"type":"string","enum":["public","invite","private"],"title":"Team Profile Visibility","default":"public"},"vendor_tier":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Vendor Tier"},"is_owned":{"type":"boolean","title":"Is Owned","default":false},"has_sample":{"type":"boolean","title":"Has Sample","default":false},"sale_count":{"type":"integer","title":"Sale Count","default":0},"pending_offer_count":{"type":"integer","title":"Pending Offer Count","default":0},"top_bid_amount":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Top Bid Amount"},"submitted_bid_count":{"type":"integer","title":"Submitted Bid Count","default":0},"has_buyer_activity":{"type":"boolean","title":"Has Buyer Activity","default":false},"carries_retired_sku":{"type":"boolean","title":"Carries Retired Sku","default":false},"deprecation":{"anyOf":[{"$ref":"#/components/schemas/ListingDeprecation"},{"type":"null"}]},"dv_quality_certified":{"type":"boolean","title":"Dv Quality Certified","default":false},"review_feedback":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Review Feedback"},"assets":{"items":{"$ref":"#/components/schemas/ListingAssetResponse"},"type":"array","title":"Assets","default":[]},"catalog_scale":{"anyOf":[{"$ref":"#/components/schemas/ListingCatalogScale"},{"type":"null"}]},"qc_verdicts":{"items":{"$ref":"#/components/schemas/QcCheckVerdict"},"type":"array","title":"Qc Verdicts","default":[]},"qc_checked_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Qc Checked At"},"supported_languages":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Supported Languages"},"technical_approach_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Technical Approach Url"},"technical_approach_download_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Technical Approach Download Url"},"technical_approach_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Technical Approach Name"},"taskset_ids":{"items":{"type":"string","format":"uuid"},"type":"array","title":"Taskset Ids","default":[]},"taskset_notes":{"additionalProperties":{"type":"string"},"type":"object","title":"Taskset Notes"},"tasksets":{"items":{"$ref":"#/components/schemas/ListingTasksetSummary"},"type":"array","title":"Tasksets","default":[]},"environment_ids":{"items":{"type":"string","format":"uuid"},"type":"array","title":"Environment Ids","default":[]},"environments":{"items":{"$ref":"#/components/schemas/ListingEnvironment"},"type":"array","title":"Environments","default":[]},"github_repos":{"items":{"type":"string"},"type":"array","title":"Github Repos"},"repo_archives":{"items":{"$ref":"#/components/schemas/ListingRepoArchive"},"type":"array","title":"Repo Archives","default":[]},"pricing_items":{"items":{"$ref":"#/components/schemas/ListingPricingLine"},"type":"array","title":"Pricing Items","default":[]},"available_from":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Available From"},"setup_duration":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Setup Duration"},"delivery_details":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Delivery Details"},"terms_ownership_accepted":{"type":"boolean","title":"Terms Ownership Accepted","default":false},"bundle_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Bundle Url"},"bundle_download_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Bundle Download Url"},"bundle_manifest":{"additionalProperties":true,"type":"object","title":"Bundle Manifest"},"has_bundle":{"type":"boolean","title":"Has Bundle","default":false},"submissions":{"items":{"$ref":"#/components/schemas/ListingSubmissionSummary"},"type":"array","title":"Submissions","default":[]},"quality_certification":{"anyOf":[{"$ref":"#/components/schemas/ListingQualityCertification"},{"type":"null"}]}},"type":"object","required":["id","title","review_status","catalog_status","created_at"],"title":"ListingDetailResponse","description":"Full listing detail response; URL fields come in stored-locator / download pairs.\n\n``technical_approach_url`` / ``bundle_url`` / ``assets[].url`` hold the\nstored ``storage://`` locators — exactly what the create/update requests\naccept, so an edit form can echo them back — while the ``*_download_url``\nfields carry short-lived presigned links and are never accepted on writes.\nBuyer responses null the locators and gate the download links on\nentitlement."},"ListingEnvironment":{"properties":{"id":{"type":"string","title":"Id"},"name":{"type":"string","title":"Name"},"name_display":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name Display"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"copied_environment_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Copied Environment Id"}},"type":"object","required":["id","name"],"title":"ListingEnvironment"},"ListingHistoryResponse":{"properties":{"events":{"items":{"$ref":"#/components/schemas/ListingStateEventResponse"},"type":"array","title":"Events"}},"type":"object","required":["events"],"title":"ListingHistoryResponse","description":"The listing's lifecycle history, newest first."},"ListingListResponse":{"properties":{"listings":{"items":{"$ref":"#/components/schemas/ListingResponse"},"type":"array","title":"Listings"}},"type":"object","required":["listings"],"title":"ListingListResponse"},"ListingPricingLine":{"properties":{"unit":{"type":"string","title":"Unit"},"price":{"type":"string","title":"Price"},"count":{"type":"integer","title":"Count"},"subtotal":{"type":"number","title":"Subtotal"},"ref":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ref"}},"type":"object","required":["unit","price","count","subtotal"],"title":"ListingPricingLine","description":"A resolved pricing row on buyer/detail responses.\n\n``subtotal`` is the vendor's ``price`` times the resolved ``count`` (the\nunit's live count for a rate unit, 1 for a per-repo row). ``ref`` names the\nspecific repo for a Per Repo row. The grand total is ``total_value`` /\n``purchase_price``."},"ListingQcReportResponse":{"properties":{"listing_id":{"type":"string","format":"uuid","title":"Listing Id"},"listing_status":{"type":"string","title":"Listing Status"},"dv_quality_certified":{"type":"boolean","title":"Dv Quality Certified"},"latest_run":{"anyOf":[{"$ref":"#/components/schemas/QcRunReport"},{"type":"null"}]},"hub_ingest":{"items":{"$ref":"#/components/schemas/RoboticsHubIngestStatus"},"type":"array","title":"Hub Ingest"}},"type":"object","required":["listing_id","listing_status","dv_quality_certified","latest_run"],"title":"ListingQcReportResponse","description":"The vendor-facing QC state of one listing: its latest run (if any)."},"ListingQualityCertification":{"properties":{"environment_checks_passed":{"type":"integer","title":"Environment Checks Passed"},"environment_checks_total":{"type":"integer","title":"Environment Checks Total"},"certified_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Certified At"}},"type":"object","required":["environment_checks_passed","environment_checks_total"],"title":"ListingQualityCertification","description":"Buyer-visible trust summary behind the DV verified badge.\n\nCovers how many recommended environment checks passed and when the\ncertifying run completed. Never the report contents."},"ListingQualityCheckEvidence":{"properties":{"check_key":{"type":"string","title":"Check Key"},"check_label":{"type":"string","title":"Check Label"},"check_kind":{"type":"string","title":"Check Kind"},"mandatory":{"type":"boolean","title":"Mandatory"},"certification_only":{"type":"boolean","title":"Certification Only"},"informational":{"type":"boolean","title":"Informational"},"asset_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Asset Type"},"asset_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Asset Name"},"status":{"type":"string","title":"Status"},"score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score"},"pass_threshold":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Pass Threshold"},"completed_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Completed At"}},"type":"object","required":["check_key","check_label","check_kind","mandatory","certification_only","informational","status"],"title":"ListingQualityCheckEvidence","description":"One check behind the badge, stripped to what a buyer may see.\n\nNever the run contents: no summaries, results, errors, judge traces,\nregistry internals, or pricing. Task-scope rows stay vendor-side."},"ListingQualityEvidenceResponse":{"properties":{"certified":{"type":"boolean","title":"Certified"},"certified_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Certified At"},"environment_checks_passed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Environment Checks Passed"},"environment_checks_total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Environment Checks Total"},"checks":{"items":{"$ref":"#/components/schemas/ListingQualityCheckEvidence"},"type":"array","title":"Checks","default":[]}},"type":"object","required":["certified"],"title":"ListingQualityEvidenceResponse","description":"The evidence behind a listing's DV quality badge.\n\nCertified listings expose the certifying run's listing- and asset-scope\ncheck rows; uncertified listings expose nothing beyond the flag, so the\ncatalog never doubles as a vendor report card."},"ListingRepoArchive":{"properties":{"full_name":{"type":"string","title":"Full Name"},"status":{"type":"string","enum":["archived","failed"],"title":"Status"},"storage_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Storage Url"},"download_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Download Url"},"bytes":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Bytes"},"error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error"},"archived_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Archived At"},"commit_sha":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Commit Sha"}},"type":"object","required":["full_name","status"],"title":"ListingRepoArchive","description":"A snapshot of one of a listing's ``github_repos`` entries.\n\nArchived to the vendor's storage by the ``archive_listing_repos`` worker.\n``storage_url`` is the stored locator and ``download_url`` its presigned\nlink; both are stripped on buyer-facing responses until purchase, like the\nbundle. A repo that couldn't be archived carries ``status='failed'`` and an\n``error`` instead."},"ListingResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"team_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Team Id"},"title":{"type":"string","title":"Title"},"review_status":{"type":"string","title":"Review Status"},"catalog_status":{"type":"string","title":"Catalog Status"},"is_listed":{"type":"boolean","title":"Is Listed","default":false},"visibility":{"type":"string","title":"Visibility","default":"public"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updated At"},"archived_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Archived At"},"one_liner":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"One Liner"},"executive_summary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Executive Summary"},"asset_types":{"items":{"type":"string"},"type":"array","title":"Asset Types"},"domain_tags":{"items":{"type":"string"},"type":"array","title":"Domain Tags"},"tag_slugs":{"items":{"type":"string"},"type":"array","title":"Tag Slugs"},"total_value":{"type":"number","title":"Total Value","default":0.0},"purchase_price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Purchase Price"},"sample_price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Sample Price"},"sample_available":{"type":"boolean","title":"Sample Available","default":false},"team_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Team Name"},"team_slug":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Team Slug"},"team_avatar_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Team Avatar Url"},"team_profile_visibility":{"type":"string","enum":["public","invite","private"],"title":"Team Profile Visibility","default":"public"},"vendor_tier":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Vendor Tier"},"is_owned":{"type":"boolean","title":"Is Owned","default":false},"has_sample":{"type":"boolean","title":"Has Sample","default":false},"sale_count":{"type":"integer","title":"Sale Count","default":0},"pending_offer_count":{"type":"integer","title":"Pending Offer Count","default":0},"top_bid_amount":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Top Bid Amount"},"submitted_bid_count":{"type":"integer","title":"Submitted Bid Count","default":0},"has_buyer_activity":{"type":"boolean","title":"Has Buyer Activity","default":false},"carries_retired_sku":{"type":"boolean","title":"Carries Retired Sku","default":false},"deprecation":{"anyOf":[{"$ref":"#/components/schemas/ListingDeprecation"},{"type":"null"}]},"dv_quality_certified":{"type":"boolean","title":"Dv Quality Certified","default":false},"review_feedback":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Review Feedback"},"assets":{"items":{"$ref":"#/components/schemas/ListingAssetResponse"},"type":"array","title":"Assets","default":[]},"catalog_scale":{"anyOf":[{"$ref":"#/components/schemas/ListingCatalogScale"},{"type":"null"}]}},"type":"object","required":["id","title","review_status","catalog_status","created_at"],"title":"ListingResponse"},"ListingSaleResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"listing_id":{"type":"string","format":"uuid","title":"Listing Id"},"listing_title":{"type":"string","title":"Listing Title"},"purchase_kind":{"type":"string","title":"Purchase Kind"},"amount":{"type":"number","title":"Amount"},"currency":{"type":"string","title":"Currency"},"paid_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Paid At"}},"type":"object","required":["id","listing_id","listing_title","purchase_kind","amount","currency"],"title":"ListingSaleResponse","description":"One paid sale on the vendor's sales surface. Anonymous by design:\n\nthe buyer is never identified, only the money and the listing."},"ListingSalesResponse":{"properties":{"sales":{"items":{"$ref":"#/components/schemas/ListingSaleResponse"},"type":"array","title":"Sales"},"total_earnings":{"type":"number","title":"Total Earnings"},"currency":{"type":"string","title":"Currency","default":"usd"}},"type":"object","required":["sales","total_earnings"],"title":"ListingSalesResponse","description":"The vendor's paid sales, newest first, with lifetime earnings."},"ListingStateEventResponse":{"properties":{"event_type":{"type":"string","title":"Event Type"},"from_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"From Status"},"to_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"To Status"},"actor":{"type":"string","enum":["team","platform"],"title":"Actor"},"occurred_at":{"type":"string","format":"date-time","title":"Occurred At"}},"type":"object","required":["event_type","actor","occurred_at"],"title":"ListingStateEventResponse","description":"One lifecycle transition on a listing the caller's team owns.\n\n``actor`` collapses to who acted, never which user: \"team\" is the owning\nteam itself, \"platform\" is review, QC, or automation."},"ListingSubmissionSummary":{"properties":{"submission_id":{"type":"string","format":"uuid","title":"Submission Id"},"opportunity_id":{"type":"string","format":"uuid","title":"Opportunity Id"},"opportunity_title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Opportunity Title"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["submission_id","opportunity_id","created_at"],"title":"ListingSubmissionSummary","description":"An active opportunity submission on the vendor's own listing (owner detail)."},"ListingTasksetResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","title":"Name"},"columns":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Columns"},"column_order":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Column Order"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","name","created_at"],"title":"ListingTasksetResponse","description":"Buyer preview of one of a published listing's tasksets."},"ListingTasksetSummary":{"properties":{"id":{"type":"string","title":"Id"},"name":{"type":"string","title":"Name"},"task_count":{"type":"integer","title":"Task Count","default":0}},"type":"object","required":["id","name"],"title":"ListingTasksetSummary","description":"One taskset attached to a listing, with display metadata."},"NotificationListResponse":{"properties":{"notifications":{"items":{"$ref":"#/components/schemas/NotificationResponse"},"type":"array","title":"Notifications"},"unread_count":{"type":"integer","title":"Unread Count"}},"type":"object","required":["notifications","unread_count"],"title":"NotificationListResponse"},"NotificationResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"team_id":{"type":"string","format":"uuid","title":"Team Id"},"type":{"$ref":"#/components/schemas/NotificationType"},"title":{"type":"string","title":"Title"},"message":{"type":"string","title":"Message"},"link":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Link"},"opportunity_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Opportunity Id"},"project_opportunity_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Project Opportunity Id"},"opportunity_bid_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Opportunity Bid Id"},"task_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Task Id"},"read":{"type":"boolean","title":"Read"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","team_id","type","title","message","read","created_at"],"title":"NotificationResponse"},"NotificationType":{"type":"string","enum":["opportunity_published","opportunity_updated","opportunity_listing_submitted","deadline_extended","bid_selected","bid_rejected","bid_completed","deadline_approaching","proposal_received","comment_received","task_ready_for_review","task_review_decision","stage_reached","task_flagged","revision_requested","stale_review_nudge_buyer","stale_review_nudge_vendor","listing_offer_received","listing_offer_accepted","listing_offer_rejected","listing_offer_removed"],"title":"NotificationType"},"OpportunityBidResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"opportunity_id":{"type":"string","format":"uuid","title":"Opportunity Id"},"team_id":{"type":"string","format":"uuid","title":"Team Id"},"team_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Team Name"},"team_avatar_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Team Avatar Url"},"opportunity_title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Opportunity Title"},"opportunity_owner_team_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Opportunity Owner Team Name"},"opportunity_owner_team_avatar_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Opportunity Owner Team Avatar Url"},"num_tasks":{"type":"integer","title":"Num Tasks"},"expected_timeline_days":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Expected Timeline Days"},"fixed_price":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Fixed Price"},"variable_price_per_task":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Variable Price Per Task"},"delivery_taskset_ids":{"items":{"type":"string","format":"uuid"},"type":"array","title":"Delivery Taskset Ids","default":[]},"delivery_taskset_names":{"additionalProperties":{"type":"string"},"propertyNames":{"format":"uuid"},"type":"object","title":"Delivery Taskset Names","default":{}},"project_taskset_ids":{"items":{"type":"string","format":"uuid"},"type":"array","title":"Project Taskset Ids","default":[]},"project_taskset_names":{"additionalProperties":{"type":"string"},"propertyNames":{"format":"uuid"},"type":"object","title":"Project Taskset Names","default":{}},"status":{"type":"string","title":"Status"},"selected_fixed_price":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Selected Fixed Price"},"selected_variable_price_per_task":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Selected Variable Price Per Task"},"selected_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Selected At"},"completed_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Completed At"},"selected_by_user_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Selected By User Id"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"},"metadata":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Metadata"},"attachments":{"items":{"$ref":"#/components/schemas/BidAttachmentResponse"},"type":"array","title":"Attachments","default":[]},"revision_requested_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Revision Requested At"},"revision_request_note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Revision Request Note"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["id","opportunity_id","team_id","num_tasks","status","created_at","updated_at"],"title":"OpportunityBidResponse","description":"Opportunity bid shape returned to vendors (excludes admin_notes)."},"OpportunityBrowseCounts":{"properties":{"all":{"type":"integer","title":"All"}},"type":"object","required":["all"],"title":"OpportunityBrowseCounts","description":"Match count under the active explore filters."},"OpportunityBrowseFacets":{"properties":{"tags":{"additionalProperties":{"type":"integer"},"type":"object","title":"Tags"}},"type":"object","required":["tags"],"title":"OpportunityBrowseFacets","description":"Per-tag counts over the text-search universe.\n\nTag selection is excluded so chip counts stay stable as the user toggles\nthem."},"OpportunityQcPipelineRequirementResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"owner_team_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Owner Team Id"},"key":{"type":"string","title":"Key"},"label":{"type":"string","title":"Label"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"kind":{"type":"string","enum":["deterministic","environment"],"title":"Kind"},"scope":{"type":"string","enum":["listing","asset","task"],"title":"Scope"},"asset_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Asset Type"},"model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model"},"pass_threshold":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Pass Threshold"},"credit_price":{"type":"number","title":"Credit Price","default":0},"mandatory":{"type":"boolean","title":"Mandatory"}},"type":"object","required":["id","key","label","kind","scope","mandatory"],"title":"OpportunityQcPipelineRequirementResponse","description":"An opportunity attachment with requirement semantics."},"OpportunityResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"title":{"type":"string","title":"Title"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"requirements":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Requirements"},"status":{"type":"string","title":"Status"},"owner_id":{"type":"string","format":"uuid","title":"Owner Id"},"owner_team_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Owner Team Name"},"owner_team_slug":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Owner Team Slug"},"owner_team_avatar_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Owner Team Avatar Url"},"owner_team_profile_visibility":{"anyOf":[{"type":"string","enum":["public","invite","private"]},{"type":"null"}],"title":"Owner Team Profile Visibility"},"published_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Published At"},"deadline":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Deadline"},"closed_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Closed At"},"metadata":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Metadata"},"accepted_asset_types":{"items":{"type":"string"},"type":"array","title":"Accepted Asset Types"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"stage":{"type":"string","enum":["draft","in_review","open","select","closed"],"title":"Stage","default":"draft"},"qc_pipelines":{"items":{"$ref":"#/components/schemas/OpportunityQcPipelineRequirementResponse"},"type":"array","title":"Qc Pipelines"}},"type":"object","required":["id","title","status","owner_id","created_at","updated_at"],"title":"OpportunityResponse","description":"A listing request visible to vendors."},"PaginatedResponse_EarningEntryResponse_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/EarningEntryResponse"},"type":"array","title":"Items"},"total":{"type":"integer","title":"Total"},"limit":{"type":"integer","title":"Limit"},"offset":{"type":"integer","title":"Offset"}},"type":"object","required":["items","total","limit","offset"],"title":"PaginatedResponse[EarningEntryResponse]"},"PaginatedResponse_OpportunityBidResponse_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/OpportunityBidResponse"},"type":"array","title":"Items"},"total":{"type":"integer","title":"Total"},"limit":{"type":"integer","title":"Limit"},"offset":{"type":"integer","title":"Offset"}},"type":"object","required":["items","total","limit","offset"],"title":"PaginatedResponse[OpportunityBidResponse]"},"ProjectOpportunityResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"title":{"type":"string","title":"Title"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"requirements":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Requirements"},"status":{"type":"string","title":"Status"},"owner_id":{"type":"string","format":"uuid","title":"Owner Id"},"owner_team_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Owner Team Name"},"owner_team_slug":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Owner Team Slug"},"owner_team_avatar_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Owner Team Avatar Url"},"owner_team_profile_visibility":{"anyOf":[{"type":"string","enum":["public","invite","private"]},{"type":"null"}],"title":"Owner Team Profile Visibility"},"published_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Published At"},"deadline":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Deadline"},"closed_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Closed At"},"metadata":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Metadata"},"accepted_asset_types":{"items":{"type":"string"},"type":"array","title":"Accepted Asset Types"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"stage":{"type":"string","enum":["draft","in_review","open","select","ongoing","finished","closed"],"title":"Stage","default":"draft"},"evaluation_date":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Evaluation Date"},"skip_proposal":{"type":"boolean","title":"Skip Proposal","default":false}},"type":"object","required":["id","title","status","owner_id","created_at","updated_at"],"title":"ProjectOpportunityResponse","description":"A historical project request visible to vendors."},"QaResultStatus":{"type":"string","enum":["queued","running","cancelling","completed","error","cancelled"],"title":"QaResultStatus"},"QcCheckRunReport":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"scope":{"type":"string","title":"Scope"},"task_key":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Task Key"},"asset_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Asset Type"},"asset_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Asset Name"},"asset_reference":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Asset Reference"},"listing_asset_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Listing Asset Id"},"asset_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Asset Id"},"kind":{"type":"string","title":"Kind"},"key":{"type":"string","title":"Key"},"label":{"type":"string","title":"Label"},"mandatory":{"type":"boolean","title":"Mandatory"},"informational":{"type":"boolean","title":"Informational"},"status":{"type":"string","title":"Status"},"score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score"},"pass_threshold":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Pass Threshold"},"summary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Summary"},"result":{"additionalProperties":true,"type":"object","title":"Result"},"error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error"},"attempt":{"type":"integer","title":"Attempt"},"started_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Started At"},"completed_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Completed At"},"evidence_in_progress":{"type":"boolean","title":"Evidence In Progress","default":false}},"type":"object","required":["id","scope","asset_type","asset_name","asset_reference","listing_asset_id","kind","key","label","mandatory","informational","status","score","pass_threshold","summary","error","attempt","started_at","completed_at"],"title":"QcCheckRunReport"},"QcCheckVerdict":{"properties":{"key":{"type":"string","title":"Key"},"label":{"type":"string","title":"Label"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"mandatory":{"type":"boolean","title":"Mandatory"},"status":{"type":"string","enum":["pending","passed","failed"],"title":"Status"}},"type":"object","required":["key","label","mandatory","status"],"title":"QcCheckVerdict","description":"One check's buyer-visible verdict: the title, what it checks, and whether it passed.\n\nThe canonical shape for every buyer-facing QC readout. ``description`` is\nthe pipeline's own copy, never the run's output. Never a summary, score,\nor reason — those stay on the vendor's own report."},"QcRunReport":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"run_number":{"type":"integer","title":"Run Number"},"status":{"type":"string","title":"Status"},"mandatory_passed":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Mandatory Passed"},"review_feedback":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Review Feedback"},"error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error"},"triggered_by":{"type":"string","title":"Triggered By"},"charge_total":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Charge Total"},"started_at":{"type":"string","format":"date-time","title":"Started At"},"completed_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Completed At"},"checks":{"items":{"$ref":"#/components/schemas/QcCheckRunReport"},"type":"array","title":"Checks"},"task_summaries":{"items":{"$ref":"#/components/schemas/QcTaskCheckSummary"},"type":"array","title":"Task Summaries"}},"type":"object","required":["id","run_number","status","mandatory_passed","review_feedback","error","triggered_by","charge_total","started_at","completed_at","checks"],"title":"QcRunReport"},"QcTaskCheckSummary":{"properties":{"check_key":{"type":"string","title":"Check Key"},"label":{"type":"string","title":"Label"},"listing_asset_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Listing Asset Id"},"asset_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Asset Name"},"queued":{"type":"integer","title":"Queued"},"running":{"type":"integer","title":"Running"},"passed":{"type":"integer","title":"Passed"},"failed":{"type":"integer","title":"Failed"},"error":{"type":"integer","title":"Error"},"total":{"type":"integer","title":"Total"}},"type":"object","required":["check_key","label","listing_asset_id","asset_name","queued","running","passed","failed","error","total"],"title":"QcTaskCheckSummary","description":"Aggregate of one task-scope check's rows on one asset.\n\nThe full row list ships only on request (``task_rows=all``); failing\nrows always ship inline via ``checks``."},"QcVendorReportItem":{"properties":{"run_id":{"type":"string","format":"uuid","title":"Run Id"},"listing_id":{"type":"string","format":"uuid","title":"Listing Id"},"listing_title":{"type":"string","title":"Listing Title"},"run_number":{"type":"integer","title":"Run Number"},"status":{"type":"string","title":"Status"},"mandatory_passed":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Mandatory Passed"},"environment_checks_passed":{"type":"integer","title":"Environment Checks Passed"},"environment_checks_total":{"type":"integer","title":"Environment Checks Total"},"charge_total":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Charge Total"},"started_at":{"type":"string","format":"date-time","title":"Started At"},"completed_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Completed At"}},"type":"object","required":["run_id","listing_id","listing_title","run_number","status","mandatory_passed","environment_checks_passed","environment_checks_total","charge_total","started_at","completed_at"],"title":"QcVendorReportItem","description":"One run in the vendor's cross-listing Quality Reports table."},"QcVendorReportsResponse":{"properties":{"reports":{"items":{"$ref":"#/components/schemas/QcVendorReportItem"},"type":"array","title":"Reports"},"total":{"type":"integer","title":"Total"}},"type":"object","required":["reports","total"],"title":"QcVendorReportsResponse"},"RawDataAssetCreateRequest":{"properties":{"group_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Group Id"},"title":{"type":"string","maxLength":500,"minLength":1,"title":"Title"},"description":{"anyOf":[{"type":"string","maxLength":20000,"minLength":1},{"type":"null"}],"title":"Description"},"domain_tags":{"items":{"type":"string","maxLength":100,"minLength":1},"type":"array","maxItems":5,"title":"Domain Tags"},"other_domain":{"anyOf":[{"type":"string","maxLength":100,"minLength":1},{"type":"null"}],"title":"Other Domain"},"notes":{"anyOf":[{"type":"string","maxLength":5000,"minLength":1},{"type":"null"}],"title":"Notes"},"price_usd":{"anyOf":[{"type":"number","maximum":999999999999.99,"exclusiveMinimum":0.0},{"type":"null"}],"title":"Price Usd"},"extra_columns":{"additionalProperties":{"anyOf":[{"type":"string"},{"type":"integer"},{"type":"number"},{"type":"boolean"},{"type":"null"}]},"type":"object","title":"Extra Columns"},"data":{"anyOf":[{"$ref":"#/components/schemas/AssetUploadDataRequest"},{"type":"null"}]},"suffix_title":{"type":"boolean","title":"Suffix Title","default":false}},"additionalProperties":false,"type":"object","required":["title"],"title":"RawDataAssetCreateRequest","description":"Raw-data inventory metadata, optionally with a completed team upload."},"RawDataAssetListResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/RawDataAssetResponse"},"type":"array","title":"Items"},"total":{"type":"integer","title":"Total"},"limit":{"type":"integer","title":"Limit"},"offset":{"type":"integer","title":"Offset"}},"type":"object","required":["items","total","limit","offset"],"title":"RawDataAssetListResponse","description":"A bounded page of RawData assets."},"RawDataAssetResponse":{"properties":{"sku":{"type":"string","const":"raw_data","title":"Sku"},"id":{"type":"string","format":"uuid","title":"Id"},"group_id":{"type":"string","format":"uuid","title":"Group Id"},"stage":{"type":"string","enum":["incomplete","proposed","complete"],"title":"Stage"},"data":{"anyOf":[{"$ref":"#/components/schemas/AssetDataResponse"},{"type":"null"}]},"title":{"type":"string","title":"Title"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"domain_tags":{"items":{"type":"string"},"type":"array","title":"Domain Tags"},"other_domain":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Other Domain"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"},"price_usd":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Price Usd"},"missing":{"items":{"type":"string"},"type":"array","title":"Missing"},"extra_columns":{"additionalProperties":{"anyOf":[{"type":"string"},{"type":"integer"},{"type":"number"},{"type":"boolean"},{"type":"null"}]},"type":"object","title":"Extra Columns"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updated At"}},"type":"object","required":["sku","id","group_id","stage","title","domain_tags","created_at"],"title":"RawDataAssetResponse","description":"A Raw data row as the vendor sees it: the shared columns, the freeform columns, the stage and data.\n\nThe archive's size is ``data.archive_bytes``, like every data object's."},"RawDataAssetUpdateRequest":{"properties":{"group_id":{"type":"string","format":"uuid","title":"Group Id"},"title":{"type":"string","maxLength":500,"minLength":1,"title":"Title"},"description":{"anyOf":[{"type":"string","maxLength":20000,"minLength":1},{"type":"null"}],"title":"Description"},"domain_tags":{"items":{"type":"string","maxLength":100,"minLength":1},"type":"array","maxItems":5,"title":"Domain Tags"},"other_domain":{"anyOf":[{"type":"string","maxLength":100,"minLength":1},{"type":"null"}],"title":"Other Domain"},"notes":{"anyOf":[{"type":"string","maxLength":5000,"minLength":1},{"type":"null"}],"title":"Notes"},"price_usd":{"anyOf":[{"type":"number","maximum":999999999999.99,"exclusiveMinimum":0.0},{"type":"null"}],"title":"Price Usd"},"extra_columns":{"additionalProperties":{"anyOf":[{"type":"string"},{"type":"integer"},{"type":"number"},{"type":"boolean"},{"type":"null"}]},"type":"object","title":"Extra Columns"}},"additionalProperties":false,"type":"object","title":"RawDataAssetUpdateRequest","description":"Partial edit of a row.\n\nOnly fields present in the request change; the merged row must still\nsatisfy every rule of ``RawDataAssetInput``. ``group_id`` moves the row\nto another of the team's groups. ``description``, ``other_domain``,\n``notes`` and ``price_usd`` accept ``null`` to clear, and ``domain_tags``\n``[]``. ``extra_columns`` is sent as a whole map and replaces the stored\none; ``{}`` clears it."},"RawDataMetadataResponse":{"properties":{"extra_columns":{"additionalProperties":{"anyOf":[{"type":"string"},{"type":"integer"},{"type":"number"},{"type":"boolean"},{"type":"null"}]},"type":"object","title":"Extra Columns"}},"type":"object","required":["extra_columns"],"title":"RawDataMetadataResponse","description":"A Raw data asset's metadata: the vendor's freeform columns; the archive's size is on ``data``."},"RepoActionsStats":{"properties":{"window_days":{"type":"integer","title":"Window Days"},"counted_runs":{"type":"integer","minimum":0.0,"title":"Counted Runs"},"total_runs_reported":{"type":"integer","minimum":0.0,"title":"Total Runs Reported"},"truncated":{"type":"boolean","title":"Truncated"},"conclusion_counts":{"additionalProperties":{"type":"integer"},"propertyNames":{"enum":["success","failure","cancelled","skipped","other"]},"type":"object","title":"Conclusion Counts"}},"additionalProperties":false,"type":"object","required":["window_days","counted_runs","total_runs_reported","truncated","conclusion_counts"],"title":"RepoActionsStats","description":"Workflow-run conclusions within the capture window."},"RepoArchiveAnalyses":{"properties":{"complexity":{"anyOf":[{"$ref":"#/components/schemas/RepoComplexityMetrics"},{"type":"null"}]},"churn_complexity":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/RepoChurnComplexityMetrics"},{"$ref":"#/components/schemas/RepoChurnComplexityNoHistory"}],"discriminator":{"propertyName":"history_present","mapping":{"False":"#/components/schemas/RepoChurnComplexityNoHistory","True":"#/components/schemas/RepoChurnComplexityMetrics"}}},{"type":"null"}],"title":"Churn Complexity"},"coverage":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/RepoCoverageMetrics"},{"$ref":"#/components/schemas/RepoCoverageNoReport"}],"discriminator":{"propertyName":"report_present","mapping":{"False":"#/components/schemas/RepoCoverageNoReport","True":"#/components/schemas/RepoCoverageMetrics"}}},{"type":"null"}],"title":"Coverage"},"documentation":{"anyOf":[{"$ref":"#/components/schemas/RepoDocumentationMetrics"},{"type":"null"}]},"doc_graph":{"anyOf":[{"$ref":"#/components/schemas/RepoDocGraphMetrics"},{"type":"null"}]},"production_shape":{"anyOf":[{"$ref":"#/components/schemas/RepoProductionShapeFacts"},{"type":"null"}]},"review_activity":{"anyOf":[{"$ref":"#/components/schemas/RepoReviewActivityMetrics"},{"type":"null"}]},"commit_distribution":{"anyOf":[{"$ref":"#/components/schemas/RepoCommitDistributionMetrics"},{"type":"null"}]}},"additionalProperties":false,"type":"object","title":"RepoArchiveAnalyses","description":"Analysis summaries derived from the asset's stored archive.\n\nArchive-derived like ``total_loc``: the bytes behind a storage URL are\nimmutable, so each slot is derived once and re-derived only when missing or\nwhen its ``analyzer_version`` no longer matches the analyzer. A slot left\nNone was not readable on the last attempt and is retried; the QC checks\ngrade from these summaries and never read the archive themselves."},"RepoAssetMetadata":{"properties":{"languages":{"items":{"type":"string"},"type":"array","title":"Languages"},"total_loc":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Total Loc"},"stats":{"anyOf":[{"$ref":"#/components/schemas/RepoStats"},{"type":"null"}]},"git_stats":{"anyOf":[{"$ref":"#/components/schemas/RepoStats"},{"type":"null"}]},"manifest_stats":{"anyOf":[{"$ref":"#/components/schemas/RepoStats"},{"type":"null"}]},"archive_analyses":{"anyOf":[{"$ref":"#/components/schemas/RepoArchiveAnalyses"},{"type":"null"}]}},"additionalProperties":false,"type":"object","title":"RepoAssetMetadata","description":"Frozen repo slice.\n\n``stats`` is the capture consumers read: the GitHub App's, the vendor\nmanifest's, or either merged over ``git_stats``. ``git_stats`` is the\nhistory derived from the archive's own ``.git`` and is archive-derived like\n``total_loc`` — kept on its own key so it survives the manifest re-parse\nthat rewrites ``stats`` on every freeze. ``archive_analyses`` carries the\nremaining archive-derived summaries and survives re-freezes the same way.\n``manifest_stats`` is the vendor manifest's capture as parsed, before the\nmerge, so a claim the merge dropped in favour of a measurement can still be\nchecked against it."},"RepoChurnComplexityMetrics":{"properties":{"history_present":{"type":"boolean","const":true,"title":"History Present"},"analyzer_version":{"type":"integer","title":"Analyzer Version"},"churn_source":{"type":"string","enum":["git_archive","forge"],"title":"Churn Source","default":"git_archive"},"complexity_anchor":{"type":"integer","title":"Complexity Anchor"},"churn_anchor":{"type":"integer","title":"Churn Anchor"},"window_days":{"type":"integer","title":"Window Days"},"commits_in_window":{"type":"integer","title":"Commits In Window"},"score_percent":{"type":"number","title":"Score Percent"},"median_complexity":{"type":"integer","title":"Median Complexity"},"p90_complexity":{"type":"integer","title":"P90 Complexity"},"median_churn":{"type":"integer","title":"Median Churn"},"p90_churn":{"type":"integer","title":"P90 Churn"},"substantial_files":{"type":"integer","title":"Substantial Files"},"substantial_loc_share":{"type":"number","title":"Substantial Loc Share"},"files_measured":{"type":"integer","title":"Files Measured"},"files_unmeasured":{"type":"integer","title":"Files Unmeasured"},"files_excluded":{"additionalProperties":{"type":"integer"},"type":"object","title":"Files Excluded"},"code_loc":{"type":"integer","title":"Code Loc"},"parse_coverage":{"type":"number","title":"Parse Coverage"},"unmeasurable_reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Unmeasurable Reason"}},"additionalProperties":false,"type":"object","required":["history_present","analyzer_version","complexity_anchor","churn_anchor","window_days","commits_in_window","score_percent","median_complexity","p90_complexity","median_churn","p90_churn","substantial_files","substantial_loc_share","files_measured","files_unmeasured","code_loc","parse_coverage"],"title":"RepoChurnComplexityMetrics","description":"Churn x complexity summary of an archive scored against a window of history.\n\n``churn_source`` says which side supplied the commit counts. It defaults to\nthe bundled ``.git`` because every capture stored before the forge could\nanswer was read from one."},"RepoChurnComplexityNoHistory":{"properties":{"history_present":{"type":"boolean","const":false,"title":"History Present"},"analyzer_version":{"type":"integer","title":"Analyzer Version"}},"additionalProperties":false,"type":"object","required":["history_present","analyzer_version"],"title":"RepoChurnComplexityNoHistory","description":"Recorded when an archive bundles no ``.git`` and no forge counts answered.\n\nDurable for as long as both inputs stay that way, so enrichment never\nre-downloads an archive that has nothing left to yield. Counts arriving from\nthe forge later are a new input and do reopen it. An unreadable history\nstores nothing and is retried instead."},"RepoCommitDistributionMetrics":{"properties":{"analyzer_version":{"type":"integer","title":"Analyzer Version"},"commits_total":{"type":"integer","minimum":0.0,"title":"Commits Total","default":0},"year_buckets":{"items":{"$ref":"#/components/schemas/RepoCommitYearBucket"},"type":"array","title":"Year Buckets"},"peak_year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Peak Year"},"pre_2023_commits":{"type":"integer","minimum":0.0,"title":"Pre 2023 Commits","default":0},"pre_2023_percent":{"type":"number","maximum":100.0,"minimum":0.0,"title":"Pre 2023 Percent","default":0},"contributors_total":{"type":"integer","minimum":0.0,"title":"Contributors Total","default":0},"median_commits_per_contributor":{"type":"number","minimum":0.0,"title":"Median Commits Per Contributor","default":0},"top_author_share_percent":{"type":"number","maximum":100.0,"minimum":0.0,"title":"Top Author Share Percent","default":0},"top_five_authors_share_percent":{"type":"number","maximum":100.0,"minimum":0.0,"title":"Top Five Authors Share Percent","default":0},"ranked_author_commit_counts":{"items":{"type":"integer"},"type":"array","title":"Ranked Author Commit Counts"},"other_authors":{"type":"integer","minimum":0.0,"title":"Other Authors","default":0},"other_commits":{"type":"integer","minimum":0.0,"title":"Other Commits","default":0},"unmeasurable_reason":{"anyOf":[{"type":"string","enum":["not_in_archive","shallow_clone"]},{"type":"null"}],"title":"Unmeasurable Reason"}},"additionalProperties":false,"type":"object","required":["analyzer_version"],"title":"RepoCommitDistributionMetrics","description":"Commit timing and anonymized author concentration from bundled Git history."},"RepoCommitStats":{"properties":{"ref":{"type":"string","title":"Ref"},"total":{"type":"integer","minimum":0.0,"title":"Total"},"head_sha":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Head Sha"},"head_committed_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Head Committed At"},"root_sha":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Root Sha"}},"additionalProperties":false,"type":"object","required":["ref","total"],"title":"RepoCommitStats","description":"Commit history reachable from ``ref``."},"RepoCommitYearBucket":{"properties":{"year":{"type":"integer","title":"Year"},"commits":{"type":"integer","minimum":0.0,"title":"Commits"}},"additionalProperties":false,"type":"object","required":["year","commits"],"title":"RepoCommitYearBucket"},"RepoComplexityMetrics":{"properties":{"analyzer_version":{"type":"integer","title":"Analyzer Version"},"complexity_anchor":{"type":"integer","title":"Complexity Anchor"},"score_percent":{"type":"number","title":"Score Percent"},"median_complexity":{"type":"integer","title":"Median Complexity"},"p90_complexity":{"type":"integer","title":"P90 Complexity"},"max_complexity":{"type":"integer","title":"Max Complexity"},"complex_loc_share":{"type":"number","title":"Complex Loc Share"},"files_measured":{"type":"integer","title":"Files Measured"},"files_unmeasured":{"type":"integer","title":"Files Unmeasured"},"files_excluded":{"additionalProperties":{"type":"integer"},"type":"object","title":"Files Excluded"},"code_loc":{"type":"integer","title":"Code Loc"},"parse_coverage":{"type":"number","title":"Parse Coverage"},"grammar_drift":{"additionalProperties":{"items":{"type":"string"},"type":"array"},"type":"object","title":"Grammar Drift"},"silent_languages":{"items":{"type":"string"},"type":"array","title":"Silent Languages"},"unmeasurable_reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Unmeasurable Reason"}},"additionalProperties":false,"type":"object","required":["analyzer_version","complexity_anchor","score_percent","median_complexity","p90_complexity","max_complexity","complex_loc_share","files_measured","files_unmeasured","code_loc","parse_coverage"],"title":"RepoComplexityMetrics","description":"Complexity summary of an archived snapshot's own source.\n\n``score_percent`` is meaningful only when ``unmeasurable_reason`` is None;\nthe counts are stored either way so a withheld verdict stays auditable."},"RepoContributorStats":{"properties":{"total":{"type":"integer","minimum":0.0,"title":"Total"}},"additionalProperties":false,"type":"object","required":["total"],"title":"RepoContributorStats","description":"Contributor count from ``/contributors?anon=1``, anonymous included."},"RepoCoreStats":{"properties":{"size_kb":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Size Kb"},"created_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Created At"},"updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updated At"},"pushed_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Pushed At"},"default_branch":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Default Branch"},"is_private":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Private"},"is_fork":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Fork"},"is_archived":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Archived"},"is_disabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Disabled"},"has_wiki":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has Wiki"},"has_pages":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has Pages"},"has_discussions":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has Discussions"},"stars_count":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Stars Count"},"forks_count":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Forks Count"},"watchers_count":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Watchers Count"},"open_issues_and_prs_count":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Open Issues And Prs Count","description":"REST open_issues_count renamed: it includes pull requests and must never be presented as an issue count. RepoIssueStats is the issue-count surface."},"topics":{"items":{"type":"string"},"type":"array","title":"Topics"},"license_spdx":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"License Spdx"},"license_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"License Name"},"homepage":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Homepage"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"}},"additionalProperties":false,"type":"object","title":"RepoCoreStats","description":"Repository profile from ``GET /repos/{owner}/{repo}``."},"RepoCoverageMetrics":{"properties":{"report_present":{"type":"boolean","const":true,"title":"Report Present"},"analyzer_version":{"type":"integer","title":"Analyzer Version"},"line_coverage_percent":{"type":"number","title":"Line Coverage Percent"},"branch_coverage_percent":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Branch Coverage Percent"},"lines_found":{"type":"integer","title":"Lines Found"},"lines_hit":{"type":"integer","title":"Lines Hit"},"files_claimed":{"type":"integer","title":"Files Claimed"},"files_matched":{"type":"integer","title":"Files Matched"},"report_paths":{"items":{"type":"string"},"type":"array","title":"Report Paths"},"unmeasurable_reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Unmeasurable Reason"}},"additionalProperties":false,"type":"object","required":["report_present","analyzer_version","line_coverage_percent","lines_found","lines_hit","files_claimed","files_matched"],"title":"RepoCoverageMetrics","description":"Totals merged from the coverage reports an archived snapshot carries.\n\n``line_coverage_percent`` is meaningful only when ``unmeasurable_reason``\nis None."},"RepoCoverageNoReport":{"properties":{"report_present":{"type":"boolean","const":false,"title":"Report Present"},"analyzer_version":{"type":"integer","title":"Analyzer Version"}},"additionalProperties":false,"type":"object","required":["report_present","analyzer_version"],"title":"RepoCoverageNoReport","description":"Recorded when an archive was read and carries no coverage report."},"RepoDocGraphMetrics":{"properties":{"analyzer_version":{"type":"integer","title":"Analyzer Version"},"coverage_percent":{"type":"number","title":"Coverage Percent"},"documents":{"type":"integer","title":"Documents"},"source_files":{"type":"integer","title":"Source Files"},"source_loc":{"type":"integer","title":"Source Loc"},"documented_source_files":{"type":"integer","title":"Documented Source Files"},"documented_source_loc":{"type":"integer","title":"Documented Source Loc"},"document_edges":{"type":"integer","title":"Document Edges"},"source_edges":{"type":"integer","title":"Source Edges"},"broken_links":{"type":"integer","title":"Broken Links"},"external_links":{"type":"integer","title":"External Links"},"link_integrity_percent":{"type":"number","title":"Link Integrity Percent"},"orphan_documents":{"type":"integer","title":"Orphan Documents"},"reachable_documents":{"type":"integer","title":"Reachable Documents"},"reachable_share_percent":{"type":"number","title":"Reachable Share Percent"},"has_root_document":{"type":"boolean","title":"Has Root Document"},"unmeasurable_reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Unmeasurable Reason"}},"additionalProperties":false,"type":"object","required":["analyzer_version","coverage_percent","documents","source_files","source_loc","documented_source_files","documented_source_loc","document_edges","source_edges","broken_links","external_links","link_integrity_percent","orphan_documents","reachable_documents","reachable_share_percent","has_root_document"],"title":"RepoDocGraphMetrics","description":"Documentation-graph summary of an archived snapshot.\n\n``coverage_percent`` is meaningful only when ``unmeasurable_reason`` is\nNone."},"RepoDocumentationMetrics":{"properties":{"analyzer_version":{"type":"integer","title":"Analyzer Version"},"lines_per_kloc":{"type":"number","title":"Lines Per Kloc"},"documentation_files":{"type":"integer","title":"Documentation Files"},"documentation_lines":{"type":"integer","title":"Documentation Lines"},"in_code_documentation_lines":{"type":"integer","title":"In Code Documentation Lines"},"source_lines":{"type":"integer","title":"Source Lines"},"unmeasured_files":{"type":"integer","title":"Unmeasured Files"},"decision_records":{"type":"integer","title":"Decision Records"},"root_documents":{"items":{"type":"string"},"type":"array","title":"Root Documents"},"has_pull_request_template":{"type":"boolean","title":"Has Pull Request Template"},"has_issue_template":{"type":"boolean","title":"Has Issue Template"},"tracker_key_count":{"type":"integer","title":"Tracker Key Count"},"tracker_keys":{"items":{"type":"string"},"type":"array","title":"Tracker Keys"},"reference_hosts":{"items":{"type":"string"},"type":"array","title":"Reference Hosts"},"unmeasurable_reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Unmeasurable Reason"}},"additionalProperties":false,"type":"object","required":["analyzer_version","lines_per_kloc","documentation_files","documentation_lines","in_code_documentation_lines","source_lines","unmeasured_files","decision_records","has_pull_request_template","has_issue_template","tracker_key_count"],"title":"RepoDocumentationMetrics","description":"Delivered-documentation summary of an archived snapshot.\n\n``documentation_lines`` counts standalone documents and the comments and\ndocstrings inside the source together; ``in_code_documentation_lines`` is\nthe second of those alone, and ``source_lines`` has it removed.\n``lines_per_kloc`` is meaningful only when ``unmeasurable_reason`` is None."},"RepoFileCommitCount":{"properties":{"path":{"type":"string","title":"Path"},"commit_count":{"type":"integer","minimum":0.0,"title":"Commit Count"}},"additionalProperties":false,"type":"object","required":["path","commit_count"],"title":"RepoFileCommitCount","description":"Commit count for one file path."},"RepoFileHistoryStats":{"properties":{"ref":{"type":"string","title":"Ref"},"tree_file_count":{"type":"integer","minimum":0.0,"title":"Tree File Count"},"truncated":{"type":"boolean","title":"Truncated"},"entries":{"items":{"$ref":"#/components/schemas/RepoFileCommitCount"},"type":"array","title":"Entries"}},"additionalProperties":false,"type":"object","required":["ref","tree_file_count","truncated","entries"],"title":"RepoFileHistoryStats","description":"Per-file commit counts.\n\n``history(path:)`` does NOT follow renames; counts undercount recently\nrenamed files and must not be presented as exact lifetime counts."},"RepoIssueStats":{"properties":{"total":{"type":"integer","minimum":0.0,"title":"Total"},"open":{"type":"integer","minimum":0.0,"title":"Open"},"closed":{"type":"integer","minimum":0.0,"title":"Closed"}},"additionalProperties":false,"type":"object","required":["total","open","closed"],"title":"RepoIssueStats","description":"Issue counts from GraphQL ``issues(states:)`` — PR-free by construction."},"RepoLanguageStats":{"properties":{"bytes_by_language":{"additionalProperties":{"type":"integer"},"type":"object","title":"Bytes By Language"}},"additionalProperties":false,"type":"object","required":["bytes_by_language"],"title":"RepoLanguageStats","description":"GitHub Linguist byte counts keyed by language."},"RepoManifestLock":{"properties":{"manifest":{"type":"string","title":"Manifest"},"lockfile":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Lockfile"}},"additionalProperties":false,"type":"object","required":["manifest"],"title":"RepoManifestLock","description":"One dependency manifest and the lockfile found beside it, if any."},"RepoProductionShapeFacts":{"properties":{"analyzer_version":{"type":"integer","title":"Analyzer Version"},"source_files":{"type":"integer","minimum":0.0,"title":"Source Files"},"test_files":{"type":"integer","minimum":0.0,"title":"Test Files"},"manifests":{"items":{"$ref":"#/components/schemas/RepoManifestLock"},"type":"array","title":"Manifests"},"ci_configs":{"items":{"type":"string"},"type":"array","title":"Ci Configs"},"deploy_configs":{"items":{"type":"string"},"type":"array","title":"Deploy Configs"},"migration_paths":{"items":{"type":"string"},"type":"array","title":"Migration Paths"},"database_dependencies":{"items":{"type":"string"},"type":"array","title":"Database Dependencies"},"readme":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Readme"},"changelog":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Changelog"},"git_present":{"type":"boolean","title":"Git Present"},"release_tags":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Release Tags"},"truncated":{"type":"boolean","title":"Truncated"}},"additionalProperties":false,"type":"object","required":["analyzer_version","source_files","test_files","git_present","truncated"],"title":"RepoProductionShapeFacts","description":"Run-readiness artifacts one archive read found, unweighted.\n\nPaths are relative to the repository root. ``release_tags`` is None when\nthe archive bundled no ``.git``, so tags could not be counted."},"RepoPullRequestStats":{"properties":{"total":{"type":"integer","minimum":0.0,"title":"Total"},"open":{"type":"integer","minimum":0.0,"title":"Open"},"merged":{"type":"integer","minimum":0.0,"title":"Merged"},"closed_without_merge":{"type":"integer","minimum":0.0,"title":"Closed Without Merge"}},"additionalProperties":false,"type":"object","required":["total","open","merged","closed_without_merge"],"title":"RepoPullRequestStats","description":"Mutually exclusive pull-request state counts from one snapshot."},"RepoReviewActivityMetrics":{"properties":{"analyzer_version":{"type":"integer","title":"Analyzer Version"},"pull_requests_total":{"type":"integer","minimum":0.0,"title":"Pull Requests Total","default":0},"pull_requests_with_human_activity":{"type":"integer","minimum":0.0,"title":"Pull Requests With Human Activity","default":0},"reviews_total":{"type":"integer","minimum":0.0,"title":"Reviews Total","default":0},"human_reviews":{"type":"integer","minimum":0.0,"title":"Human Reviews","default":0},"approvals":{"type":"integer","minimum":0.0,"title":"Approvals","default":0},"changes_requested":{"type":"integer","minimum":0.0,"title":"Changes Requested","default":0},"conversation_comments_total":{"type":"integer","minimum":0.0,"title":"Conversation Comments Total","default":0},"human_conversation_comments":{"type":"integer","minimum":0.0,"title":"Human Conversation Comments","default":0},"review_comments_total":{"type":"integer","minimum":0.0,"title":"Review Comments Total","default":0},"human_review_comments":{"type":"integer","minimum":0.0,"title":"Human Review Comments","default":0},"commit_comments_total":{"type":"integer","minimum":0.0,"title":"Commit Comments Total","default":0},"human_commit_comments":{"type":"integer","minimum":0.0,"title":"Human Commit Comments","default":0},"distinct_human_participants":{"type":"integer","minimum":0.0,"title":"Distinct Human Participants","default":0},"ai_comments_total":{"type":"integer","minimum":0.0,"title":"Ai Comments Total","default":0},"ai_identities":{"items":{"type":"string"},"type":"array","title":"Ai Identities"},"unmeasurable_reason":{"anyOf":[{"type":"string","enum":["not_in_archive","capture_unreadable","capture_too_large","unsupported_forge"]},{"type":"null"}],"title":"Unmeasurable Reason"}},"additionalProperties":false,"type":"object","required":["analyzer_version"],"title":"RepoReviewActivityMetrics","description":"Human review activity and known AI comments from a GitHub API export."},"RepoStats":{"properties":{"schema_version":{"type":"integer","minimum":1.0,"title":"Schema Version","default":1},"full_name":{"type":"string","title":"Full Name"},"ref":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ref"},"fetched_at":{"type":"string","format":"date-time","title":"Fetched At"},"public_findable":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Public Findable"},"core":{"anyOf":[{"$ref":"#/components/schemas/RepoCoreStats"},{"type":"null"}]},"languages":{"anyOf":[{"$ref":"#/components/schemas/RepoLanguageStats"},{"type":"null"}]},"pull_requests":{"anyOf":[{"$ref":"#/components/schemas/RepoPullRequestStats"},{"type":"null"}]},"issues":{"anyOf":[{"$ref":"#/components/schemas/RepoIssueStats"},{"type":"null"}]},"commits":{"anyOf":[{"$ref":"#/components/schemas/RepoCommitStats"},{"type":"null"}]},"contributors":{"anyOf":[{"$ref":"#/components/schemas/RepoContributorStats"},{"type":"null"}]},"actions":{"anyOf":[{"$ref":"#/components/schemas/RepoActionsStats"},{"type":"null"}]},"file_history":{"anyOf":[{"$ref":"#/components/schemas/RepoFileHistoryStats"},{"type":"null"}]},"sections":{"$ref":"#/components/schemas/RepoStatsSections"}},"additionalProperties":false,"type":"object","required":["full_name","ref","fetched_at","public_findable","sections"],"title":"RepoStats","description":"One capture of a repository's GitHub-side statistics.\n\nEach payload-bearing section is present iff its ``sections`` outcome is\n``\"ok\"``, so consumers never null-check individual payload fields."},"RepoStatsSections":{"properties":{"core":{"$ref":"#/components/schemas/SectionOutcome"},"visibility":{"$ref":"#/components/schemas/SectionOutcome"},"languages":{"$ref":"#/components/schemas/SectionOutcome"},"pull_requests":{"$ref":"#/components/schemas/SectionOutcome"},"issues":{"$ref":"#/components/schemas/SectionOutcome"},"commits":{"$ref":"#/components/schemas/SectionOutcome"},"contributors":{"$ref":"#/components/schemas/SectionOutcome"},"actions":{"$ref":"#/components/schemas/SectionOutcome"},"file_history":{"$ref":"#/components/schemas/SectionOutcome"}},"additionalProperties":false,"type":"object","required":["core","visibility","languages","pull_requests","issues","commits","contributors","actions","file_history"],"title":"RepoStatsSections","description":"Per-section fetch outcomes for one capture."},"RepoStatsSummary":{"properties":{"commits_total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Commits Total"},"commits_provenance":{"anyOf":[{"type":"string","enum":["verified","claimed"]},{"type":"null"}],"title":"Commits Provenance"},"contributors_total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Contributors Total"},"contributors_provenance":{"anyOf":[{"type":"string","enum":["verified","claimed"]},{"type":"null"}],"title":"Contributors Provenance"},"pull_requests_total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Pull Requests Total"},"pull_requests_provenance":{"anyOf":[{"type":"string","enum":["verified","claimed"]},{"type":"null"}],"title":"Pull Requests Provenance"},"ci_pass_rate":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Ci Pass Rate"},"ci_provenance":{"anyOf":[{"type":"string","enum":["verified","claimed"]},{"type":"null"}],"title":"Ci Provenance"},"created_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Created At"},"pushed_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Pushed At"},"license_spdx":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"License Spdx"},"core_provenance":{"anyOf":[{"type":"string","enum":["verified","claimed"]},{"type":"null"}],"title":"Core Provenance"}},"type":"object","title":"RepoStatsSummary","description":"Buyer-safe projection of a codebase's frozen stats capture.\n\nThe raw capture never reaches buyers (its file history names real repo\npaths); this carries the aggregate facts, each tagged with who supplied\nit: \"verified\" for platform captures from GitHub, \"claimed\" for numbers\nthe vendor's manifest asserted."},"RoboticsAssetMetadata":{"properties":{"format":{"type":"string","enum":["lerobot_v3","lerobot_v2","ego_exo","other"],"title":"Format"}},"additionalProperties":false,"type":"object","required":["format"],"title":"RoboticsAssetMetadata","description":"Vendor-declared robotics format subtype.\n\nNot server-derived: the attach UI sets ``format`` so QC can skip checks\nthat do not apply (LeRobot schema vs ego/exo layout)."},"RoboticsHubIngestStatus":{"properties":{"dataset_id":{"type":"string","title":"Dataset Id"},"status":{"type":"string","enum":["pending","ingesting","ready","failed"],"title":"Status"},"bytes_copied":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Bytes Copied"},"error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error"}},"type":"object","required":["dataset_id","status"],"title":"RoboticsHubIngestStatus","description":"Hub → HUD copy while Review waits on ingest."},"ScenarioArgument":{"properties":{"name":{"type":"string","title":"Name"},"required":{"type":"boolean","title":"Required","default":false},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Type"},"default":{"anyOf":[{},{"type":"null"}],"title":"Default"},"inputSchema":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Inputschema"}},"type":"object","required":["name"],"title":"ScenarioArgument"},"SectionOutcome":{"properties":{"status":{"type":"string","enum":["ok","unavailable_permission","unavailable_auth","not_found","rate_limited","error","skipped"],"title":"Status"},"source":{"type":"string","enum":["forge","git_archive","archive_capture","vendor_manifest"],"title":"Source","default":"forge"},"detail":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Detail"}},"additionalProperties":false,"type":"object","required":["status"],"title":"SectionOutcome","description":"How one stats section's fetch concluded.\n\n``source`` is who produced the section, and it decides precedence when two\ncaptures hold the same one. It defaults to ``forge`` because the App is the\ndefault producer; every other source stamps itself. A section no source\nproduced — a slot cleared for a re-read — carries the default and is never\nread for provenance, since it holds no payload."},"SkuDeprecationResponse":{"properties":{"deprecated_at":{"type":"string","format":"date-time","title":"Deprecated At"},"retires_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Retires At"},"retired":{"type":"boolean","title":"Retired"},"accepts_new_listings":{"type":"boolean","title":"Accepts New Listings"},"message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Message"}},"type":"object","required":["deprecated_at","retires_at","retired","accepts_new_listings","message"],"title":"SkuDeprecationResponse","description":"A deprecated SKU: it accepts no new assets, and listings carrying it are archived at ``retires_at``."},"StagedUploadCompleteRequest":{"properties":{"upload_id":{"type":"string","format":"uuid","title":"Upload Id"},"filename":{"type":"string","maxLength":300,"minLength":1,"title":"Filename"},"s3_upload_id":{"anyOf":[{"type":"string","maxLength":1024},{"type":"null"}],"title":"S3 Upload Id"},"parts":{"anyOf":[{"items":{"$ref":"#/components/schemas/StagedUploadCompletedPart"},"type":"array"},{"type":"null"}],"title":"Parts"}},"type":"object","required":["upload_id","filename"],"title":"StagedUploadCompleteRequest","description":"Finish an upload: multipart uploads assemble their parts first.\n\n``s3_upload_id`` and ``parts`` echo a multipart reservation and must be\nprovided together; single-PUT uploads send neither."},"StagedUploadCompletedPart":{"properties":{"part_number":{"type":"integer","minimum":1.0,"title":"Part Number"},"etag":{"type":"string","maxLength":200,"minLength":1,"title":"Etag"}},"type":"object","required":["part_number","etag"],"title":"StagedUploadCompletedPart"},"StagedUploadCreateRequest":{"properties":{"content_type":{"type":"string","maxLength":200,"minLength":1,"title":"Content Type"},"size_bytes":{"type":"integer","minimum":1.0,"title":"Size Bytes"}},"type":"object","required":["content_type","size_bytes"],"title":"StagedUploadCreateRequest","description":"Reserve a pending upload slot for the declared payload.\n\nThe declared type and size are bound into the presigned PUT(s); the bytes\nthemselves are validated at completion."},"StagedUploadMultipartResponse":{"properties":{"mode":{"type":"string","const":"multipart","title":"Mode"},"upload_id":{"type":"string","format":"uuid","title":"Upload Id"},"s3_upload_id":{"type":"string","title":"S3 Upload Id"},"part_size":{"type":"integer","title":"Part Size"},"parts":{"items":{"$ref":"#/components/schemas/StagedUploadPartTarget"},"type":"array","title":"Parts"}},"type":"object","required":["mode","upload_id","s3_upload_id","part_size","parts"],"title":"StagedUploadMultipartResponse","description":"A reserved multipart upload.\n\nSlice the file into ``part_size`` chunks (the last part may be short),\nPUT each slice to its part's ``upload_url`` — in parallel if desired —\nand collect each response's ``ETag`` header. Then call the complete\nendpoint with ``upload_id``, ``s3_upload_id``, and the part/ETag pairs."},"StagedUploadPartTarget":{"properties":{"part_number":{"type":"integer","title":"Part Number"},"upload_url":{"type":"string","title":"Upload Url"},"size_bytes":{"type":"integer","title":"Size Bytes"}},"type":"object","required":["part_number","upload_url","size_bytes"],"title":"StagedUploadPartTarget","description":"One slice of a multipart upload: PUT exactly ``size_bytes`` to ``upload_url``."},"StagedUploadPartsRequest":{"properties":{"upload_id":{"type":"string","format":"uuid","title":"Upload Id"},"s3_upload_id":{"type":"string","maxLength":1024,"minLength":1,"title":"S3 Upload Id"},"size_bytes":{"type":"integer","minimum":1.0,"title":"Size Bytes"},"part_numbers":{"items":{"type":"integer"},"type":"array","maxItems":4096,"minItems":1,"title":"Part Numbers"}},"type":"object","required":["upload_id","s3_upload_id","size_bytes","part_numbers"],"title":"StagedUploadPartsRequest","description":"Fresh URLs for parts of a multipart reservation whose originals expired.\n\n``size_bytes`` re-declares the reservation's total so the server can\nrecompute the deterministic part plan; completion still verifies the size\nstamped at create, so a mismatched redeclaration cannot publish anything."},"StagedUploadPartsResponse":{"properties":{"parts":{"items":{"$ref":"#/components/schemas/StagedUploadPartTarget"},"type":"array","title":"Parts"}},"type":"object","required":["parts"],"title":"StagedUploadPartsResponse"},"StagedUploadSingleResponse":{"properties":{"mode":{"type":"string","const":"single","title":"Mode"},"upload_id":{"type":"string","format":"uuid","title":"Upload Id"},"upload_url":{"type":"string","title":"Upload Url"}},"type":"object","required":["mode","upload_id","upload_url"],"title":"StagedUploadSingleResponse","description":"A reserved single-request upload.\n\nPUT the file bytes to ``upload_url`` with exactly the declared\n``Content-Type`` and ``Content-Length`` (both are part of the signature),\nthen call the complete endpoint with ``upload_id``."},"StoredAttachment":{"properties":{"name":{"type":"string","title":"Name"},"upload_url":{"type":"string","title":"Upload Url"},"size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Size"},"content_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Content Type"},"status":{"type":"string","enum":["staged","archived","failed"],"title":"Status","default":"staged"},"storage_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Storage Url"},"error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error"},"archived_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Archived At"}},"type":"object","required":["name","upload_url"],"title":"StoredAttachment","description":"One attachment as persisted in the owning entity's JSONB list.\n\n``upload_url`` is the staged upload locator the uploader attached. The\narchive worker copies it under the entity's own prefix and records the\noutcome: ``status='archived'`` with ``storage_url``/``size``, or\n``status='failed'`` with ``error``."},"TaskActivityEvent":{"properties":{"event":{"type":"string","title":"Event"},"at":{"type":"string","title":"At"},"by":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"By"},"by_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"By Name"},"by_avatar_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"By Avatar Url"},"by_role":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"By Role"},"key":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Key"},"done":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Done"},"summary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Summary"},"version":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Version"}},"type":"object","required":["event","at"],"title":"TaskActivityEvent"},"TaskAssetImportRequest":{"properties":{"taskset_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Taskset Id"},"task_ids":{"anyOf":[{"items":{"type":"string","format":"uuid"},"type":"array","maxItems":500,"minItems":1},{"type":"null"}],"title":"Task Ids"},"task_type":{"type":"string","enum":["coding","finance","legal","general"],"title":"Task Type"},"group_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Group Id"}},"additionalProperties":false,"type":"object","required":["task_type"],"title":"TaskAssetImportRequest","description":"Which tasks to import: every live task of one taskset, or a hand-picked set of tasks.\n\nExactly one of ``taskset_id`` and ``task_ids`` is sent. ``task_type`` is\nthe vendor's classification of every version this request imports (QC\nruns per type); it is required and may be changed later on each asset.\n``group_id`` is one of the team's live groups; without it the assets land\nin a group named after the taskset (created when missing), or in the\ndefault group when hand-picked tasks span several tasksets."},"TaskAssetImportResponse":{"properties":{"imported":{"items":{"$ref":"#/components/schemas/TaskAssetResponse"},"type":"array","title":"Imported"},"existing":{"items":{"$ref":"#/components/schemas/TaskAssetResponse"},"type":"array","title":"Existing"},"skipped":{"items":{"$ref":"#/components/schemas/TaskImportSkip"},"type":"array","title":"Skipped"}},"type":"object","required":["imported","existing","skipped"],"title":"TaskAssetImportResponse","description":"The assets created by this call, those its versions already had, and the tasks left out.\n\nAn asset stands for one task version, so a task whose latest version was\nimported before comes back under ``existing``; after an edit on HUD the\ntask has a new latest version and imports again as a new asset."},"TaskAssetListResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/TaskAssetResponse"},"type":"array","title":"Items"},"total":{"type":"integer","title":"Total"},"limit":{"type":"integer","title":"Limit"},"offset":{"type":"integer","title":"Offset"}},"type":"object","required":["items","total","limit","offset"],"title":"TaskAssetListResponse","description":"A bounded page of imported task assets."},"TaskAssetResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"listable":{"type":"boolean","title":"Listable"},"group_id":{"type":"string","format":"uuid","title":"Group Id"},"title":{"type":"string","title":"Title"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"domain_tags":{"items":{"type":"string"},"type":"array","title":"Domain Tags"},"other_domain":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Other Domain"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"},"price_usd":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Price Usd"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updated At"},"data":{"anyOf":[{"$ref":"#/components/schemas/AssetDataResponse"},{"type":"null"}]},"listings":{"items":{"$ref":"#/components/schemas/AssetListingMembership"},"type":"array","title":"Listings"},"missing":{"items":{"type":"string"},"type":"array","title":"Missing"},"deprecation":{"anyOf":[{"$ref":"#/components/schemas/SkuDeprecationResponse"},{"type":"null"}]},"sku":{"type":"string","const":"task","title":"Sku"},"stage":{"type":"string","enum":["incomplete","complete"],"title":"Stage"},"task":{"$ref":"#/components/schemas/TaskMetadataResponse"}},"type":"object","required":["id","listable","group_id","title","domain_tags","created_at","sku","stage","task"],"title":"TaskAssetResponse","description":"One imported platform task version and its inventory metadata."},"TaskAssetUpdateRequest":{"properties":{"group_id":{"type":"string","format":"uuid","title":"Group Id"},"description":{"anyOf":[{"type":"string","maxLength":20000,"minLength":1},{"type":"null"}],"title":"Description"},"domain_tags":{"items":{"type":"string","maxLength":100,"minLength":1},"type":"array","maxItems":5,"title":"Domain Tags"},"other_domain":{"anyOf":[{"type":"string","maxLength":100,"minLength":1},{"type":"null"}],"title":"Other Domain"},"notes":{"anyOf":[{"type":"string","maxLength":5000,"minLength":1},{"type":"null"}],"title":"Notes"},"price_usd":{"anyOf":[{"type":"number","maximum":999999999999.99,"exclusiveMinimum":0.0},{"type":"null"}],"title":"Price Usd"},"task_type":{"type":"string","enum":["coding","finance","legal","general"],"title":"Task Type"}},"additionalProperties":false,"type":"object","title":"TaskAssetUpdateRequest","description":"Partial edit of a task asset's shared columns and its task type.\n\nOnly fields present in the request change; the merged row must still\nsatisfy every rule of ``TaskAssetInput``. ``description``,\n``other_domain``, ``notes`` and ``price_usd`` accept ``null`` to clear,\nand ``domain_tags`` ``[]``; ``task_type`` takes one of its values. ``group_id`` moves the asset to a live group of the same team."},"TaskBrief":{"properties":{"prompt":{"type":"string","title":"Prompt"},"attachments":{"items":{"$ref":"#/components/schemas/StoredAttachment"},"type":"array","title":"Attachments"}},"type":"object","required":["prompt"],"title":"TaskBrief","description":"The persisted shape of ``task_versions.brief``.\n\nDrafts are no longer authored; the brief-archive worker is the only\nremaining writer."},"TaskEnvironment":{"properties":{"built":{"type":"boolean","title":"Built"}},"type":"object","required":["built"],"title":"TaskEnvironment","description":"Whether the version's environment build exists and succeeded.\n\nThe fact only: the build and registry rows behind it are project-scoped,\nso their ids stay out of the team-wide document."},"TaskEnvironmentBrief":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","title":"Name"},"build_version":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Build Version"},"origin":{"anyOf":[{"$ref":"#/components/schemas/ExternalOrigin"},{"type":"null"}]}},"type":"object","required":["id","name"],"title":"TaskEnvironmentBrief","description":"Environment holding the build a task version targets."},"TaskImportSkip":{"properties":{"task_id":{"type":"string","format":"uuid","title":"Task Id"},"reason":{"type":"string","enum":["no_version","no_build","build_not_succeeded","deleted","foreign"],"title":"Reason"}},"type":"object","required":["task_id","reason"],"title":"TaskImportSkip","description":"A selected task that was not imported, and why."},"TaskMetadataResponse":{"properties":{"task_version_id":{"type":"string","format":"uuid","title":"Task Version Id"},"task_id":{"type":"string","format":"uuid","title":"Task Id"},"task_name":{"type":"string","title":"Task Name"},"version":{"type":"integer","title":"Version"},"task_type":{"type":"string","enum":["coding","finance","legal","general"],"title":"Task Type"},"has_traces":{"type":"boolean","title":"Has Traces"},"has_qa_results":{"type":"boolean","title":"Has Qa Results"},"has_environment":{"type":"boolean","title":"Has Environment"},"qc":{"$ref":"#/components/schemas/TaskQc"},"qc_refreshed_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Qc Refreshed At"},"extra_columns":{"additionalProperties":{"anyOf":[{"type":"string"},{"type":"integer"},{"type":"number"},{"type":"boolean"},{"type":"null"}]},"type":"object","title":"Extra Columns"}},"type":"object","required":["task_version_id","task_id","task_name","version","task_type","has_traces","has_qa_results","has_environment","qc","qc_refreshed_at","extra_columns"],"title":"TaskMetadataResponse","description":"A task asset's metadata: the platform task version the asset stands for.\n\nA task asset has no data object; this block is its reference to the\nplatform. ``task_name`` and ``version`` are what the asset was titled\nfrom when it was imported; ``task_type`` is the vendor's classification\nof the task, which decides its QC pipeline. The ``has_*`` facts are\nderived from ``qc``, the platform's model runs, QA agent results and\nenvironment for the version as of ``qc_refreshed_at`` (null until the\nplatform has been read once)."},"TaskModelRuns":{"properties":{"pass_at_k":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Pass At K"},"k":{"type":"integer","title":"K","default":0},"runs":{"type":"integer","title":"Runs","default":0},"avg_reward":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Avg Reward"},"last_run_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Run At"}},"type":"object","title":"TaskModelRuns","description":"One model's graded runs on the version; ``pass_at_k`` is the mean reward over the newest ``k``.\n\nAggregates only: the inventory is team-wide, while the traces behind\nthem are project-scoped, so their ids never land in the document."},"TaskQaAgentResult":{"properties":{"status":{"$ref":"#/components/schemas/QaResultStatus"},"verdict":{"anyOf":[{"type":"string","enum":["passed","failed","unknown"]},{"type":"null"}],"title":"Verdict"},"summary":{"anyOf":[{"$ref":"#/components/schemas/TaskQaSummary"},{"type":"null"}]},"at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"At"}},"type":"object","required":["status"],"title":"TaskQaAgentResult","description":"The result in effect for one QA check on the version's latest subject trace."},"TaskQaSummary":{"properties":{"findings":{"type":"integer","title":"Findings","default":0}},"type":"object","title":"TaskQaSummary","description":"How much a completed QA check found; its prose stays with the project-scoped QA result."},"TaskQc":{"properties":{"pass_at_k":{"additionalProperties":{"$ref":"#/components/schemas/TaskModelRuns"},"type":"object","title":"Pass At K"},"unattributed_runs":{"anyOf":[{"$ref":"#/components/schemas/TaskModelRuns"},{"type":"null"}]},"qa_agents":{"additionalProperties":{"$ref":"#/components/schemas/TaskQaAgentResult"},"type":"object","title":"Qa Agents"},"environment":{"anyOf":[{"$ref":"#/components/schemas/TaskEnvironment"},{"type":"null"}]}},"type":"object","title":"TaskQc","description":"The ``task_metadata.qc`` document. Keys are stable; values may grow."},"TaskQcFacetsResponse":{"properties":{"models":{"items":{"type":"string"},"type":"array","title":"Models"},"qa_agents":{"items":{"type":"string"},"type":"array","title":"Qa Agents"}},"type":"object","required":["models","qa_agents"],"title":"TaskQcFacetsResponse","description":"The values the team's task QC documents hold, for the inventory's filter pickers."},"TaskQcRefreshResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"status":{"type":"string","enum":["queued","running","succeeded","failed"],"title":"Status"},"requested_at":{"type":"string","format":"date-time","title":"Requested At"},"started_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Started At"},"finished_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Finished At"},"total":{"type":"integer","title":"Total"},"refreshed":{"type":"integer","title":"Refreshed"},"error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error"}},"type":"object","required":["id","status","requested_at","started_at","finished_at","total","refreshed","error"],"title":"TaskQcRefreshResponse","description":"One team-wide refresh of task QC metadata.\n\n``total`` is the team's live task assets when the job started and\n``refreshed`` how many it has rewritten so far; ``error`` is set when the\nrefresh ``failed``."},"TaskQcRefreshStateResponse":{"properties":{"refresh":{"anyOf":[{"$ref":"#/components/schemas/TaskQcRefreshResponse"},{"type":"null"}]},"qc_refreshed_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Qc Refreshed At"}},"type":"object","required":["refresh","qc_refreshed_at"],"title":"TaskQcRefreshStateResponse","description":"The team's task QC refresh: the one in flight or the last one, and the last full refresh."},"TaskResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"taskset_id":{"type":"string","format":"uuid","title":"Taskset Id"},"name":{"type":"string","title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"latest_version_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Latest Version Id"},"external_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"External Id"},"column_values":{"additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"type":"object","title":"Column Values"},"binarized":{"type":"boolean","title":"Binarized","default":false},"tags":{"items":{"type":"string"},"type":"array","title":"Tags"},"assignee_user_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Assignee User Id"},"activity_log":{"items":{"$ref":"#/components/schemas/TaskActivityEvent"},"type":"array","title":"Activity Log"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","taskset_id","name","created_at"],"title":"TaskResponse"},"TaskScenarioBrief":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"registry_id":{"type":"string","format":"uuid","title":"Registry Id"},"build_id":{"type":"string","format":"uuid","title":"Build Id"},"sdk_generation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sdk Generation"},"arguments":{"items":{"$ref":"#/components/schemas/ScenarioArgument"},"type":"array","title":"Arguments","default":[]},"registry_display_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Registry Display Name"},"build_version":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Build Version"},"has_workspace":{"type":"boolean","title":"Has Workspace","default":false}},"type":"object","required":["id","name","registry_id","build_id"],"title":"TaskScenarioBrief"},"TaskState":{"type":"string","enum":["draft","pending","ready","verified","revision","rejected"],"title":"TaskState","description":"Canonical task workflow state.\n\nLives in the kernel so both the DB layer (orm.py pg enum) and the decision\ncore (tasks.state) depend downward on it."},"TaskVersionResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"task_id":{"type":"string","format":"uuid","title":"Task Id"},"scenario_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Scenario Id"},"build_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Build Id"},"scenario_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Scenario Name"},"version":{"type":"integer","title":"Version"},"validation":{"anyOf":[{"items":{"additionalProperties":true,"type":"object"},"type":"array"},{"type":"null"}],"title":"Validation"},"scenario_args":{"additionalProperties":true,"type":"object","title":"Scenario Args"},"system_prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"System Prompt"},"agent_config":{"additionalProperties":true,"type":"object","title":"Agent Config"},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata"},"status":{"type":"string","title":"Status","default":"active"},"current_state":{"$ref":"#/components/schemas/TaskState","default":"pending"},"lifecycle_stage":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Lifecycle Stage"},"brief":{"anyOf":[{"$ref":"#/components/schemas/TaskBrief"},{"type":"null"}]},"internally_reviewed_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Internally Reviewed At"},"internally_reviewed_by":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Internally Reviewed By"},"previous_review_decision":{"anyOf":[{"$ref":"#/components/schemas/TaskState"},{"type":"null"}]},"previous_review_decision_version_number":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Previous Review Decision Version Number"},"revision_requested_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Revision Requested At"},"scenario":{"anyOf":[{"$ref":"#/components/schemas/TaskScenarioBrief"},{"type":"null"}]},"environment":{"anyOf":[{"$ref":"#/components/schemas/TaskEnvironmentBrief"},{"type":"null"}]},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","task_id","version","created_at"],"title":"TaskVersionResponse"},"TaskVersionTraceStats":{"properties":{"task_version_id":{"type":"string","format":"uuid","title":"Task Version Id"},"traces":{"items":{"$ref":"#/components/schemas/TraceStatsItem"},"type":"array","title":"Traces"},"last_run_build_version":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Last Run Build Version"},"latest_env_build_version":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Latest Env Build Version"}},"type":"object","required":["task_version_id","traces"],"title":"TaskVersionTraceStats"},"TaskWithVersionResponse":{"properties":{"task":{"$ref":"#/components/schemas/TaskResponse"},"version":{"$ref":"#/components/schemas/TaskVersionResponse"}},"type":"object","required":["task","version"],"title":"TaskWithVersionResponse"},"TasksWithStatsResponse":{"properties":{"tasks":{"items":{"$ref":"#/components/schemas/TaskWithVersionResponse"},"type":"array","title":"Tasks"},"task_stats":{"items":{"$ref":"#/components/schemas/TaskVersionTraceStats"},"type":"array","title":"Task Stats"},"derived_column_values":{"additionalProperties":{"additionalProperties":{"$ref":"#/components/schemas/DerivedColumnValue"},"propertyNames":{"format":"uuid"},"type":"object"},"type":"object","title":"Derived Column Values"}},"type":"object","required":["tasks","task_stats"],"title":"TasksWithStatsResponse"},"TasksetAssetMetadata":{"properties":{"task_count":{"type":"integer","minimum":0.0,"title":"Task Count"}},"additionalProperties":false,"type":"object","required":["task_count"],"title":"TasksetAssetMetadata"},"TasksetMetadataResponse":{"properties":{"taskset_id":{"type":"string","format":"uuid","title":"Taskset Id"},"task_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Task Count"},"extra_columns":{"additionalProperties":{"anyOf":[{"type":"string"},{"type":"integer"},{"type":"number"},{"type":"boolean"},{"type":"null"}]},"type":"object","title":"Extra Columns"}},"type":"object","required":["taskset_id","extra_columns"],"title":"TasksetMetadataResponse","description":"A HUD taskset asset's metadata: the platform taskset and its task count."},"TraceStatsItem":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"reward":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Reward"},"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"job_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Job Id"},"model_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Model Id"},"model_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model Name"}},"type":"object","required":["id","created_at"],"title":"TraceStatsItem"},"UploadSource":{"properties":{"channel":{"type":"string","const":"zip","title":"Channel"},"url":{"type":"string","maxLength":2000,"minLength":11,"title":"Url"}},"additionalProperties":false,"type":"object","required":["channel","url"],"title":"UploadSource","description":"A completed team upload."},"ValidationError":{"title":"ValidationError","type":"object","properties":{"type":{"type":"string","title":"Error Type"},"loc":{"type":"array","items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"title":"Location"},"msg":{"type":"string","title":"Message"}},"required":["type","loc","msg"]},"VendorListingsResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/ListingResponse"},"type":"array","title":"Items"},"limit":{"type":"integer","title":"Limit"},"offset":{"type":"integer","title":"Offset"},"counts":{"$ref":"#/components/schemas/ListingBrowseCounts"},"facets":{"$ref":"#/components/schemas/ListingBrowseFacets"},"summary":{"$ref":"#/components/schemas/VendorWorkspaceSummary"}},"type":"object","required":["items","limit","offset","counts","facets","summary"],"title":"VendorListingsResponse"},"VendorWorkspaceSummary":{"properties":{"active":{"type":"integer","title":"Active"},"in_review":{"type":"integer","title":"In Review"},"drafts":{"type":"integer","title":"Drafts"},"listed_value":{"type":"number","title":"Listed Value"}},"type":"object","required":["active","in_review","drafts","listed_value"],"title":"VendorWorkspaceSummary"},"WalletBalances":{"properties":{"total":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Total"},"pending":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Pending"},"available":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Available"}},"type":"object","required":["total","pending","available"],"title":"WalletBalances","description":"Derived earnings balances.\n\n``total`` is the full signed ledger sum, ``available`` counts entries\nwhose ``available_at`` has passed, and ``pending`` is the remainder still\nsettling. Refund clawbacks share the reversed sale's availability date."},"WalletResponse":{"properties":{"credits_balance":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Credits Balance"},"earnings":{"$ref":"#/components/schemas/WalletBalances"},"currency":{"type":"string","title":"Currency","default":"usd"}},"type":"object","required":["credits_balance","earnings"],"title":"WalletResponse","description":"The team's money surfaces: HUD credits plus vendor earnings balances.\n\nEarnings are all zero for teams that never sold anything."},"ZipAssetMetadata":{"properties":{"entry_count":{"type":"integer","minimum":0.0,"title":"Entry Count"},"total_uncompressed_bytes":{"type":"integer","minimum":0.0,"title":"Total Uncompressed Bytes"},"top_level_entries":{"items":{"type":"string"},"type":"array","title":"Top Level Entries"},"extensions":{"additionalProperties":{"type":"integer"},"type":"object","title":"Extensions"},"size_display":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Size Display","description":"Human-readable uncompressed size; None until a manifest read lands one.","readOnly":true}},"additionalProperties":false,"type":"object","required":["entry_count","total_uncompressed_bytes","size_display"],"title":"ZipAssetMetadata"}}}}