Skip to content

    Pre-launch API. The concepts described here are settled, but the API shape is not: request and response fields, parameters and defaults can still change. Build against it, and talk to your Luigi's Box contact before you put an integration into production.

    Get one sync run

    View source
    GET
    /catalog/v1/{catalog_id}/sync-runs/{sync_run_id}
    curl --request GET \
    --url https://api.eu1.luigisbox.ai/catalog/v1/example/sync-runs/example \
    --header 'Authorization: Bearer <token>'

    Return one run of the catalog by its sync_run_id; 404 when the catalog has no such run.

    catalog_id
    required
    Catalog Id
    string
    sync_run_id
    required
    Sync Run Id

    The run’s sync_run_id.

    string
    /^lbsr_[0-9a-hjkmnp-tv-z]{10}$/

    The run’s sync_run_id.

    Successful Response

    Media type application/json
    SyncRun
    object
    catalog_id
    required
    Catalog Id

    Catalog the run belongs to.

    string
    created_at
    required
    Created At

    When the run was recorded.

    string format: date-time
    detection
    required
    Any of:
    SyncRunDetection

    What a run’s format detection found at the beginning of the feed file.

    object
    confident
    required
    Confident

    Whether the detection was unambiguous; always false for unknown.

    boolean
    csv_delimiter
    required
    Any of:
    string
    format
    required
    Format

    The format the beginning of the file was read as. unknown when that part held nothing but whitespace; a file that begins like neither XML nor JSON is reported as csv, usually with confident false. More formats may be added.

    string
    Allowed values: xml csv json json_lines unknown
    item_tag
    required
    Any of:
    string
    json_path
    required
    Any of:
    string
    error_message
    required
    Any of:
    string
    etag
    required
    Any of:
    string
    feed_id
    required
    Feed Id

    Feed the run processed.

    integer
    fingerprints
    required
    Fingerprints

    Whether per-item fingerprints were honoured; false means every item was resent.

    boolean
    finished_at
    required
    Any of:
    string format: date-time
    force
    required
    Force

    Whether the run ignored the unchanged-feed check and preempted any in-flight run.

    boolean
    generation
    required
    Any of:
    string format: uuid
    items_no_identity
    required
    Any of:
    integer
    items_rejected
    required
    Any of:
    integer
    items_scanned
    required
    Any of:
    integer
    items_sent
    required
    Any of:
    integer
    items_skipped
    required
    Any of:
    integer
    last_modified
    required
    Any of:
    string
    started_at
    required
    Started At

    When the run started; a run is recorded as it starts.

    string format: date-time
    status
    required
    SyncRunStatus

    Lifecycle status of the run.

    string
    Allowed values: running succeeded partial failed skipped
    status_reason
    required
    Any of:
    SyncStatusReason

    Why a run ended the way it did.

    string
    Allowed values: timeout html_challenge tls_error dns_error connection_refused connect_timeout read_timeout transport_error stall not_found forbidden auth_required request_timeout rate_limited http_4xx http_500 http_502 http_503 http_504 http_5xx decompress_error parse_error delete_threshold unparseable_threshold no_items_parsed all_items_rejected internal_error preempted not_modified processing interrupted abandoned end_of_generation_withheld end_of_generation_failed
    sync_id
    required
    Any of:
    string
    /^lbsy_[0-9a-hjkmnp-tv-z]{10}$/
    sync_run_id
    required
    Sync Run Id

    The run’s identifier: lbsr_ followed by ten lowercase Crockford base32 characters. Every run has one, and it does not change. It is random, so it says nothing about when the run happened or how many runs came before it; runs are listed by started_at.

    string
    /^lbsr_[0-9a-hjkmnp-tv-z]{10}$/
    trigger
    required
    SyncTrigger

    Whether the run came from the schedule or a manual request.

    string
    Allowed values: schedule manual
    triggered_by
    required
    Any of:
    string
    Example
    {
    "detection": {
    "format": "xml"
    },
    "status": "running",
    "status_reason": "timeout",
    "trigger": "schedule"
    }

    Missing or invalid credentials

    Media type application/json
    ErrorResponse

    Canonical error body — every non-2xx response uses this shape.

    object
    exception_details
    ExceptionDetails

    Machine-readable error context; empty object when there is nothing to add.

    object
    error_code
    Error Code

    Stable machine code naming why a well-formed request was refused: snake_case, prefixed by its domain — e.g. filter_unknown_field or cursor_mismatch. Safe to branch on; reason is not. Absent when the status code says all there is to say.

    string
    validation_errors
    Validation Errors

    Every field-level problem found in the request, when validation is what failed. Absent when the rejection is not about a specific value.

    Array<object>
    ValidationProblem

    One field-level reason a request was rejected.

    object
    loc
    required
    Loc

    Path to the offending value from the request root, e.g. ["body", "filters", 0, "operator"].

    Array
    msg
    required
    Msg

    What is wrong with the value at loc.

    string
    type
    required
    Type

    Stable machine code for the problem, e.g. missing or string_too_short.

    string
    key
    additional properties
    any
    reason
    required
    Reason

    Human-readable, actionable error message.

    string
    request_id
    Any of:
    string
    Example generated
    {
    "exception_details": {
    "error_code": "example",
    "validation_errors": [
    {
    "loc": [
    "example"
    ],
    "msg": "example",
    "type": "example"
    }
    ]
    },
    "reason": "example",
    "request_id": "example"
    }

    Authenticated but not permitted

    Media type application/json
    ErrorResponse

    Canonical error body — every non-2xx response uses this shape.

    object
    exception_details
    ExceptionDetails

    Machine-readable error context; empty object when there is nothing to add.

    object
    error_code
    Error Code

    Stable machine code naming why a well-formed request was refused: snake_case, prefixed by its domain — e.g. filter_unknown_field or cursor_mismatch. Safe to branch on; reason is not. Absent when the status code says all there is to say.

    string
    validation_errors
    Validation Errors

    Every field-level problem found in the request, when validation is what failed. Absent when the rejection is not about a specific value.

    Array<object>
    ValidationProblem

    One field-level reason a request was rejected.

    object
    loc
    required
    Loc

    Path to the offending value from the request root, e.g. ["body", "filters", 0, "operator"].

    Array
    msg
    required
    Msg

    What is wrong with the value at loc.

    string
    type
    required
    Type

    Stable machine code for the problem, e.g. missing or string_too_short.

    string
    key
    additional properties
    any
    reason
    required
    Reason

    Human-readable, actionable error message.

    string
    request_id
    Any of:
    string
    Example generated
    {
    "exception_details": {
    "error_code": "example",
    "validation_errors": [
    {
    "loc": [
    "example"
    ],
    "msg": "example",
    "type": "example"
    }
    ]
    },
    "reason": "example",
    "request_id": "example"
    }

    Resource not found

    Media type application/json
    ErrorResponse

    Canonical error body — every non-2xx response uses this shape.

    object
    exception_details
    ExceptionDetails

    Machine-readable error context; empty object when there is nothing to add.

    object
    error_code
    Error Code

    Stable machine code naming why a well-formed request was refused: snake_case, prefixed by its domain — e.g. filter_unknown_field or cursor_mismatch. Safe to branch on; reason is not. Absent when the status code says all there is to say.

    string
    validation_errors
    Validation Errors

    Every field-level problem found in the request, when validation is what failed. Absent when the rejection is not about a specific value.

    Array<object>
    ValidationProblem

    One field-level reason a request was rejected.

    object
    loc
    required
    Loc

    Path to the offending value from the request root, e.g. ["body", "filters", 0, "operator"].

    Array
    msg
    required
    Msg

    What is wrong with the value at loc.

    string
    type
    required
    Type

    Stable machine code for the problem, e.g. missing or string_too_short.

    string
    key
    additional properties
    any
    reason
    required
    Reason

    Human-readable, actionable error message.

    string
    request_id
    Any of:
    string
    Example generated
    {
    "exception_details": {
    "error_code": "example",
    "validation_errors": [
    {
    "loc": [
    "example"
    ],
    "msg": "example",
    "type": "example"
    }
    ]
    },
    "reason": "example",
    "request_id": "example"
    }

    Request validation failed

    Media type application/json
    ErrorResponse

    Canonical error body — every non-2xx response uses this shape.

    object
    exception_details
    ExceptionDetails

    Machine-readable error context; empty object when there is nothing to add.

    object
    error_code
    Error Code

    Stable machine code naming why a well-formed request was refused: snake_case, prefixed by its domain — e.g. filter_unknown_field or cursor_mismatch. Safe to branch on; reason is not. Absent when the status code says all there is to say.

    string
    validation_errors
    Validation Errors

    Every field-level problem found in the request, when validation is what failed. Absent when the rejection is not about a specific value.

    Array<object>
    ValidationProblem

    One field-level reason a request was rejected.

    object
    loc
    required
    Loc

    Path to the offending value from the request root, e.g. ["body", "filters", 0, "operator"].

    Array
    msg
    required
    Msg

    What is wrong with the value at loc.

    string
    type
    required
    Type

    Stable machine code for the problem, e.g. missing or string_too_short.

    string
    key
    additional properties
    any
    reason
    required
    Reason

    Human-readable, actionable error message.

    string
    request_id
    Any of:
    string
    Example generated
    {
    "exception_details": {
    "error_code": "example",
    "validation_errors": [
    {
    "loc": [
    "example"
    ],
    "msg": "example",
    "type": "example"
    }
    ]
    },
    "reason": "example",
    "request_id": "example"
    }

    Service temporarily unavailable

    Media type application/json
    ErrorResponse

    Canonical error body — every non-2xx response uses this shape.

    object
    exception_details
    ExceptionDetails

    Machine-readable error context; empty object when there is nothing to add.

    object
    error_code
    Error Code

    Stable machine code naming why a well-formed request was refused: snake_case, prefixed by its domain — e.g. filter_unknown_field or cursor_mismatch. Safe to branch on; reason is not. Absent when the status code says all there is to say.

    string
    validation_errors
    Validation Errors

    Every field-level problem found in the request, when validation is what failed. Absent when the rejection is not about a specific value.

    Array<object>
    ValidationProblem

    One field-level reason a request was rejected.

    object
    loc
    required
    Loc

    Path to the offending value from the request root, e.g. ["body", "filters", 0, "operator"].

    Array
    msg
    required
    Msg

    What is wrong with the value at loc.

    string
    type
    required
    Type

    Stable machine code for the problem, e.g. missing or string_too_short.

    string
    key
    additional properties
    any
    reason
    required
    Reason

    Human-readable, actionable error message.

    string
    request_id
    Any of:
    string
    Example generated
    {
    "exception_details": {
    "error_code": "example",
    "validation_errors": [
    {
    "loc": [
    "example"
    ],
    "msg": "example",
    "type": "example"
    }
    ]
    },
    "reason": "example",
    "request_id": "example"
    }