{"openapi":"3.1.0","info":{"title":"Product Catalog Push API","version":"2026-10-31","description":"The server-to-server routes of the Product Catalog extension under `/v1/catalog/`. Every route but this document takes a secret key as a bearer token: a store key (`pc_sk_…`) reaches the whole catalog, a vendor key (`pc_vk_…`) only its own vendor's products, jobs and runs, on the routes whose `security` lists `vendorKey`. A request body is at most 5 MiB (5,242,880 bytes), and at most 1 MiB (1,048,576 bytes) for `PATCH /v1/catalog/inventory`; a larger one answers `413 REQUEST_BODY_TOO_LARGE`. Errors answer `PushErrorEnvelope`; `x-push-errors` lists every code with its statuses."},"servers":[{"url":"https://catalog.usethrottle.dev"}],"tags":[{"name":"Meta","description":"This document."},{"name":"Jobs","description":"Sync jobs: stage many batches, then close the job to apply them together."},{"name":"Batches","description":"One batch of rows pushed as a run."},{"name":"Runs","description":"Run progress, error reports and stock results."},{"name":"Products","description":"Read a caller's products; archive, restore, rename, assign."},{"name":"Inventory","description":"Synchronous price, availability and stock updates."}],"paths":{"/v1/catalog/openapi.json":{"get":{"operationId":"getPushOpenApi","summary":"This document.","tags":["Meta"],"security":[],"parameters":[{"$ref":"#/components/parameters/IfNoneMatch"}],"responses":{"200":{"description":"OK.","headers":{"ETag":{"$ref":"#/components/headers/ETag"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushOpenApiDocument"}}}},"304":{"description":"Not modified: the answer still matches `If-None-Match`.","headers":{"ETag":{"$ref":"#/components/headers/ETag"}}}}}},"/v1/catalog/jobs":{"post":{"operationId":"openPushJob","summary":"Open a sync job: a staged, all-or-nothing push of many batches.","tags":["Jobs"],"security":[{"storeKey":[]},{"vendorKey":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenJobRequest"}}}},"responses":{"201":{"description":"Created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushJobAnswer"}}}},"400":{"description":"Invalid request: a malformed parameter, header or body (`issues` names each).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}},"401":{"description":"Missing, unknown or revoked key (`AUTHENTICATION_FAILED`).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}},"403":{"description":"Refused for this key (`VENDOR_PAUSED`, `VENDOR_KEY_NOT_ALLOWED`).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}},"409":{"description":"Conflict with the state of the job, run or catalog, or with an earlier request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}},"413":{"description":"Request body too large.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}},"429":{"description":"Rate limited or queue full: retry after `Retry-After` seconds.","headers":{"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}},"500":{"description":"Internal error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}},"503":{"description":"Temporarily unavailable: retry after `Retry-After` seconds when present.","headers":{"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}}},"x-sdk":"jobs.open"}},"/v1/catalog/jobs/{jobId}/batches":{"post":{"operationId":"sendPushJobBatch","summary":"Stage a batch of rows in an open job (validated now, applied when the job closes).","tags":["Jobs"],"security":[{"storeKey":[]},{"vendorKey":[]}],"parameters":[{"name":"jobId","in":"path","description":"The id of the job.","required":true,"schema":{"type":"string","minLength":1}},{"name":"profile","in":"query","description":"The name of a saved products mapping profile: the rows are mapped on arrival.","required":false,"schema":{"type":"string","minLength":1}},{"$ref":"#/components/parameters/IdempotencyKeyForAdjust"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobBatchRequest"}}}},"responses":{"202":{"description":"Accepted: the work continues after the answer.","headers":{"Idempotent-Replayed":{"$ref":"#/components/headers/IdempotentReplayed"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobBatchAnswer"}}}},"400":{"description":"Invalid request: a malformed parameter, header or body (`issues` names each).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}},"401":{"description":"Missing, unknown or revoked key (`AUTHENTICATION_FAILED`).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}},"403":{"description":"Refused for this key (`VENDOR_PAUSED`, `VENDOR_KEY_NOT_ALLOWED`).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}},"404":{"description":"Not found, or outside what this key may reach.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}},"409":{"description":"Conflict with the state of the job, run or catalog, or with an earlier request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}},"413":{"description":"Request body too large: the limit is 5 MiB (5,242,880 bytes); the code is `REQUEST_BODY_TOO_LARGE`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}},"422":{"description":"The request is well formed but cannot be done.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}},"429":{"description":"Rate limited or queue full: retry after `Retry-After` seconds.","headers":{"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}},"500":{"description":"Internal error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}},"503":{"description":"Temporarily unavailable: retry after `Retry-After` seconds when present.","headers":{"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}}},"x-sdk":"jobs.send"}},"/v1/catalog/jobs/{jobId}/close":{"post":{"operationId":"closePushJob","summary":"Close a job: its staged batches are applied together.","tags":["Jobs"],"security":[{"storeKey":[]},{"vendorKey":[]}],"parameters":[{"name":"jobId","in":"path","description":"The id of the job.","required":true,"schema":{"type":"string","minLength":1}}],"responses":{"200":{"description":"OK.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushJobAnswer"}}}},"202":{"description":"Accepted: the work continues after the answer.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushJobAnswer"}}}},"401":{"description":"Missing, unknown or revoked key (`AUTHENTICATION_FAILED`).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}},"403":{"description":"Refused for this key (`VENDOR_PAUSED`, `VENDOR_KEY_NOT_ALLOWED`).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}},"404":{"description":"Not found, or outside what this key may reach.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}},"409":{"description":"Conflict with the state of the job, run or catalog, or with an earlier request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}},"429":{"description":"Rate limited or queue full: retry after `Retry-After` seconds.","headers":{"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}},"500":{"description":"Internal error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}},"503":{"description":"Temporarily unavailable: retry after `Retry-After` seconds when present.","headers":{"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}}},"x-sdk":"jobs.close"}},"/v1/catalog/jobs/{jobId}":{"get":{"operationId":"getPushJob","summary":"The job's progress view.","tags":["Jobs"],"security":[{"storeKey":[]},{"vendorKey":[]}],"parameters":[{"name":"jobId","in":"path","description":"The id of the job.","required":true,"schema":{"type":"string","minLength":1}},{"name":"include","in":"query","description":"Set to `batches` to list each batch with its status.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushJobAnswer"}}}},"401":{"description":"Missing, unknown or revoked key (`AUTHENTICATION_FAILED`).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}},"403":{"description":"Refused for this key (`VENDOR_PAUSED`, `VENDOR_KEY_NOT_ALLOWED`).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}},"404":{"description":"Not found, or outside what this key may reach.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}},"429":{"description":"Rate limited or queue full: retry after `Retry-After` seconds.","headers":{"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}},"500":{"description":"Internal error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}},"503":{"description":"Temporarily unavailable: retry after `Retry-After` seconds when present.","headers":{"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}}},"x-sdk":"jobs.get"}},"/v1/catalog/jobs/{jobId}/errors.csv":{"get":{"operationId":"getJobErrorsCsv","summary":"The job's error report as CSV.","tags":["Jobs"],"security":[{"storeKey":[]},{"vendorKey":[]}],"parameters":[{"name":"jobId","in":"path","description":"The id of the job.","required":true,"schema":{"type":"string","minLength":1}}],"responses":{"200":{"description":"OK.","content":{"text/csv":{"schema":{"type":"string"}}}},"401":{"description":"Missing, unknown or revoked key (`AUTHENTICATION_FAILED`).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}},"403":{"description":"Refused for this key (`VENDOR_PAUSED`, `VENDOR_KEY_NOT_ALLOWED`).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}},"404":{"description":"Not found, or outside what this key may reach.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}},"409":{"description":"Conflict with the state of the job, run or catalog, or with an earlier request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}},"410":{"description":"The report has expired (`REPORT_EXPIRED`).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}},"429":{"description":"Rate limited or queue full: retry after `Retry-After` seconds.","headers":{"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}},"500":{"description":"Internal error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}},"503":{"description":"Temporarily unavailable: retry after `Retry-After` seconds when present.","headers":{"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}}},"x-sdk":"jobs.errorsCsv"}},"/v1/catalog/jobs/{jobId}/stock":{"get":{"operationId":"getJobStockResults","summary":"Per-row stock results of the job, a page at a time.","tags":["Jobs"],"security":[{"storeKey":[]},{"vendorKey":[]}],"parameters":[{"name":"jobId","in":"path","description":"The id of the job.","required":true,"schema":{"type":"string","minLength":1}},{"name":"cursor","in":"query","description":"The `nextCursor` of the previous page.","required":false,"schema":{"type":"string","minLength":1,"maxLength":100}},{"name":"limit","in":"query","description":"How many to return, from 1 to 500.","required":false,"schema":{"default":100,"type":"integer","minimum":1,"maximum":500}}],"responses":{"200":{"description":"OK.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushStockPage"}}}},"400":{"description":"Invalid request: a malformed parameter, header or body (`issues` names each).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}},"401":{"description":"Missing, unknown or revoked key (`AUTHENTICATION_FAILED`).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}},"403":{"description":"Refused for this key (`VENDOR_PAUSED`, `VENDOR_KEY_NOT_ALLOWED`).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}},"404":{"description":"Not found, or outside what this key may reach.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}},"410":{"description":"The report has expired (`REPORT_EXPIRED`).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}},"429":{"description":"Rate limited or queue full: retry after `Retry-After` seconds.","headers":{"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}},"500":{"description":"Internal error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}},"503":{"description":"Temporarily unavailable: retry after `Retry-After` seconds when present.","headers":{"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}}},"x-sdk":"jobs.stockResults"}},"/v1/catalog/jobs/{jobId}/stock.csv":{"get":{"operationId":"getJobStockCsv","summary":"Every stock result of the job as CSV.","tags":["Jobs"],"security":[{"storeKey":[]},{"vendorKey":[]}],"parameters":[{"name":"jobId","in":"path","description":"The id of the job.","required":true,"schema":{"type":"string","minLength":1}}],"responses":{"200":{"description":"OK.","content":{"text/csv":{"schema":{"type":"string"}}}},"401":{"description":"Missing, unknown or revoked key (`AUTHENTICATION_FAILED`).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}},"403":{"description":"Refused for this key (`VENDOR_PAUSED`, `VENDOR_KEY_NOT_ALLOWED`).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}},"404":{"description":"Not found, or outside what this key may reach.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}},"409":{"description":"Conflict with the state of the job, run or catalog, or with an earlier request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}},"410":{"description":"The report has expired (`REPORT_EXPIRED`).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}},"429":{"description":"Rate limited or queue full: retry after `Retry-After` seconds.","headers":{"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}},"500":{"description":"Internal error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}},"503":{"description":"Temporarily unavailable: retry after `Retry-After` seconds when present.","headers":{"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}}},"x-sdk":"jobs.stockCsv"}},"/v1/catalog/variants":{"post":{"operationId":"pushVariants","summary":"Push one batch of rows as a run (a vendor key: an implicit one-batch job).","tags":["Batches"],"security":[{"storeKey":[]},{"vendorKey":[]}],"parameters":[{"name":"mode","in":"query","description":"A vendor key only: `merge`, or `replace` to drop the vendor product fields the rows leave out.","required":false,"schema":{"default":"merge","type":"string","enum":["merge","replace"]}},{"name":"profile","in":"query","description":"The name of a saved products mapping profile: the rows are mapped on arrival.","required":false,"schema":{"type":"string","minLength":1}},{"$ref":"#/components/parameters/IdempotencyKeyForAdjust"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushVariantsRequest"}}}},"responses":{"202":{"description":"Accepted: the work continues after the answer.","headers":{"Idempotent-Replayed":{"$ref":"#/components/headers/IdempotentReplayed"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushRunStarted"}}}},"400":{"description":"Invalid request: a malformed parameter, header or body (`issues` names each).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}},"401":{"description":"Missing, unknown or revoked key (`AUTHENTICATION_FAILED`).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}},"403":{"description":"Refused for this key (`VENDOR_PAUSED`, `VENDOR_KEY_NOT_ALLOWED`).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}},"404":{"description":"Not found, or outside what this key may reach.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}},"409":{"description":"Conflict with the state of the job, run or catalog, or with an earlier request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}},"413":{"description":"Request body too large: the limit is 5 MiB (5,242,880 bytes); the code is `REQUEST_BODY_TOO_LARGE`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}},"422":{"description":"The request is well formed but cannot be done.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}},"429":{"description":"Rate limited or queue full: retry after `Retry-After` seconds.","headers":{"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}},"500":{"description":"Internal error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}},"503":{"description":"Temporarily unavailable: retry after `Retry-After` seconds when present.","headers":{"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}}},"x-sdk":"batches.send"}},"/v1/catalog/inventory":{"patch":{"operationId":"updateInventory","summary":"Set or adjust prices, availability and stock by SKU, synchronously.","tags":["Inventory"],"security":[{"storeKey":[]},{"vendorKey":[]}],"parameters":[{"$ref":"#/components/parameters/IdempotencyKeyForAdjust"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushInventoryRequest"}}}},"responses":{"200":{"description":"OK.","headers":{"Idempotent-Replayed":{"$ref":"#/components/headers/IdempotentReplayed"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushInventoryAnswer"}}}},"400":{"description":"Invalid request: a malformed parameter, header or body (`issues` names each).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}},"401":{"description":"Missing, unknown or revoked key (`AUTHENTICATION_FAILED`).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}},"403":{"description":"Refused for this key (`VENDOR_PAUSED`, `VENDOR_KEY_NOT_ALLOWED`).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}},"409":{"description":"Conflict with the state of the job, run or catalog, or with an earlier request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}},"413":{"description":"Request body too large: the limit is 1 MiB (1,048,576 bytes); the code is `REQUEST_BODY_TOO_LARGE`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}},"429":{"description":"Rate limited or queue full: retry after `Retry-After` seconds.","headers":{"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}},"500":{"description":"Internal error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}},"503":{"description":"Temporarily unavailable: retry after `Retry-After` seconds when present.","headers":{"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}}},"x-sdk":"inventory.set"}},"/v1/catalog/runs/{runId}":{"get":{"operationId":"getPushRun","summary":"A run's progress and counts.","tags":["Runs"],"security":[{"storeKey":[]},{"vendorKey":[]}],"parameters":[{"name":"runId","in":"path","description":"The id of the run.","required":true,"schema":{"type":"string","minLength":1}}],"responses":{"200":{"description":"OK.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushRunAnswer"}}}},"401":{"description":"Missing, unknown or revoked key (`AUTHENTICATION_FAILED`).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}},"403":{"description":"Refused for this key (`VENDOR_PAUSED`, `VENDOR_KEY_NOT_ALLOWED`).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}},"404":{"description":"Not found, or outside what this key may reach.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}},"429":{"description":"Rate limited or queue full: retry after `Retry-After` seconds.","headers":{"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}},"500":{"description":"Internal error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}},"503":{"description":"Temporarily unavailable: retry after `Retry-After` seconds when present.","headers":{"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}}},"x-sdk":"runs.get"}},"/v1/catalog/runs/{runId}/errors.csv":{"get":{"operationId":"getRunErrorsCsv","summary":"The run's error report as CSV.","tags":["Runs"],"security":[{"storeKey":[]},{"vendorKey":[]}],"parameters":[{"name":"runId","in":"path","description":"The id of the run.","required":true,"schema":{"type":"string","minLength":1}}],"responses":{"200":{"description":"OK.","content":{"text/csv":{"schema":{"type":"string"}}}},"401":{"description":"Missing, unknown or revoked key (`AUTHENTICATION_FAILED`).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}},"403":{"description":"Refused for this key (`VENDOR_PAUSED`, `VENDOR_KEY_NOT_ALLOWED`).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}},"404":{"description":"Not found, or outside what this key may reach.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}},"409":{"description":"Conflict with the state of the job, run or catalog, or with an earlier request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}},"410":{"description":"The report has expired (`REPORT_EXPIRED`).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}},"429":{"description":"Rate limited or queue full: retry after `Retry-After` seconds.","headers":{"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}},"500":{"description":"Internal error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}},"503":{"description":"Temporarily unavailable: retry after `Retry-After` seconds when present.","headers":{"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}}},"x-sdk":"runs.errorsCsv"}},"/v1/catalog/runs/{runId}/stock":{"get":{"operationId":"getRunStockResults","summary":"Per-row stock results of the run, a page at a time.","tags":["Runs"],"security":[{"storeKey":[]},{"vendorKey":[]}],"parameters":[{"name":"runId","in":"path","description":"The id of the run.","required":true,"schema":{"type":"string","minLength":1}},{"name":"cursor","in":"query","description":"The `nextCursor` of the previous page.","required":false,"schema":{"type":"string","minLength":1,"maxLength":100}},{"name":"limit","in":"query","description":"How many to return, from 1 to 500.","required":false,"schema":{"default":100,"type":"integer","minimum":1,"maximum":500}}],"responses":{"200":{"description":"OK.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushStockPage"}}}},"400":{"description":"Invalid request: a malformed parameter, header or body (`issues` names each).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}},"401":{"description":"Missing, unknown or revoked key (`AUTHENTICATION_FAILED`).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}},"403":{"description":"Refused for this key (`VENDOR_PAUSED`, `VENDOR_KEY_NOT_ALLOWED`).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}},"404":{"description":"Not found, or outside what this key may reach.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}},"410":{"description":"The report has expired (`REPORT_EXPIRED`).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}},"429":{"description":"Rate limited or queue full: retry after `Retry-After` seconds.","headers":{"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}},"500":{"description":"Internal error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}},"503":{"description":"Temporarily unavailable: retry after `Retry-After` seconds when present.","headers":{"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}}},"x-sdk":"runs.stockResults"}},"/v1/catalog/runs/{runId}/stock.csv":{"get":{"operationId":"getRunStockCsv","summary":"Every stock result of the run as CSV.","tags":["Runs"],"security":[{"storeKey":[]},{"vendorKey":[]}],"parameters":[{"name":"runId","in":"path","description":"The id of the run.","required":true,"schema":{"type":"string","minLength":1}}],"responses":{"200":{"description":"OK.","content":{"text/csv":{"schema":{"type":"string"}}}},"401":{"description":"Missing, unknown or revoked key (`AUTHENTICATION_FAILED`).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}},"403":{"description":"Refused for this key (`VENDOR_PAUSED`, `VENDOR_KEY_NOT_ALLOWED`).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}},"404":{"description":"Not found, or outside what this key may reach.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}},"409":{"description":"Conflict with the state of the job, run or catalog, or with an earlier request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}},"410":{"description":"The report has expired (`REPORT_EXPIRED`).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}},"429":{"description":"Rate limited or queue full: retry after `Retry-After` seconds.","headers":{"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}},"500":{"description":"Internal error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}},"503":{"description":"Temporarily unavailable: retry after `Retry-After` seconds when present.","headers":{"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}}},"x-sdk":"runs.stockCsv"}},"/v1/catalog/products":{"get":{"operationId":"listPushProducts","summary":"One product by `externalId`, `sku` or `handle`, or a page of the caller's products.","tags":["Products"],"security":[{"storeKey":[]},{"vendorKey":[]}],"parameters":[{"name":"externalId","in":"query","description":"Read the product with this external id.","required":false,"schema":{"type":"string","minLength":1,"maxLength":255}},{"name":"sku","in":"query","description":"Read the product that has this SKU.","required":false,"schema":{"type":"string","minLength":1}},{"name":"handle","in":"query","description":"Read the product with this handle.","required":false,"schema":{"type":"string","minLength":1}},{"name":"cursor","in":"query","description":"The `nextCursor` of the previous page.","required":false,"schema":{"type":"string","minLength":1,"maxLength":100}},{"name":"limit","in":"query","description":"How many to return, from 1 to 100.","required":false,"schema":{"default":50,"type":"integer","minimum":1,"maximum":100}}],"responses":{"200":{"description":"OK.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushProductsAnswer"}}}},"400":{"description":"Invalid request: a malformed parameter, header or body (`issues` names each).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}},"401":{"description":"Missing, unknown or revoked key (`AUTHENTICATION_FAILED`).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}},"403":{"description":"Refused for this key (`VENDOR_PAUSED`, `VENDOR_KEY_NOT_ALLOWED`).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}},"404":{"description":"Not found, or outside what this key may reach.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}},"429":{"description":"Rate limited or queue full: retry after `Retry-After` seconds.","headers":{"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}},"500":{"description":"Internal error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}},"503":{"description":"Temporarily unavailable: retry after `Retry-After` seconds when present.","headers":{"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}}},"x-sdk":"products.list"}},"/v1/catalog/products/archive":{"post":{"operationId":"archivePushProducts","summary":"Archive products (reversible for 30 days).","tags":["Products"],"security":[{"storeKey":[]},{"vendorKey":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushProductsRequest"}}}},"responses":{"200":{"description":"OK.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushProductOpsAnswer"}}}},"400":{"description":"Invalid request: a malformed parameter, header or body (`issues` names each).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}},"401":{"description":"Missing, unknown or revoked key (`AUTHENTICATION_FAILED`).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}},"403":{"description":"Refused for this key (`VENDOR_PAUSED`, `VENDOR_KEY_NOT_ALLOWED`).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}},"413":{"description":"Request body too large.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}},"429":{"description":"Rate limited or queue full: retry after `Retry-After` seconds.","headers":{"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}},"500":{"description":"Internal error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}},"503":{"description":"Temporarily unavailable: retry after `Retry-After` seconds when present.","headers":{"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}}},"x-sdk":"products.archive"}},"/v1/catalog/products/restore":{"post":{"operationId":"restorePushProducts","summary":"Restore archived products.","tags":["Products"],"security":[{"storeKey":[]},{"vendorKey":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushProductsRequest"}}}},"responses":{"200":{"description":"OK.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushProductOpsAnswer"}}}},"400":{"description":"Invalid request: a malformed parameter, header or body (`issues` names each).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}},"401":{"description":"Missing, unknown or revoked key (`AUTHENTICATION_FAILED`).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}},"403":{"description":"Refused for this key (`VENDOR_PAUSED`, `VENDOR_KEY_NOT_ALLOWED`).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}},"413":{"description":"Request body too large.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}},"429":{"description":"Rate limited or queue full: retry after `Retry-After` seconds.","headers":{"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}},"500":{"description":"Internal error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}},"503":{"description":"Temporarily unavailable: retry after `Retry-After` seconds when present.","headers":{"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}}},"x-sdk":"products.restore"}},"/v1/catalog/products/rename":{"post":{"operationId":"renamePushProduct","summary":"Change a product's handle.","tags":["Products"],"security":[{"storeKey":[]},{"vendorKey":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushRenameRequest"}}}},"responses":{"200":{"description":"OK.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushProductAnswer"}}}},"400":{"description":"Invalid request: a malformed parameter, header or body (`issues` names each).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}},"401":{"description":"Missing, unknown or revoked key (`AUTHENTICATION_FAILED`).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}},"403":{"description":"Refused for this key (`VENDOR_PAUSED`, `VENDOR_KEY_NOT_ALLOWED`).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}},"404":{"description":"Not found, or outside what this key may reach.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}},"409":{"description":"Conflict with the state of the job, run or catalog, or with an earlier request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}},"413":{"description":"Request body too large.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}},"429":{"description":"Rate limited or queue full: retry after `Retry-After` seconds.","headers":{"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}},"500":{"description":"Internal error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}},"503":{"description":"Temporarily unavailable: retry after `Retry-After` seconds when present.","headers":{"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}}},"x-sdk":"products.rename"}},"/v1/catalog/products/vendor":{"put":{"operationId":"assignPushProductsVendor","summary":"Assign products to a vendor, or take them back (`vendorId: null`). Store key only.","tags":["Products"],"security":[{"storeKey":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushAssignVendorRequest"}}}},"responses":{"200":{"description":"OK.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushProductOpsAnswer"}}}},"400":{"description":"Invalid request: a malformed parameter, header or body (`issues` names each).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}},"401":{"description":"Missing, unknown or revoked key (`AUTHENTICATION_FAILED`).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}},"403":{"description":"Refused for this key (`VENDOR_PAUSED`, `VENDOR_KEY_NOT_ALLOWED`).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}},"404":{"description":"Not found, or outside what this key may reach.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}},"413":{"description":"Request body too large.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}},"429":{"description":"Rate limited or queue full: retry after `Retry-After` seconds.","headers":{"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}},"500":{"description":"Internal error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}},"503":{"description":"Temporarily unavailable: retry after `Retry-After` seconds when present.","headers":{"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushErrorEnvelope"}}}}}}}},"components":{"schemas":{"JobBatchAnswer":{"type":"object","properties":{"batchId":{"type":"string","minLength":1},"sequence":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"rowsAccepted":{"type":"integer","minimum":0,"maximum":9007199254740991},"rowsRefused":{"type":"integer","minimum":0,"maximum":9007199254740991},"issues":{"maxItems":1000,"type":"array","items":{"type":"object","properties":{"index":{"type":"integer","minimum":0,"maximum":9007199254740991},"code":{"type":"string","enum":["INVALID_ROW","INVALID_VALUE","MISSING_SKU","MISSING_PRODUCT_HANDLE","UNKNOWN_SKU","INVALID_GTIN_DROPPED","DUPLICATE_SKU_REPLACED","SCATTERED_PRODUCT_ROWS","CONFLICTING_PRODUCT_VALUE","PRODUCT_SPLIT_ACROSS_CHUNKS","TOO_MANY_OPTIONS","TOO_MANY_VARIANTS","CATEGORY_TOO_DEEP","INVALID_STATUS","IMAGE_COPY_FAILED","IMAGE_ONLY_ROW","INVALID_CURRENCY","PRICE_LIST_BASE_CURRENCY","LIST_SALE_WITHOUT_PRICE","LOCALE_NOT_ENABLED","GROUP_NOT_FOUND","GROUP_KIND_MISMATCH","TRANSLATION_TOO_LONG","TRANSLATION_CONFLICT","UNKNOWN_PRODUCT_HANDLE","INVALID_RATING","REVIEW_DATE_IN_FUTURE","REVIEW_TEXT_INVALID","DUPLICATE_REVIEW","REVIEW_ROW_LIMIT","EXTERNAL_ID_REQUIRED","SKU_CONFLICT","FIELD_NOT_ALLOWED","ATTRIBUTE_UNKNOWN","HANDLE_TAKEN","MERCHANT_HOLD","QUANTITY_BELOW_ZERO","QUANTITY_OUT_OF_RANGE","STOCK_MODE_CONFLICT","DUPLICATE_SKU_IN_BATCH","QUANTITY_MODE_WITHOUT_QUANTITY"]}},"required":["index","code"],"additionalProperties":false}}},"required":["batchId","sequence","rowsAccepted","rowsRefused","issues"],"additionalProperties":false},"JobBatchRequest":{"type":"object","properties":{"rows":{"minItems":1,"maxItems":1000,"type":"array","items":{"anyOf":[{"$ref":"#/components/schemas/PushRow"},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/components/schemas/JsonValue"}}]}}},"required":["rows"],"additionalProperties":false},"JsonValue":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/components/schemas/JsonValue"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/components/schemas/JsonValue"}}]},"OpenJobRequest":{"type":"object","properties":{"mode":{"type":"string","enum":["merge","replace"]},"fullSync":{"type":"boolean"}},"additionalProperties":false},"PushAssignVendorRequest":{"type":"object","properties":{"vendorId":{"anyOf":[{"type":"string","minLength":1,"maxLength":100},{"type":"null"}]},"products":{"minItems":1,"maxItems":100,"type":"array","items":{"$ref":"#/components/schemas/PushProductRef"}}},"required":["vendorId","products"],"additionalProperties":false},"PushErrorEnvelope":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","minLength":1},"message":{"type":"string"},"requestId":{"type":"string"},"issues":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"message":{"type":"string"}},"required":["path","message"],"additionalProperties":false}}},"required":["code","message","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":{}},"PushInventoryAnswer":{"type":"object","properties":{"results":{"type":"array","items":{"type":"object","properties":{"sku":{"anyOf":[{"type":"string"},{"type":"null"}]},"status":{"type":"string","enum":["updated","unchanged","not_found","invalid"]},"code":{"type":"string","enum":["QUANTITY_BELOW_ZERO","QUANTITY_OUT_OF_RANGE","QUANTITY_MODE_WITHOUT_QUANTITY","STOCK_MODE_CONFLICT","DUPLICATE_SKU_IN_BATCH"]},"message":{"type":"string"},"quantity":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"sourceWins":{"type":"boolean"}},"required":["sku","status"],"additionalProperties":false}}},"required":["results"],"additionalProperties":false},"PushInventoryRequest":{"type":"object","properties":{"rows":{"minItems":1,"maxItems":1000,"type":"array","items":{"anyOf":[{"type":"object","properties":{"sku":{"type":"string","minLength":1,"maxLength":255,"pattern":"^[^\\u0000-\\u001F\\u007F]+$"},"priceMinor":{"type":"integer","minimum":0,"maximum":9007199254740991},"salePriceMinor":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"currency":{"type":"string","pattern":"^[A-Z]{3}$"},"availability":{"type":"string","enum":["in_stock","out_of_stock","preorder","backorder"]},"quantity":{"type":"integer","minimum":-1000000000,"maximum":1000000000},"quantityMode":{"type":"string","enum":["set","adjust"]}},"required":["sku"],"additionalProperties":false},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/components/schemas/JsonValue"}}]}}},"required":["rows"],"additionalProperties":false},"PushJob":{"type":"object","properties":{"jobId":{"type":"string","minLength":1},"state":{"type":"string","enum":["open","closed","expired"]},"mode":{"type":"string","enum":["merge","replace"]},"fullSync":{"type":"boolean"},"vendorId":{"anyOf":[{"type":"string"},{"type":"null"}]},"openedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"expiresAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"closedAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},{"type":"null"}]},"finishedAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},{"type":"null"}]},"failureCode":{"anyOf":[{"type":"string"},{"type":"null"}]},"batchesReceived":{"type":"integer","minimum":0,"maximum":9007199254740991},"rowsReceived":{"type":"integer","minimum":0,"maximum":9007199254740991},"rowsValidated":{"type":"integer","minimum":0,"maximum":9007199254740991},"rowsRefused":{"type":"integer","minimum":0,"maximum":9007199254740991},"batchesApplied":{"type":"integer","minimum":0,"maximum":9007199254740991},"rowsApplied":{"type":"integer","minimum":0,"maximum":9007199254740991},"rowsFailed":{"type":"integer","minimum":0,"maximum":9007199254740991},"created":{"type":"integer","minimum":0,"maximum":9007199254740991},"updated":{"type":"integer","minimum":0,"maximum":9007199254740991},"unchanged":{"type":"integer","minimum":0,"maximum":9007199254740991},"reportExpiresAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},{"type":"null"}]},"batches":{"maxItems":2000,"type":"array","items":{"type":"object","properties":{"batchId":{"type":"string","minLength":1},"sequence":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"rows":{"type":"integer","minimum":0,"maximum":9007199254740991},"rowsRefused":{"type":"integer","minimum":0,"maximum":9007199254740991},"status":{"type":"string","enum":["staged","applied","discarded"]}},"required":["batchId","sequence","rows","rowsRefused","status"],"additionalProperties":false}}},"required":["jobId","state","mode","fullSync","vendorId","openedAt","expiresAt","closedAt","finishedAt","failureCode","batchesReceived","rowsReceived","rowsValidated","rowsRefused"],"additionalProperties":false},"PushJobAnswer":{"type":"object","properties":{"job":{"$ref":"#/components/schemas/PushJob"}},"required":["job"],"additionalProperties":false},"PushOpenApiDocument":{"type":"object","properties":{"openapi":{"type":"string"}},"required":["openapi"],"additionalProperties":{}},"PushProduct":{"type":"object","properties":{"title":{"anyOf":[{"type":"string","minLength":1,"maxLength":500,"pattern":"^[^\\u0000-\\u001F\\u007F]+$"},{"type":"null"}]},"description":{"anyOf":[{"type":"string","minLength":1,"maxLength":65000,"pattern":"^[^\\u0000-\\u0008\\u000B\\u000C\\u000E-\\u001F\\u007F]+$"},{"type":"null"}]},"brand":{"anyOf":[{"type":"string","minLength":1,"maxLength":200,"pattern":"^[^\\u0000-\\u001F\\u007F]+$"},{"type":"null"}]},"productType":{"anyOf":[{"type":"string","minLength":1,"maxLength":750,"pattern":"^[^\\u0000-\\u001F\\u007F]+$"},{"type":"null"}]},"googleCategory":{"anyOf":[{"type":"string","minLength":1,"maxLength":750,"pattern":"^[^\\u0000-\\u001F\\u007F]+$"},{"type":"null"}]},"link":{"anyOf":[{"type":"string","maxLength":2048,"pattern":"^https?:\\/\\/[^\\s\\u0000-\\u001F\\u007F]+$"},{"type":"null"}]},"images":{"anyOf":[{"maxItems":20,"type":"array","items":{"type":"object","properties":{"url":{"type":"string","maxLength":2048,"pattern":"^https?:\\/\\/[^\\s\\u0000-\\u001F\\u007F]+$"},"altText":{"type":"string","minLength":1,"maxLength":500,"pattern":"^[^\\u0000-\\u001F\\u007F]+$"},"mediaId":{"type":"string","pattern":"^[a-f0-9]{32}$"},"width":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"height":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991}},"required":["url"],"additionalProperties":false}},{"type":"null"}]},"shortDescription":{"anyOf":[{"type":"string","minLength":1,"maxLength":500,"pattern":"^[^\\u0000-\\u0008\\u000B\\u000C\\u000E-\\u001F\\u007F]+$"},{"type":"null"}]},"seoTitle":{"anyOf":[{"type":"string","minLength":1,"maxLength":70,"pattern":"^[^\\u0000-\\u001F\\u007F]+$"},{"type":"null"}]},"seoDescription":{"anyOf":[{"type":"string","minLength":1,"maxLength":320,"pattern":"^[^\\u0000-\\u0008\\u000B\\u000C\\u000E-\\u001F\\u007F]+$"},{"type":"null"}]},"tags":{"anyOf":[{"maxItems":50,"type":"array","items":{"type":"string","minLength":1,"maxLength":100,"pattern":"^[^\\u0000-\\u001F\\u007F]+$"}},{"type":"null"}]},"categories":{"anyOf":[{"maxItems":20,"type":"array","items":{"type":"string","pattern":"^c[a-z0-9]{8,32}$"}},{"type":"null"}]},"featured":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"draft":{"type":"boolean"},"options":{"anyOf":[{"maxItems":3,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":100,"pattern":"^[^\\u0000-\\u001F\\u007F]+$"},"values":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"object","properties":{"value":{"type":"string","minLength":1,"maxLength":200,"pattern":"^[^\\u0000-\\u001F\\u007F]+$"},"code":{"type":"string","pattern":"^[A-Z0-9]{1,12}$"}},"required":["value","code"],"additionalProperties":false}}},"required":["name","values"],"additionalProperties":false}},{"type":"null"}]},"skuPattern":{"anyOf":[{"type":"object","properties":{"base":{"type":"string","pattern":"^[A-Z0-9][A-Z0-9-]{0,39}$"},"separator":{"type":"string","enum":["-","_",".",""]}},"required":["base","separator"],"additionalProperties":false},{"type":"null"}]},"taxCode":{"anyOf":[{"type":"string","pattern":"^[A-Z0-9]{1,25}$"},{"type":"null"}]},"externalId":{"anyOf":[{"type":"string"},{"type":"null"}]},"handle":{"type":"string","minLength":1,"maxLength":255,"pattern":"^[^\\u0000-\\u001F\\u007F]+$"},"status":{"type":"string","enum":["draft","active","archived"]},"held":{"type":"boolean"},"apiArchived":{"type":"boolean"},"purgeAfter":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},{"type":"null"}]},"vendorId":{"anyOf":[{"type":"string"},{"type":"null"}]},"attributes":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/components/schemas/JsonValue"}},"variants":{"type":"array","items":{"type":"object","properties":{"title":{"anyOf":[{"type":"string","minLength":1,"maxLength":500,"pattern":"^[^\\u0000-\\u001F\\u007F]+$"},{"type":"null"}]},"description":{"anyOf":[{"type":"string","minLength":1,"maxLength":10000,"pattern":"^[^\\u0000-\\u0008\\u000B\\u000C\\u000E-\\u001F\\u007F]+$"},{"type":"null"}]},"gtin":{"anyOf":[{"type":"string","pattern":"^(?:\\d{8}|\\d{12,14})$"},{"type":"null"}]},"mpn":{"anyOf":[{"type":"string","minLength":1,"maxLength":70,"pattern":"^[^\\u0000-\\u001F\\u007F]+$"},{"type":"null"}]},"condition":{"anyOf":[{"type":"string","enum":["new","refurbished","used"]},{"type":"null"}]},"priceMinor":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"salePriceMinor":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"currency":{"anyOf":[{"type":"string","pattern":"^[A-Z]{3}$"},{"type":"null"}]},"availability":{"anyOf":[{"type":"string","enum":["in_stock","out_of_stock","preorder","backorder"]},{"type":"null"}]},"quantity":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"weightGrams":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"lengthMm":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"widthMm":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"heightMm":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"options":{"anyOf":[{"type":"object","propertyNames":{"type":"string","maxLength":100,"pattern":"^[^\\s\\u0000-\\u001F\\u007F](?:[^\\u0000-\\u001F\\u007F]*[^\\s\\u0000-\\u001F\\u007F])?$"},"additionalProperties":{"type":"string","minLength":1,"maxLength":200,"pattern":"^[^\\u0000-\\u001F\\u007F]+$"}},{"type":"null"}]},"images":{"anyOf":[{"maxItems":20,"type":"array","items":{"type":"object","properties":{"url":{"type":"string","maxLength":2048,"pattern":"^https?:\\/\\/[^\\s\\u0000-\\u001F\\u007F]+$"},"altText":{"type":"string","minLength":1,"maxLength":500,"pattern":"^[^\\u0000-\\u001F\\u007F]+$"},"mediaId":{"type":"string","pattern":"^[a-f0-9]{32}$"},"width":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"height":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991}},"required":["url"],"additionalProperties":false}},{"type":"null"}]},"compareAtPriceMinor":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"trackInventory":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"backorders":{"anyOf":[{"type":"string","enum":["deny","allow"]},{"type":"null"}]},"minOrderQuantity":{"anyOf":[{"type":"integer","minimum":1,"maximum":1000000},{"type":"null"}]},"maxOrderQuantity":{"anyOf":[{"type":"integer","minimum":1,"maximum":1000000},{"type":"null"}]},"image":{"anyOf":[{"type":"object","properties":{"url":{"type":"string","maxLength":2048,"pattern":"^https?:\\/\\/[^\\s\\u0000-\\u001F\\u007F]+$"},"altText":{"type":"string","minLength":1,"maxLength":500,"pattern":"^[^\\u0000-\\u001F\\u007F]+$"},"mediaId":{"type":"string","pattern":"^[a-f0-9]{32}$"},"width":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"height":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991}},"required":["url"],"additionalProperties":false},{"type":"null"}]},"identifierExists":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"sku":{"type":"string","minLength":1,"maxLength":255,"pattern":"^[^\\u0000-\\u001F\\u007F]+$"},"status":{"type":"string","enum":["active","archived"]}},"required":["quantity","sku","status"],"additionalProperties":false}}},"required":["draft","externalId","handle","status","held","apiArchived","purgeAfter","vendorId","attributes","variants"],"additionalProperties":false},"PushProductAnswer":{"type":"object","properties":{"product":{"$ref":"#/components/schemas/PushProduct"}},"required":["product"],"additionalProperties":false},"PushProductOpsAnswer":{"type":"object","properties":{"results":{"type":"array","items":{"type":"object","properties":{"index":{"type":"integer","minimum":0,"maximum":9007199254740991},"status":{"type":"string","enum":["assigned","done","archived","restored","unchanged","held","not_found"]}},"required":["index","status"],"additionalProperties":false}}},"required":["results"],"additionalProperties":false},"PushProductRef":{"anyOf":[{"type":"object","properties":{"externalId":{"type":"string","minLength":1,"maxLength":255,"pattern":"^[^\\u0000-\\u001F\\u007F]+$"}},"required":["externalId"],"additionalProperties":false},{"type":"object","properties":{"handle":{"type":"string","minLength":1,"maxLength":255,"pattern":"^[^\\u0000-\\u001F\\u007F]+$"}},"required":["handle"],"additionalProperties":false},{"type":"object","properties":{"sku":{"type":"string","minLength":1,"maxLength":255,"pattern":"^[^\\u0000-\\u001F\\u007F]+$"}},"required":["sku"],"additionalProperties":false}]},"PushProductsAnswer":{"anyOf":[{"$ref":"#/components/schemas/PushProductAnswer"},{"type":"object","properties":{"products":{"type":"array","items":{"$ref":"#/components/schemas/PushProduct"}},"nextCursor":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["products","nextCursor"],"additionalProperties":false}]},"PushProductsRequest":{"type":"object","properties":{"products":{"minItems":1,"maxItems":100,"type":"array","items":{"$ref":"#/components/schemas/PushProductRef"}}},"required":["products"],"additionalProperties":false},"PushRenameRequest":{"type":"object","properties":{"product":{"$ref":"#/components/schemas/PushProductRef"},"handle":{"type":"string","minLength":1,"maxLength":255,"pattern":"^[^\\u0000-\\u001F\\u007F]+$"}},"required":["product","handle"],"additionalProperties":false},"PushRow":{"type":"object","properties":{"sku":{"type":"string","minLength":1,"maxLength":255,"pattern":"^[^\\u0000-\\u001F\\u007F]+$"},"productHandle":{"type":"string","minLength":1,"maxLength":255,"pattern":"^[^\\u0000-\\u001F\\u007F]+$"},"product":{"type":"object","properties":{"title":{"anyOf":[{"type":"string","minLength":1,"maxLength":500,"pattern":"^[^\\u0000-\\u001F\\u007F]+$"},{"type":"null"}]},"description":{"anyOf":[{"type":"string","minLength":1,"maxLength":65000,"pattern":"^[^\\u0000-\\u0008\\u000B\\u000C\\u000E-\\u001F\\u007F]+$"},{"type":"null"}]},"brand":{"anyOf":[{"type":"string","minLength":1,"maxLength":200,"pattern":"^[^\\u0000-\\u001F\\u007F]+$"},{"type":"null"}]},"productType":{"anyOf":[{"type":"string","minLength":1,"maxLength":750,"pattern":"^[^\\u0000-\\u001F\\u007F]+$"},{"type":"null"}]},"googleCategory":{"anyOf":[{"type":"string","minLength":1,"maxLength":750,"pattern":"^[^\\u0000-\\u001F\\u007F]+$"},{"type":"null"}]},"link":{"anyOf":[{"type":"string","maxLength":2048,"pattern":"^https?:\\/\\/[^\\s\\u0000-\\u001F\\u007F]+$"},{"type":"null"}]},"images":{"anyOf":[{"maxItems":20,"type":"array","items":{"type":"object","properties":{"url":{"type":"string","maxLength":2048,"pattern":"^https?:\\/\\/[^\\s\\u0000-\\u001F\\u007F]+$"},"altText":{"type":"string","minLength":1,"maxLength":500,"pattern":"^[^\\u0000-\\u001F\\u007F]+$"},"mediaId":{"type":"string","pattern":"^[a-f0-9]{32}$"},"width":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"height":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991}},"required":["url"],"additionalProperties":false}},{"type":"null"}]},"shortDescription":{"anyOf":[{"type":"string","minLength":1,"maxLength":500,"pattern":"^[^\\u0000-\\u0008\\u000B\\u000C\\u000E-\\u001F\\u007F]+$"},{"type":"null"}]},"seoTitle":{"anyOf":[{"type":"string","minLength":1,"maxLength":70,"pattern":"^[^\\u0000-\\u001F\\u007F]+$"},{"type":"null"}]},"seoDescription":{"anyOf":[{"type":"string","minLength":1,"maxLength":320,"pattern":"^[^\\u0000-\\u0008\\u000B\\u000C\\u000E-\\u001F\\u007F]+$"},{"type":"null"}]},"tags":{"anyOf":[{"maxItems":50,"type":"array","items":{"type":"string","minLength":1,"maxLength":100,"pattern":"^[^\\u0000-\\u001F\\u007F]+$"}},{"type":"null"}]},"categories":{"anyOf":[{"maxItems":20,"type":"array","items":{"anyOf":[{"type":"string","pattern":"^c[a-z0-9]{8,32}$"},{"type":"string","minLength":1,"maxLength":400,"pattern":"^[^\\u0000-\\u001F\\u007F]+$"}]}},{"type":"null"}]},"featured":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"draft":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"options":{"anyOf":[{"maxItems":3,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":100,"pattern":"^[^\\u0000-\\u001F\\u007F]+$"},"values":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"object","properties":{"value":{"type":"string","minLength":1,"maxLength":200,"pattern":"^[^\\u0000-\\u001F\\u007F]+$"},"code":{"type":"string","pattern":"^[A-Z0-9]{1,12}$"}},"required":["value","code"],"additionalProperties":false}}},"required":["name","values"],"additionalProperties":false}},{"type":"null"}]},"skuPattern":{"anyOf":[{"type":"object","properties":{"base":{"type":"string","pattern":"^[A-Z0-9][A-Z0-9-]{0,39}$"},"separator":{"type":"string","enum":["-","_",".",""]}},"required":["base","separator"],"additionalProperties":false},{"type":"null"}]},"taxCode":{"anyOf":[{"type":"string","pattern":"^[A-Z0-9]{1,25}$"},{"type":"null"}]}},"additionalProperties":false},"variant":{"type":"object","properties":{"title":{"anyOf":[{"type":"string","minLength":1,"maxLength":500,"pattern":"^[^\\u0000-\\u001F\\u007F]+$"},{"type":"null"}]},"description":{"anyOf":[{"type":"string","minLength":1,"maxLength":10000,"pattern":"^[^\\u0000-\\u0008\\u000B\\u000C\\u000E-\\u001F\\u007F]+$"},{"type":"null"}]},"gtin":{"anyOf":[{"type":"string","pattern":"^(?:\\d{8}|\\d{12,14})$"},{"type":"null"}]},"mpn":{"anyOf":[{"type":"string","minLength":1,"maxLength":70,"pattern":"^[^\\u0000-\\u001F\\u007F]+$"},{"type":"null"}]},"condition":{"anyOf":[{"type":"string","enum":["new","refurbished","used"]},{"type":"null"}]},"priceMinor":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"salePriceMinor":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"currency":{"anyOf":[{"type":"string","pattern":"^[A-Z]{3}$"},{"type":"null"}]},"availability":{"anyOf":[{"type":"string","enum":["in_stock","out_of_stock","preorder","backorder"]},{"type":"null"}]},"quantity":{"anyOf":[{"type":"integer","minimum":-1000000000,"maximum":1000000000},{"type":"null"}]},"weightGrams":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"lengthMm":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"widthMm":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"heightMm":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"options":{"anyOf":[{"type":"object","propertyNames":{"type":"string","maxLength":100,"pattern":"^[^\\s\\u0000-\\u001F\\u007F](?:[^\\u0000-\\u001F\\u007F]*[^\\s\\u0000-\\u001F\\u007F])?$"},"additionalProperties":{"type":"string","minLength":1,"maxLength":200,"pattern":"^[^\\u0000-\\u001F\\u007F]+$"}},{"type":"null"}]},"images":{"anyOf":[{"maxItems":20,"type":"array","items":{"type":"object","properties":{"url":{"type":"string","maxLength":2048,"pattern":"^https?:\\/\\/[^\\s\\u0000-\\u001F\\u007F]+$"},"altText":{"type":"string","minLength":1,"maxLength":500,"pattern":"^[^\\u0000-\\u001F\\u007F]+$"},"mediaId":{"type":"string","pattern":"^[a-f0-9]{32}$"},"width":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"height":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991}},"required":["url"],"additionalProperties":false}},{"type":"null"}]},"compareAtPriceMinor":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"trackInventory":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"backorders":{"anyOf":[{"type":"string","enum":["deny","allow"]},{"type":"null"}]},"minOrderQuantity":{"anyOf":[{"type":"integer","minimum":1,"maximum":1000000},{"type":"null"}]},"maxOrderQuantity":{"anyOf":[{"type":"integer","minimum":1,"maximum":1000000},{"type":"null"}]},"image":{"anyOf":[{"type":"object","properties":{"url":{"type":"string","maxLength":2048,"pattern":"^https?:\\/\\/[^\\s\\u0000-\\u001F\\u007F]+$"},"altText":{"type":"string","minLength":1,"maxLength":500,"pattern":"^[^\\u0000-\\u001F\\u007F]+$"},"mediaId":{"type":"string","pattern":"^[a-f0-9]{32}$"},"width":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"height":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991}},"required":["url"],"additionalProperties":false},{"type":"null"}]},"identifierExists":{"anyOf":[{"type":"boolean"},{"type":"null"}]}},"additionalProperties":false},"attributes":{"type":"object","propertyNames":{"type":"string","pattern":"^[a-z][a-z0-9_]{0,63}$"},"additionalProperties":{"anyOf":[{"anyOf":[{"type":"string","minLength":1,"maxLength":5000,"pattern":"^[^\\u0000-\\u001F\\u007F]+$"},{"type":"number"},{"type":"boolean"}]},{"type":"null"}]}},"prices":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"object","properties":{"priceMinor":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"salePriceMinor":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"compareAtPriceMinor":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]}},"additionalProperties":false}},"translations":{"type":"object","propertyNames":{"type":"string","maxLength":35},"additionalProperties":{"type":"object","properties":{"title":{"anyOf":[{"type":"string","minLength":1,"maxLength":500,"pattern":"^[^\\u0000-\\u001F\\u007F]+$"},{"type":"null"}]},"description":{"anyOf":[{"type":"string","minLength":1,"maxLength":65000,"pattern":"^[^\\u0000-\\u0008\\u000B\\u000C\\u000E-\\u001F\\u007F]+$"},{"type":"null"}]},"shortDescription":{"anyOf":[{"type":"string","minLength":1,"maxLength":500,"pattern":"^[^\\u0000-\\u0008\\u000B\\u000C\\u000E-\\u001F\\u007F]+$"},{"type":"null"}]},"seoTitle":{"anyOf":[{"type":"string","minLength":1,"maxLength":70,"pattern":"^[^\\u0000-\\u001F\\u007F]+$"},{"type":"null"}]},"seoDescription":{"anyOf":[{"type":"string","minLength":1,"maxLength":320,"pattern":"^[^\\u0000-\\u0008\\u000B\\u000C\\u000E-\\u001F\\u007F]+$"},{"type":"null"}]},"options":{"anyOf":[{"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":255,"pattern":"^[^\\u0000-\\u001F\\u007F]+$"},"additionalProperties":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":255,"pattern":"^[^\\u0000-\\u001F\\u007F]+$"},"values":{"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":255,"pattern":"^[^\\u0000-\\u001F\\u007F]+$"},"additionalProperties":{"type":"string","minLength":1,"maxLength":255,"pattern":"^[^\\u0000-\\u001F\\u007F]+$"}}},"required":["name","values"],"additionalProperties":false}},{"type":"null"}]}},"additionalProperties":false}},"groupPrices":{"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":100,"pattern":"^[^\\u0000-\\u001F\\u007F]+$"},"additionalProperties":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]}}},"externalId":{"type":"string","minLength":1,"maxLength":255,"pattern":"^[^\\u0000-\\u001F\\u007F]+$"},"status":{"type":"string","enum":["draft","active"]},"quantityMode":{"type":"string","enum":["set","adjust"]}},"required":["sku"],"additionalProperties":false},"PushRunAnswer":{"type":"object","properties":{"run":{"type":"object","properties":{"runId":{"type":"string","minLength":1,"maxLength":100},"origin":{"type":"string","enum":["upload","api"]},"uploadId":{"anyOf":[{"type":"string"},{"type":"null"}]},"fileType":{"type":"string","enum":["products","fitment","oem","supersessions","reviews"]},"mode":{"type":"string","enum":["upsert","full_sync"]},"sourceName":{"type":"string","minLength":1},"status":{"type":"string","enum":["pending","running","completed","failed"]},"rowsRead":{"type":"integer","minimum":0,"maximum":9007199254740991},"rowsApplied":{"type":"integer","minimum":0,"maximum":9007199254740991},"rowsFailed":{"type":"integer","minimum":0,"maximum":9007199254740991},"rowsWarned":{"type":"integer","minimum":0,"maximum":9007199254740991},"created":{"type":"integer","minimum":0,"maximum":9007199254740991},"updated":{"type":"integer","minimum":0,"maximum":9007199254740991},"unchanged":{"type":"integer","minimum":0,"maximum":9007199254740991},"reportRows":{"type":"integer","minimum":0,"maximum":9007199254740991},"failureCode":{"anyOf":[{"type":"string"},{"type":"null"}]},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"finishedAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},{"type":"null"}]},"vendorId":{"anyOf":[{"type":"string"},{"type":"null"}]},"pushMode":{"type":"string","enum":["merge","replace"]},"fullSync":{"type":"boolean"},"reportExpiresAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},{"type":"null"}]}},"required":["runId","origin","uploadId","fileType","mode","sourceName","status","rowsRead","rowsApplied","rowsFailed","rowsWarned","created","updated","unchanged","reportRows","failureCode","createdAt","updatedAt","finishedAt"],"additionalProperties":false}},"required":["run"],"additionalProperties":false},"PushRunStarted":{"type":"object","properties":{"runId":{"type":"string","minLength":1},"status":{"type":"string","enum":["pending","running","completed","failed"]}},"required":["runId","status"],"additionalProperties":false},"PushStockPage":{"type":"object","properties":{"rows":{"type":"array","items":{"$ref":"#/components/schemas/PushStockResult"}},"nextCursor":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["rows","nextCursor"],"additionalProperties":false},"PushStockResult":{"type":"object","properties":{"sequence":{"type":"integer","minimum":0,"maximum":9007199254740991},"rowNumber":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"sku":{"type":"string","minLength":1,"maxLength":255,"pattern":"^[^\\u0000-\\u001F\\u007F]+$"},"externalId":{"anyOf":[{"type":"string"},{"type":"null"}]},"quantity":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"sourceWins":{"type":"boolean"}},"required":["sequence","rowNumber","sku","externalId","quantity","sourceWins"],"additionalProperties":false},"PushVariantsRequest":{"type":"object","properties":{"rows":{"minItems":1,"maxItems":1000,"type":"array","items":{"anyOf":[{"type":"object","properties":{"sku":{"type":"string","minLength":1,"maxLength":255,"pattern":"^[^\\u0000-\\u001F\\u007F]+$"},"productHandle":{"type":"string","minLength":1,"maxLength":255,"pattern":"^[^\\u0000-\\u001F\\u007F]+$"},"product":{"type":"object","properties":{"title":{"anyOf":[{"type":"string","minLength":1,"maxLength":500,"pattern":"^[^\\u0000-\\u001F\\u007F]+$"},{"type":"null"}]},"description":{"anyOf":[{"type":"string","minLength":1,"maxLength":65000,"pattern":"^[^\\u0000-\\u0008\\u000B\\u000C\\u000E-\\u001F\\u007F]+$"},{"type":"null"}]},"brand":{"anyOf":[{"type":"string","minLength":1,"maxLength":200,"pattern":"^[^\\u0000-\\u001F\\u007F]+$"},{"type":"null"}]},"productType":{"anyOf":[{"type":"string","minLength":1,"maxLength":750,"pattern":"^[^\\u0000-\\u001F\\u007F]+$"},{"type":"null"}]},"googleCategory":{"anyOf":[{"type":"string","minLength":1,"maxLength":750,"pattern":"^[^\\u0000-\\u001F\\u007F]+$"},{"type":"null"}]},"link":{"anyOf":[{"type":"string","maxLength":2048,"pattern":"^https?:\\/\\/[^\\s\\u0000-\\u001F\\u007F]+$"},{"type":"null"}]},"images":{"anyOf":[{"maxItems":20,"type":"array","items":{"type":"object","properties":{"url":{"type":"string","maxLength":2048,"pattern":"^https?:\\/\\/[^\\s\\u0000-\\u001F\\u007F]+$"},"altText":{"type":"string","minLength":1,"maxLength":500,"pattern":"^[^\\u0000-\\u001F\\u007F]+$"},"mediaId":{"type":"string","pattern":"^[a-f0-9]{32}$"},"width":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"height":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991}},"required":["url"],"additionalProperties":false}},{"type":"null"}]},"shortDescription":{"anyOf":[{"type":"string","minLength":1,"maxLength":500,"pattern":"^[^\\u0000-\\u0008\\u000B\\u000C\\u000E-\\u001F\\u007F]+$"},{"type":"null"}]},"seoTitle":{"anyOf":[{"type":"string","minLength":1,"maxLength":70,"pattern":"^[^\\u0000-\\u001F\\u007F]+$"},{"type":"null"}]},"seoDescription":{"anyOf":[{"type":"string","minLength":1,"maxLength":320,"pattern":"^[^\\u0000-\\u0008\\u000B\\u000C\\u000E-\\u001F\\u007F]+$"},{"type":"null"}]},"tags":{"anyOf":[{"maxItems":50,"type":"array","items":{"type":"string","minLength":1,"maxLength":100,"pattern":"^[^\\u0000-\\u001F\\u007F]+$"}},{"type":"null"}]},"categories":{"anyOf":[{"maxItems":20,"type":"array","items":{"anyOf":[{"type":"string","pattern":"^c[a-z0-9]{8,32}$"},{"type":"string","minLength":1,"maxLength":400,"pattern":"^[^\\u0000-\\u001F\\u007F]+$"}]}},{"type":"null"}]},"featured":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"draft":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"options":{"anyOf":[{"maxItems":3,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":100,"pattern":"^[^\\u0000-\\u001F\\u007F]+$"},"values":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"object","properties":{"value":{"type":"string","minLength":1,"maxLength":200,"pattern":"^[^\\u0000-\\u001F\\u007F]+$"},"code":{"type":"string","pattern":"^[A-Z0-9]{1,12}$"}},"required":["value","code"],"additionalProperties":false}}},"required":["name","values"],"additionalProperties":false}},{"type":"null"}]},"skuPattern":{"anyOf":[{"type":"object","properties":{"base":{"type":"string","pattern":"^[A-Z0-9][A-Z0-9-]{0,39}$"},"separator":{"type":"string","enum":["-","_",".",""]}},"required":["base","separator"],"additionalProperties":false},{"type":"null"}]},"taxCode":{"anyOf":[{"type":"string","pattern":"^[A-Z0-9]{1,25}$"},{"type":"null"}]}},"additionalProperties":false},"variant":{"type":"object","properties":{"title":{"anyOf":[{"type":"string","minLength":1,"maxLength":500,"pattern":"^[^\\u0000-\\u001F\\u007F]+$"},{"type":"null"}]},"description":{"anyOf":[{"type":"string","minLength":1,"maxLength":10000,"pattern":"^[^\\u0000-\\u0008\\u000B\\u000C\\u000E-\\u001F\\u007F]+$"},{"type":"null"}]},"gtin":{"anyOf":[{"type":"string","pattern":"^(?:\\d{8}|\\d{12,14})$"},{"type":"null"}]},"mpn":{"anyOf":[{"type":"string","minLength":1,"maxLength":70,"pattern":"^[^\\u0000-\\u001F\\u007F]+$"},{"type":"null"}]},"condition":{"anyOf":[{"type":"string","enum":["new","refurbished","used"]},{"type":"null"}]},"priceMinor":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"salePriceMinor":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"currency":{"anyOf":[{"type":"string","pattern":"^[A-Z]{3}$"},{"type":"null"}]},"availability":{"anyOf":[{"type":"string","enum":["in_stock","out_of_stock","preorder","backorder"]},{"type":"null"}]},"quantity":{"anyOf":[{"type":"integer","minimum":-1000000000,"maximum":1000000000},{"type":"null"}]},"weightGrams":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"lengthMm":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"widthMm":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"heightMm":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"options":{"anyOf":[{"type":"object","propertyNames":{"type":"string","maxLength":100,"pattern":"^[^\\s\\u0000-\\u001F\\u007F](?:[^\\u0000-\\u001F\\u007F]*[^\\s\\u0000-\\u001F\\u007F])?$"},"additionalProperties":{"type":"string","minLength":1,"maxLength":200,"pattern":"^[^\\u0000-\\u001F\\u007F]+$"}},{"type":"null"}]},"images":{"anyOf":[{"maxItems":20,"type":"array","items":{"type":"object","properties":{"url":{"type":"string","maxLength":2048,"pattern":"^https?:\\/\\/[^\\s\\u0000-\\u001F\\u007F]+$"},"altText":{"type":"string","minLength":1,"maxLength":500,"pattern":"^[^\\u0000-\\u001F\\u007F]+$"},"mediaId":{"type":"string","pattern":"^[a-f0-9]{32}$"},"width":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"height":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991}},"required":["url"],"additionalProperties":false}},{"type":"null"}]},"compareAtPriceMinor":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"trackInventory":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"backorders":{"anyOf":[{"type":"string","enum":["deny","allow"]},{"type":"null"}]},"minOrderQuantity":{"anyOf":[{"type":"integer","minimum":1,"maximum":1000000},{"type":"null"}]},"maxOrderQuantity":{"anyOf":[{"type":"integer","minimum":1,"maximum":1000000},{"type":"null"}]},"image":{"anyOf":[{"type":"object","properties":{"url":{"type":"string","maxLength":2048,"pattern":"^https?:\\/\\/[^\\s\\u0000-\\u001F\\u007F]+$"},"altText":{"type":"string","minLength":1,"maxLength":500,"pattern":"^[^\\u0000-\\u001F\\u007F]+$"},"mediaId":{"type":"string","pattern":"^[a-f0-9]{32}$"},"width":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"height":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991}},"required":["url"],"additionalProperties":false},{"type":"null"}]},"identifierExists":{"anyOf":[{"type":"boolean"},{"type":"null"}]}},"additionalProperties":false},"attributes":{"type":"object","propertyNames":{"type":"string","pattern":"^[a-z][a-z0-9_]{0,63}$"},"additionalProperties":{"anyOf":[{"anyOf":[{"type":"string","minLength":1,"maxLength":5000,"pattern":"^[^\\u0000-\\u001F\\u007F]+$"},{"type":"number"},{"type":"boolean"}]},{"type":"null"}]}},"prices":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"object","properties":{"priceMinor":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"salePriceMinor":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"compareAtPriceMinor":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]}},"additionalProperties":false}},"translations":{"type":"object","propertyNames":{"type":"string","maxLength":35},"additionalProperties":{"type":"object","properties":{"title":{"anyOf":[{"type":"string","minLength":1,"maxLength":500,"pattern":"^[^\\u0000-\\u001F\\u007F]+$"},{"type":"null"}]},"description":{"anyOf":[{"type":"string","minLength":1,"maxLength":65000,"pattern":"^[^\\u0000-\\u0008\\u000B\\u000C\\u000E-\\u001F\\u007F]+$"},{"type":"null"}]},"shortDescription":{"anyOf":[{"type":"string","minLength":1,"maxLength":500,"pattern":"^[^\\u0000-\\u0008\\u000B\\u000C\\u000E-\\u001F\\u007F]+$"},{"type":"null"}]},"seoTitle":{"anyOf":[{"type":"string","minLength":1,"maxLength":70,"pattern":"^[^\\u0000-\\u001F\\u007F]+$"},{"type":"null"}]},"seoDescription":{"anyOf":[{"type":"string","minLength":1,"maxLength":320,"pattern":"^[^\\u0000-\\u0008\\u000B\\u000C\\u000E-\\u001F\\u007F]+$"},{"type":"null"}]},"options":{"anyOf":[{"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":255,"pattern":"^[^\\u0000-\\u001F\\u007F]+$"},"additionalProperties":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":255,"pattern":"^[^\\u0000-\\u001F\\u007F]+$"},"values":{"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":255,"pattern":"^[^\\u0000-\\u001F\\u007F]+$"},"additionalProperties":{"type":"string","minLength":1,"maxLength":255,"pattern":"^[^\\u0000-\\u001F\\u007F]+$"}}},"required":["name","values"],"additionalProperties":false}},{"type":"null"}]}},"additionalProperties":false}},"groupPrices":{"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":100,"pattern":"^[^\\u0000-\\u001F\\u007F]+$"},"additionalProperties":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]}}}},"required":["sku","productHandle"],"additionalProperties":false},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/components/schemas/JsonValue"}}]}}},"required":["rows"],"additionalProperties":false},"PushWebhookEvent":{"type":"object","properties":{"id":{"type":"string","minLength":1},"type":{"type":"string","enum":["catalog.run.completed","catalog.run.failed"]},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"data":{"type":"object","properties":{"runId":{"type":"string","minLength":1},"vendorId":{"anyOf":[{"type":"string"},{"type":"null"}]},"mode":{"type":"string","enum":["merge","replace"]},"fullSync":{"type":"boolean"},"failureCode":{"anyOf":[{"type":"string"},{"type":"null"}]},"received":{"type":"integer","minimum":0,"maximum":9007199254740991},"created":{"type":"integer","minimum":0,"maximum":9007199254740991},"updated":{"type":"integer","minimum":0,"maximum":9007199254740991},"unchanged":{"type":"integer","minimum":0,"maximum":9007199254740991},"rowsFailed":{"type":"integer","minimum":0,"maximum":9007199254740991},"rowsWarned":{"type":"integer","minimum":0,"maximum":9007199254740991},"finishedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"reportExpiresAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},{"type":"null"}]}},"required":["runId","vendorId","mode","fullSync","failureCode","received","created","updated","unchanged","rowsFailed","rowsWarned","finishedAt","reportExpiresAt"],"additionalProperties":false}},"required":["id","type","createdAt","data"],"additionalProperties":false}},"parameters":{"IdempotencyKey":{"name":"Idempotency-Key","in":"header","description":"A retry with the same key answers the first request again instead of repeating it.","required":false,"schema":{"type":"string","minLength":1,"maxLength":200}},"IdempotencyKeyForAdjust":{"name":"Idempotency-Key","in":"header","description":"Required when a row has `quantityMode: \"adjust\"` (a repeat would count twice); otherwise optional. A retry with the same key answers the first request again.","required":false,"schema":{"type":"string","minLength":1,"maxLength":200}},"IfNoneMatch":{"name":"If-None-Match","in":"header","description":"An `ETag` of an earlier answer: `304` when it still matches.","required":false,"schema":{"type":"string"}}},"headers":{"ETag":{"description":"The answer version, for `If-None-Match`.","schema":{"type":"string"}},"RetryAfter":{"description":"Seconds to wait before retrying.","schema":{"type":"integer","minimum":0}},"IdempotentReplayed":{"description":"`true` when the answer is a stored one for the same `Idempotency-Key`.","schema":{"type":"string","enum":["true"]}}},"securitySchemes":{"storeKey":{"type":"http","scheme":"bearer","description":"A store secret key (`pc_sk_…`): the whole catalog."},"vendorKey":{"type":"http","scheme":"bearer","description":"A vendor key (`pc_vk_…`): only that vendor's products, jobs and runs; others answer 404."}}},"x-push-errors":{"AUTHENTICATION_FAILED":{"statuses":[401],"retryable":false,"source":"route"},"VENDOR_PAUSED":{"statuses":[403],"retryable":false,"source":"route"},"VENDOR_KEY_NOT_ALLOWED":{"statuses":[403],"retryable":false,"source":"route"},"INVALID_REQUEST":{"statuses":[400],"retryable":false,"source":"route"},"IDEMPOTENCY_KEY_REQUIRED":{"statuses":[400],"retryable":false,"source":"route"},"NOT_FOUND":{"statuses":[404],"retryable":false,"source":"route"},"PROFILE_NOT_FOUND":{"statuses":[404],"retryable":false,"source":"route"},"VENDOR_NOT_FOUND":{"statuses":[404],"retryable":false,"source":"route"},"IDEMPOTENCY_CONFLICT":{"statuses":[409],"retryable":false,"source":"route"},"RUN_IN_PROGRESS":{"statuses":[409],"retryable":true,"source":"route"},"JOB_CLOSED":{"statuses":[409],"retryable":false,"source":"route"},"JOB_FULL":{"statuses":[409],"retryable":false,"source":"route"},"TOO_MANY_OPEN_JOBS":{"statuses":[409],"retryable":true,"source":"route"},"REPORT_TOO_LARGE":{"statuses":[409],"retryable":false,"source":"route"},"HANDLE_TAKEN":{"statuses":[409],"retryable":false,"source":"object"},"IDENTIFIER_LOCKED":{"statuses":[409],"retryable":false,"source":"object"},"REPORT_EXPIRED":{"statuses":[410],"retryable":false,"source":"route"},"REQUEST_BODY_TOO_LARGE":{"statuses":[413],"retryable":false,"source":"route"},"MAPPING_INVALID":{"statuses":[422],"retryable":false,"source":"route"},"RATE_LIMITED":{"statuses":[429],"retryable":true,"source":"route"},"PUSH_QUEUE_FULL":{"statuses":[429],"retryable":true,"source":"route"},"INTERNAL_ERROR":{"statuses":[500],"retryable":true,"source":"generic"},"INFRASTRUCTURE_UNAVAILABLE":{"statuses":[503],"retryable":true,"source":"route"}}}