timzinin-com Container Exception Evidence API

The Container Exception Evidence API from timzinin-com — 1 operation(s) for container exception evidence.

Operations 1

POST /api/container-exception-evidence Container Delay & Free-Time Evidence Monitor #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/timzinin-com:timzinin-com-container-exception-evidence-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

timzinin-com-container-exception-evidence-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Zinin M2M Hub Container Exception Evidence API
  description: Pay-per-call data & tool APIs
  version: 1.0.0
  x-guidance: 'Zinin M2M Hub — pay-per-call data & tool APIs for AI agents. Each POST /api/{slug} operation below is a distinct paid tool: call GET /api/{slug}/schema first for the exact input shape, then POST with a signed PAYMENT-SIGNATURE header (x402 v2, USDC — see x-payment-info per operation) or omit it to receive a 402 with full payment requirements in the PAYMENT-REQUIRED header. The same catalog is also available as MCP JSON-RPC tool bundles at POST /mcp/{bundle} — see GET /.well-known/x402 for the list of bundles.'
tags:
- name: Container Exception Evidence
paths:
  /api/container-exception-evidence:
    post:
      summary: Container Delay & Free-Time Evidence Monitor
      description: Turn buyer-authorized container event snapshots into deterministic ETA, milestone, free-time, cost-exposure, confidence, limitation, and human-review evidence. No carrier scraping, reference fetching, legal verdict, automatic claim, or provider key.
      operationId: call_container_exception_evidence
      x-payment-info:
        price:
          mode: fixed
          currency: USD
          amount: '0.020000'
        protocols:
        - x402: {}
        network: eip155:8453
        payTo: '0x409D32aD39C02BC9B23a8b2d447532ed801b12dE'
        asset: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              title: Container Exception Evidence input
              description: Compare customer-authorized container events with the last healthy baseline. This Actor never fetches references or accepts provider credentials.
              type: object
              schemaVersion: 1
              additionalProperties: false
              required:
              - watchId
              - mode
              - sourceStatus
              - rightsAttestation
              - containers
              - events
              - tariffAssumptions
              properties:
                watchId:
                  title: Watch ID
                  description: Stable identifier for one customer-owned monitoring series.
                  type: string
                  editor: textfield
                  minLength: 1
                  maxLength: 128
                  pattern: ^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$
                  prefill: customer-watch-1
                  example: customer-watch-1
                mode:
                  title: Run mode
                  description: Use snapshot for customer events or synthetic_demo for the one exact canonical zero-provider public example. The demo accepts only the published fixture values; runtime rejects any changed field, extra row, customer row, or secret before effects.
                  type: string
                  editor: select
                  enum:
                  - snapshot
                  - synthetic_demo
                  enumTitles:
                  - Customer snapshot
                  - Synthetic demo
                  prefill: snapshot
                  example: snapshot
                sourceStatus:
                  title: Source completeness
                  description: Declare whether this customer-supplied snapshot is complete, partial, or unavailable.
                  type: string
                  editor: select
                  enum:
                  - complete
                  - partial
                  - unavailable
                  enumTitles:
                  - Complete
                  - Partial
                  - Unavailable
                  prefill: complete
                  example: complete
                rightsAttestation:
                  title: Rights attestation
                  description: Required customer declaration. Apify Input Schema v1 can serialize false here; the Actor runtime requires all three declarations to be exactly true and rejects otherwise before provider, Dataset, billing, state, lock, intent, or delivery effects. Do not submit credentials, secrets, or data you are not authorized to use.
                  type: object
                  editor: json
                  additionalProperties: false
                  required:
                  - customerControlsOrIsAuthorizedToUseData
                  - noCredentialsOrSecretsSubmitted
                  - unfetchedReferencePolicyAccepted
                  - attestedAt
                  - attestorId
                  properties:
                    customerControlsOrIsAuthorizedToUseData:
                      title: Authorized data
                      description: Must be true. Input Schema v1 cannot enforce true; runtime rejects false before later effects.
                      type: boolean
                    noCredentialsOrSecretsSubmitted:
                      title: No credentials or secrets
                      description: Must be true. Input Schema v1 cannot enforce true; runtime rejects false before later effects.
                      type: boolean
                    unfetchedReferencePolicyAccepted:
                      title: Unfetched reference policy
                      description: Must be true. Input Schema v1 cannot enforce true; runtime rejects false before later effects.
                      type: boolean
                    attestedAt:
                      title: Attested at
                      description: RFC 3339 timestamp with an explicit offset, not later than the Actor run.
                      type: string
                      pattern: ^(?:\d{4}-\d{2}-\d{2})T(?:\d{2}:\d{2}:\d{2})(?:\.\d{1,9})?(?:Z|[+-]\d{2}:\d{2})$
                    attestorId:
                      title: Attestor ID
                      description: Customer-controlled opaque operator identifier; never returned raw.
                      type: string
                      minLength: 1
                      maxLength: 128
                      pattern: ^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$
                  example:
                    customerControlsOrIsAuthorizedToUseData: true
                    noCredentialsOrSecretsSubmitted: true
                    unfetchedReferencePolicyAccepted: true
                    attestedAt: '2026-08-09T09:00:00Z'
                    attestorId: customer-operator-1
                containers:
                  title: Containers
                  description: At least one and at most 1,000 closed records. Snapshot accepts customer containers; synthetic_demo accepts exactly one fixed Actor-owned Synthetic Ocean record and rejects substitutions before effects. BOL and booking values are never returned raw.
                  type: array
                  editor: json
                  minItems: 1
                  maxItems: 1000
                  items:
                    type: object
                    additionalProperties: false
                    required:
                    - containerNumber
                    properties:
                      containerNumber:
                        title: Container number
                        description: Uppercase ISO 6346 number with a valid check digit.
                        type: string
                        pattern: ^[A-Z]{4}[0-9]{7}$
                      carrier:
                        title: Carrier
                        description: Optional customer-declared carrier label.
                        type: string
                        nullable: true
                        minLength: 1
                        maxLength: 128
                        pattern: ^[A-Za-z0-9][A-Za-z0-9._:/ -]{0,127}$
                      billOfLading:
                        title: Bill of lading
                        description: Optional private customer value; only a domain-separated digest may appear in output.
                        type: string
                        nullable: true
                        minLength: 1
                        maxLength: 128
                        pattern: ^[A-Za-z0-9][A-Za-z0-9._:/ -]{0,127}$
                      bookingNumber:
                        title: Booking number
                        description: Optional private customer value; only a domain-separated digest may appear in output.
                        type: string
                        nullable: true
                        minLength: 1
                        maxLength: 128
                        pattern: ^[A-Za-z0-9][A-Za-z0-9._:/ -]{0,127}$
                      promisedEta:
                        title: Promised ETA
                        description: Optional RFC 3339 ETA with an explicit offset; runtime validates the timestamp.
                        type: string
                        nullable: true
                        pattern: ^(?:\d{4}-\d{2}-\d{2})T(?:\d{2}:\d{2}:\d{2})(?:\.\d{1,9})?(?:Z|[+-]\d{2}:\d{2})$
                      freeTimeEnd:
                        title: Free-time end
                        description: Optional RFC 3339 free-time deadline with an explicit offset; runtime validates the timestamp.
                        type: string
                        nullable: true
                        pattern: ^(?:\d{4}-\d{2}-\d{2})T(?:\d{2}:\d{2}:\d{2})(?:\.\d{1,9})?(?:Z|[+-]\d{2}:\d{2})$
                      originUnlocode:
                        title: Origin UN/LOCODE
                        description: Optional five-character UN/LOCODE syntax.
                        type: string
                        nullable: true
                        pattern: ^[A-Z]{2}[A-Z0-9]{3}$
                      destinationUnlocode:
                        title: Destination UN/LOCODE
                        description: Optional five-character UN/LOCODE syntax.
                        type: string
                        nullable: true
                        pattern: ^[A-Z]{2}[A-Z0-9]{3}$
                  prefill:
                  - containerNumber: MSCU1234566
                    carrier: customer-declared-carrier
                    billOfLading: null
                    bookingNumber: null
                    promisedEta: '2026-08-12T12:00:00Z'
                    freeTimeEnd: '2026-08-15T12:00:00Z'
                    originUnlocode: NLRTM
                    destinationUnlocode: USLAX
                  example:
                  - containerNumber: MSCU1234566
                    carrier: customer-declared-carrier
                    billOfLading: null
                    bookingNumber: null
                    promisedEta: '2026-08-12T12:00:00Z'
                    freeTimeEnd: '2026-08-15T12:00:00Z'
                    originUnlocode: NLRTM
                    destinationUnlocode: USLAX
                events:
                  title: Container events
                  description: At least one and at most 50,000 events. Snapshot accepts customer events; synthetic_demo accepts exactly the two fixed Actor-owned events in the public fixture and rejects substitutions or extra rows before effects. Safe references are validated but never fetched.
                  type: array
                  editor: json
                  minItems: 1
                  maxItems: 50000
                  items:
                    type: object
                    additionalProperties: false
                    required:
                    - eventId
                    - containerNumber
                    - eventType
                    - eventTime
                    - receivedAt
                    - source
                    properties:
                      eventId:
                        title: Event ID
                        description: Customer event identifier unique within the container timeline.
                        type: string
                        minLength: 1
                        maxLength: 128
                        pattern: ^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$
                      containerNumber:
                        title: Container number
                        description: Must match one container record in this input.
                        type: string
                        pattern: ^[A-Z]{4}[0-9]{7}$
                      eventType:
                        title: Event type
                        description: Closed container milestone or customer event type.
                        type: string
                        enum:
                        - booked
                        - received_at_terminal
                        - gate_in
                        - loaded
                        - transshipment
                        - discharged
                        - available_for_pickup
                        - gate_out
                        - picked_up
                        - empty_returned
                        - delivered
                        - eta_update
                        - customer_milestone
                      eventTime:
                        title: Event time
                        description: RFC 3339 event timestamp with an explicit offset; runtime validates the timestamp.
                        type: string
                        pattern: ^(?:\d{4}-\d{2}-\d{2})T(?:\d{2}:\d{2}:\d{2})(?:\.\d{1,9})?(?:Z|[+-]\d{2}:\d{2})$
                      receivedAt:
                        title: Received at
                        description: RFC 3339 receipt timestamp, not earlier than eventTime; runtime validates the timestamp.
                        type: string
                        pattern: ^(?:\d{4}-\d{2}-\d{2})T(?:\d{2}:\d{2}:\d{2})(?:\.\d{1,9})?(?:Z|[+-]\d{2}:\d{2})$
                      locationUnlocode:
                        title: Location UN/LOCODE
                        description: Optional observed location syntax.
                        type: string
                        nullable: true
                        pattern: ^[A-Z]{2}[A-Z0-9]{3}$
                      plannedLocationUnlocode:
                        title: Planned location UN/LOCODE
                        description: Optional planned location syntax.
                        type: string
                        nullable: true
                        pattern: ^[A-Z]{2}[A-Z0-9]{3}$
                      plannedTime:
                        title: Planned time
                        description: Optional RFC 3339 planned time; only eta_update may use a non-null value and runtime validates it.
                        type: string
                        nullable: true
                        pattern: ^(?:\d{4}-\d{2}-\d{2})T(?:\d{2}:\d{2}:\d{2})(?:\.\d{1,9})?(?:Z|[+-]\d{2}:\d{2})$
                      source:
                        title: Source label
                        description: Customer-declared provenance label, not a provider URL or credential.
                        type: string
                        minLength: 1
                        maxLength: 128
                        pattern: '^[A-Za-z0-9][A-Za-z0-9._: -]{0,127}$'
                      reference:
                        title: Safe reference
                        description: 'Optional ref: identifier or restricted HTTPS reference. It is never fetched.'
                        type: string
                        nullable: true
                        minLength: 1
                        maxLength: 256
                  prefill:
                  - eventId: customer-event-1
                    containerNumber: MSCU1234566
                    eventType: gate_in
                    eventTime: '2026-08-08T09:00:00Z'
                    receivedAt: '2026-08-08T09:05:00Z'
                    locationUnlocode: NLRTM
                    plannedLocationUnlocode: null
                    plannedTime: null
                    source: customer-system
                    reference: ref:customer-evidence-1
                  example:
                  - eventId: customer-event-1
                    containerNumber: MSCU1234566
                    eventType: gate_in
                    eventTime: '2026-08-08T09:00:00Z'
                    receivedAt: '2026-08-08T09:05:00Z'
                    locationUnlocode: NLRTM
                    plannedLocationUnlocode: null
                    plannedTime: null
                    source: customer-system
                    reference: ref:customer-evidence-1
                tariffAssumptions:
                  title: Tariff assumptions
                  description: Customer-supplied USD/day assumptions. No terminal calendar or carrier tariff is fetched.
                  type: object
                  editor: json
                  additionalProperties: false
                  required:
                  - currency
                  - demurragePerDay
                  - detentionPerDay
                  properties:
                    currency:
                      title: Currency
                      description: V1 accepts USD only.
                      type: string
                      enum:
                      - USD
                    demurragePerDay:
                      title: Demurrage per day
                      description: Customer assumption in USD/day, up to four decimal places at runtime.
                      type: number
                      minimum: 0
                      maximum: 1000000
                    detentionPerDay:
                      title: Detention per day
                      description: Customer assumption in USD/day, up to four decimal places at runtime.
                      type: number
                      minimum: 0
                      maximum: 1000000
                  prefill:
                    currency: USD
                    demurragePerDay: 0
                    detentionPerDay: 0
                  example:
                    currency: USD
                    demurragePerDay: 75
                    detentionPerDay: 50
                continuationState:
                  title: Caller-carried continuation state
                  description: Optional exact nextContinuationState from a previous successful complete run. The Actor does not store this state in a named KVS; pass it back to compare the next customer snapshot.
                  type: object
                  nullable: true
                  editor: json
      responses:
        '200':
          description: Actor run succeeded and payment settled
          content:
            application/json:
              schema:
                type: object
                properties:
                  results:
                    type: array
                    items:
                      type: object
                    description: Actor output items — shape is actor-specific (varies per tool); see this operation's own requestBody schema/description for what the underlying actor produces.
                  meta:
                    type: object
                    properties:
                      run_ms:
                        type: integer
                        description: Actor run duration in milliseconds
                      item_count:
                        type: integer
                        description: len(results)
                      settled:
                        type: boolean
                        description: Whether the x402 payment was confirmed settled by the facilitator
                      transaction:
                        type:
                        - string
                        - 'null'
                        description: On-chain settlement transaction hash, null if unsettled
                    required:
                    - run_ms
                    - item_count
                    - settled
                    - transaction
                required:
                - results
                - meta
        '400':
          description: Malformed PAYMENT-SIGNATURE header or request body
        '402':
          description: Payment required or invalid — see PAYMENT-REQUIRED header
        '409':
          description: Payment payload already used
        '502':
          description: Actor run failed
        '504':
          description: Actor run timed out
      tags:
      - Container Exception Evidence