TruckerTechTruckerTech

Developer Lab · API reference

API reference

TruckerTech™ Nexus connectors: every operation, event and schema that exists today, rendered from the published specifications.

Version
1.1.0
Specifications
OpenAPI 3.1.0 · AsyncAPI 3.0.0 · Markdown
Sandbox access
Request access to use the sandbox
AI Connect (API and MCP)
Not part of the connectors document

Operations

Ingress

POST /api/nexus/events/{connection}

Deliver one signed Partner event

A Partner delivers one event envelope for one connection. The body is read up to 262144 bytes and never parsed past it. The signature header covers the send time and the raw body; the delivery is accepted only inside the replay window on that send time, and an event id already received is answered as accepted, so a Partner may retry with a fresh send time. Every answer is no-store.

Parameters
NameInSchemaDescription
connection requiredpathstring (uuid)The connection (account binding) id the delivery is for.
x-tt-nexus-signature requiredheaderstringhmac-sha256;key-id=<key id>;t=<send time, ms since epoch, a safe integer>;value=<64 lowercase hex>, where value is HMAC-SHA-256 over <t>. followed by the raw body. The key id names a credential version, never key material.

Request body application/json · PartnerWebhookEnvelope

Responses
StatusBodyMeaning
202IngressOutcomeThe delivery verified and was recorded, or it is a signed retry of an event already received. Stop retrying.
401IngressOutcomeThe delivery was refused. An unknown, inactive or malformed connection gets the same answer as a delivery that failed verification, so the answer says nothing about the connection.
409IngressOutcomeA verified delivery reused an event id for different content on this connection.
413IngressOutcomeThe body is larger than the ceiling. Decided before the connection is read.
503IngressOutcomeThe receipt could not be recorded. Retry with a fresh signed send time.
maxBodyBytes
262144
replayWindowMs
300000
maxEventTimeDistanceMs
3155760000000

Integration API

GET /api/v1/integration/whoami

The integration principal of this credential

Returns the client, its organization, the environment, the credential kind and the effective scopes.

Responses
StatusBodyMeaning
200inlineOK
400Integration.Errorinvalid_request
401Integration.Errorunauthorized, invalid_credential, credential_environment_mismatch
403Integration.Errorcredential_not_permitted, suspended, owner_inactive, forbidden_origin, insufficient_scope
429Integration.Errorrate_limited, with Retry-After
503Integration.Errorunavailable

Integration API

GET /api/v1/integration/cores

The Cores your organization created or participates in

Lists the Cores (loads) your organization created or actively participates in, in Core id order: status, mode, planned window, the organizations by display name and the stops. Page with limit (1 to 100, default 25) and after (the next_after of the previous page). In the sandbox these are the Cores of your practice organization's world.

Parameters
NameInSchemaDescription
limitqueryintegerCores per page, 1 to 100; 25 when absent.
afterquerystringThe next_after of the previous page.
Responses
StatusBodyMeaning
200inlineOK
400Integration.Errorinvalid_request
401Integration.Errorunauthorized, invalid_credential, credential_environment_mismatch
403Integration.Errorcredential_not_permitted, suspended, owner_inactive, forbidden_origin, insufficient_scope
429Integration.Errorrate_limited, with Retry-After
503Integration.Errorunavailable

Integration API

GET /api/v1/integration/cores/{coreId}

One Core your organization created or participates in

Returns one Core in the same shape as the list, as items of one. A Core your organization does not take part in is answered exactly as one that does not exist: 404 not_found.

Parameters
NameInSchemaDescription
coreId requiredpathstringThe Core id (core_id).
Responses
StatusBodyMeaning
200inlineOK
400Integration.Errorinvalid_request
401Integration.Errorunauthorized, invalid_credential, credential_environment_mismatch
403Integration.Errorcredential_not_permitted, suspended, owner_inactive, forbidden_origin, insufficient_scope
404Integration.Errornot_found
429Integration.Errorrate_limited, with Retry-After
503Integration.Errorunavailable

Integration API

GET /api/v1/integration/cores/{coreId}/documents

The documents of a Core, as metadata

Lists the documents of one Core your organization created or participates in that your organization may read, in document id order: the id, class, file name, content type, size, recorded time and visibility. Metadata only: the bytes, the digest and the storage location are never returned. Page with limit (1 to 100, default 25) and after (the next_after of the previous page). A Core your organization does not take part in is answered exactly as one that does not exist: 404 not_found. In the sandbox the practice world holds no documents, so the list is empty.

Parameters
NameInSchemaDescription
coreId requiredpathstringThe Core id (core_id).
limitqueryintegerDocuments per page, 1 to 100; 25 when absent.
afterquerystringThe next_after of the previous page.
Responses
StatusBodyMeaning
200inlineOK
400Integration.Errorinvalid_request
401Integration.Errorunauthorized, invalid_credential, credential_environment_mismatch
403Integration.Errorcredential_not_permitted, suspended, owner_inactive, forbidden_origin, insufficient_scope
404Integration.Errornot_found
429Integration.Errorrate_limited, with Retry-After
503Integration.Errorunavailable

Integration API

POST /oauth/token

Client credentials with private_key_jwt

Issues a ten-minute access token for the client the signed assertion names. No client secret exists; a request presenting one is refused.

Request body application/x-www-form-urlencoded · inline

Responses
StatusBodyMeaning
200Integration.TokenResponseThe access token
400EmptyRFC 6749 5.2: invalid_request, invalid_scope, unsupported_grant_type
401Emptyinvalid_client: any failed client authentication, one answer
429Emptyrate_limited, with Retry-After

Webhook · TruckerTech sends this request to your endpoint

POST remoteConnector

One signed call to a remote connector

TruckerTech POSTs one tt-nexus-remote/1 message to the endpoint the connector's manifest declares (an allowlisted host and its endpointPath) and expects one signed message back. The op member of the protected header names the port operation; the body follows that operation's request schema. Signatures are Ed25519 over the canonical form, with keys each side publishes.

Parameters
NameInSchemaDescription
tt-nexus-protocol requiredheaderconst "tt-nexus-remote/1"

Request body application/json · RemoteMessage

Responses
StatusBodyMeaning
200RemoteMessageA signed response addressed to the platform, bound to the request by replyTo. A verified request whose body does not match its operation is answered here with a signed invalid-input refusal.
401EmptyThe request failed verification. The body is empty whatever the reason, so the answer cannot be used to probe the verifier.
413EmptyThe request is larger than the message ceiling. The body is empty.
maxMessageBytes
262144
defaultClockSkewMs
60000

Events

receive · /api/nexus/events/{connection}

Receive a Partner event

Messages PartnerEvent

Messages

AsyncAPI messages
MessageContent typePayloadAbout
PartnerEventapplication/jsonPartnerWebhookEnvelopePartner event
RemoteConnectorRequestapplication/jsonRemoteMessageRemote connector request
RemoteConnectorResponseapplication/jsonRemoteMessageRemote connector response
CanonSocket.career.workflow_status.v1application/jsonCanonSocket.career.workflow_status.v1Career workflow status
CanonSocket.carrier_identity.risk_signals.v1application/jsonCanonSocket.carrier_identity.risk_signals.v1Carrier Identity risk signals
CanonSocket.communications.channel_message.v1application/jsonCanonSocket.communications.channel_message.v1Communications: channel message
CanonSocket.documents.document_status.v1application/jsonCanonSocket.documents.document_status.v1Document status
CanonSocket.driver_lifecycle.background_check.v1application/jsonCanonSocket.driver_lifecycle.background_check.v1Background check
CanonSocket.driver_lifecycle.clearinghouse_query.v1application/jsonCanonSocket.driver_lifecycle.clearinghouse_query.v1Drug and Alcohol Clearinghouse query
CanonSocket.driver_lifecycle.dac_report.v1application/jsonCanonSocket.driver_lifecycle.dac_report.v1DAC employment history report
CanonSocket.driver_lifecycle.mvr_result.v1application/jsonCanonSocket.driver_lifecycle.mvr_result.v1Driver MVR result
CanonSocket.driver_lifecycle.voe_result.v1application/jsonCanonSocket.driver_lifecycle.voe_result.v1Verification of employment
CanonSocket.equipment_finance.agreement_status.v1application/jsonCanonSocket.equipment_finance.agreement_status.v1Equipment lease or financing status
CanonSocket.erp.demand.v1application/jsonCanonSocket.erp.demand.v1ERP demand
CanonSocket.esignature.envelope_status.v1application/jsonCanonSocket.esignature.envelope_status.v1E-signature envelope status
CanonSocket.factoring.credit_approval.v1application/jsonCanonSocket.factoring.credit_approval.v1Factoring credit approval
CanonSocket.factoring.invoice_funding.v1application/jsonCanonSocket.factoring.invoice_funding.v1Factoring and payments: invoice funding
CanonSocket.factoring.invoice_funding.v2application/jsonCanonSocket.factoring.invoice_funding.v2Factoring and payments: invoice funding (version 2, with the hand-off)
CanonSocket.freight_audit.invoice_audit.v1application/jsonCanonSocket.freight_audit.invoice_audit.v1Freight invoice audit
CanonSocket.fuel.price.v1application/jsonCanonSocket.fuel.price.v1Fuel price
CanonSocket.fuel.transaction.v1application/jsonCanonSocket.fuel.transaction.v1Fuel transaction
CanonSocket.identity.assurance_result.v1application/jsonCanonSocket.identity.assurance_result.v1Identity assurance result
CanonSocket.insurance.claim_status.v1application/jsonCanonSocket.insurance.claim_status.v1Insurance claim status
CanonSocket.load_board.posting.v1application/jsonCanonSocket.load_board.posting.v1Load board posting
CanonSocket.maintenance.inspection.v1application/jsonCanonSocket.maintenance.inspection.v1Vehicle inspection
CanonSocket.maintenance.work_order.v1application/jsonCanonSocket.maintenance.work_order.v1Maintenance work order
CanonSocket.parts.order.v1application/jsonCanonSocket.parts.order.v1Parts order
CanonSocket.qualification.carrier_compliance.v1application/jsonCanonSocket.qualification.carrier_compliance.v1Carrier qualification and compliance
CanonSocket.retention.driver_signal.v1application/jsonCanonSocket.retention.driver_signal.v1Driver retention signal
CanonSocket.safety.csa_monitoring.v1application/jsonCanonSocket.safety.csa_monitoring.v1Safety and CSA monitoring
CanonSocket.scheduling.appointment.v1application/jsonCanonSocket.scheduling.appointment.v1Scheduling and appointments
CanonSocket.telematics.hos_status.v1application/jsonCanonSocket.telematics.hos_status.v1Hours-of-service status
CanonSocket.telematics.vehicle_position.v1application/jsonCanonSocket.telematics.vehicle_position.v1Vehicle position (transaction-scoped)
CanonSocket.tms.load.v1application/jsonCanonSocket.tms.load.v1TMS loads and orders
CanonSocket.tms.load.v2application/jsonCanonSocket.tms.load.v2TMS loads and orders (version 2, with commands)
CanonSocket.tms.tender_response.v1application/jsonCanonSocket.tms.tender_response.v1TMS tender response
CanonSocket.tolls.transaction.v1application/jsonCanonSocket.tolls.transaction.v1Toll transaction
CanonSocket.training.course_completion.v1application/jsonCanonSocket.training.course_completion.v1Training course completion
CanonSocket.visibility.shipment_eta.v1application/jsonCanonSocket.visibility.shipment_eta.v1Visibility and ETA
CanonSocket.weather.advisory.v1application/jsonCanonSocket.weather.advisory.v1Weather advisory
CanonSocket.wms.dock_activity.v1application/jsonCanonSocket.wms.dock_activity.v1WMS dock activity
CanonSocket.yms.trailer_status.v1application/jsonCanonSocket.yms.trailer_status.v1YMS trailer status

Schemas

AdapterManifest

object · The capability manifest an adapter version is registered with.

Members
MemberSchemaDescription
manifestVersion requiredconst 1
contractVersion requiredconst 1
adapterId requiredstring
version requiredstring
packageName requiredstring
displayName requiredstring
systemNode requiredobject
runtime requiredobject
sockets requiredarray of object
support requiredobject
JSON Schema
{
  "type": "object",
  "properties": {
    "manifestVersion": {
      "type": "number",
      "const": 1
    },
    "contractVersion": {
      "type": "number",
      "const": 1
    },
    "adapterId": {
      "type": "string",
      "maxLength": 96,
      "pattern": "^[a-z][a-z0-9]*(?:[.-][a-z0-9]+)*$"
    },
    "version": {
      "type": "string",
      "maxLength": 64,
      "pattern": "^(0|[1-9][0-9]{0,5})\\.(0|[1-9][0-9]{0,5})\\.(0|[1-9][0-9]{0,5})(-[0-9A-Za-z]+(\\.[0-9A-Za-z]+)*)?$"
    },
    "packageName": {
      "type": "string",
      "maxLength": 128,
      "pattern": "^@truckertech\\/integration-[a-z0-9]+(-[a-z0-9]+)*$"
    },
    "displayName": {
      "type": "string",
      "minLength": 1,
      "maxLength": 120
    },
    "systemNode": {
      "type": "object",
      "properties": {
        "providerKind": {
          "type": "string",
          "enum": [
            "synthetic",
            "ecosystem_partner"
          ]
        },
        "providerCode": {
          "type": "string",
          "pattern": "^[a-z][a-z0-9-]{0,63}$"
        },
        "displayName": {
          "type": "string",
          "minLength": 1,
          "maxLength": 120
        }
      },
      "required": [
        "providerKind",
        "providerCode",
        "displayName"
      ],
      "additionalProperties": false
    },
    "runtime": {
      "type": "object",
      "properties": {
        "transport": {
          "oneOf": [
            {
              "type": "object",
              "properties": {
                "kind": {
                  "type": "string",
                  "const": "local_synthetic"
                },
                "baseUrlPolicy": {
                  "type": "string",
                  "const": "no_network"
                }
              },
              "required": [
                "kind",
                "baseUrlPolicy"
              ],
              "additionalProperties": false
            },
            {
              "type": "object",
              "properties": {
                "kind": {
                  "type": "string",
                  "const": "https"
                },
                "baseUrlPolicy": {
                  "type": "string",
                  "const": "allowlisted_hosts"
                },
                "allowedHosts": {
                  "minItems": 1,
                  "maxItems": 8,
                  "type": "array",
                  "items": {
                    "type": "string",
                    "pattern": "^(?=.{1,253}$)([a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?\\.)+[a-z]{2,63}$"
                  }
                }
              },
              "required": [
                "kind",
                "baseUrlPolicy",
                "allowedHosts"
              ],
              "additionalProperties": false
            },
            {
              "type": "object",
              "properties": {
                "kind": {
                  "type": "string",
                  "const": "nexus_remote"
                },
                "protocol": {
                  "type": "string",
                  "enum": [
                    "tt-nexus-remote/1"
                  ]
                },
                "baseUrlPolicy": {
                  "type": "string",
                  "const": "allowlisted_hosts"
                },
                "allowedHosts": {
                  "minItems": 1,
                  "maxItems": 8,
                  "type": "array",
                  "items": {
                    "type": "string",
                    "pattern": "^(?=.{1,253}$)([a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?\\.)+[a-z]{2,63}$"
                  }
                },
                "endpointPath": {
                  "type": "string",
                  "maxLength": 256,
                  "pattern": "^(\\/(?!\\.{1,2}(?:\\/|$))[A-Za-z0-9._~-]+)+$"
                },
                "keySetReference": {
                  "type": "string",
                  "pattern": "^[a-z][a-z0-9_.:-]{0,127}$"
                }
              },
              "required": [
                "kind",
                "protocol",
                "baseUrlPolicy",
                "allowedHosts",
                "endpointPath",
                "keySetReference"
              ],
              "additionalProperties": false
            }
          ]
        },
        "authMethod": {
          "type": "string",
          "enum": [
            "none_local_synthetic",
            "oauth2_authorization_code",
            "oauth2_client_credentials",
            "signed_jwt",
            "mutual_tls",
            "api_key"
          ]
        },
        "environments": {
          "minItems": 1,
          "maxItems": 4,
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "local",
              "development",
              "staging",
              "sandbox",
              "production"
            ]
          }
        },
        "regions": {
          "minItems": 1,
          "maxItems": 16,
          "type": "array",
          "items": {
            "type": "string",
            "pattern": "^[a-z]{2}(-[a-z0-9]{1,3})?$"
          }
        },
        "timeoutMs": {
          "type": "integer",
          "minimum": 1,
          "maximum": 120000
        },
        "retry": {
          "type": "object",
          "properties": {
            "maxAttempts": {
              "type": "integer",
              "minimum": 1,
              "maximum": 5
            },
            "baseDelayMs": {
              "type": "integer",
              "minimum": 0,
              "maximum": 10000
            }
          },
          "required": [
            "maxAttempts",
            "baseDelayMs"
          ],
          "additionalProperties": false
        }
      },
      "required": [
        "transport",
        "authMethod",
        "environments",
        "regions",
        "timeoutMs",
        "retry"
      ],
      "additionalProperties": false
    },
    "sockets": {
      "minItems": 1,
      "maxItems": 32,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "socketCode": {
            "type": "string",
            "maxLength": 120,
            "pattern": "^[a-z][a-z0-9_]*(\\.[a-z][a-z0-9_]*)+$"
          },
          "schemaVersion": {
            "type": "integer",
            "minimum": 1,
            "maximum": 999
          },
          "purposeCodes": {
            "minItems": 1,
            "maxItems": 16,
            "type": "array",
            "items": {
              "type": "string",
              "pattern": "^[a-z][a-z0-9_.]{0,63}$"
            }
          },
          "operations": {
            "type": "object",
            "properties": {
              "read": {
                "minItems": 0,
                "maxItems": 32,
                "type": "array",
                "items": {
                  "type": "string",
                  "pattern": "^[a-z][a-z0-9_.]{0,63}$"
                }
              },
              "event": {
                "minItems": 0,
                "maxItems": 32,
                "type": "array",
                "items": {
                  "type": "string",
                  "pattern": "^[a-z][a-z0-9_.]{0,63}$"
                }
              },
              "command": {
                "minItems": 0,
                "maxItems": 32,
                "type": "array",
                "items": {
                  "type": "string",
                  "pattern": "^[a-z][a-z0-9_.]{0,63}$"
                }
              }
            },
            "required": [
              "read",
              "event",
              "command"
            ],
            "additionalProperties": false
          },
          "authoritativeFields": {
            "minItems": 0,
            "maxItems": 64,
            "type": "array",
            "items": {
              "type": "string",
              "maxLength": 120,
              "pattern": "^[a-z][A-Za-z0-9]*(\\.[a-z][A-Za-z0-9]*)*$"
            }
          },
          "authorization": {
            "type": "object",
            "properties": {
              "customerAuthorization": {
                "type": "string",
                "const": "required"
              },
              "scopes": {
                "minItems": 0,
                "maxItems": 32,
                "type": "array",
                "items": {
                  "type": "string",
                  "pattern": "^[a-z][a-z0-9_.:-]{0,95}$"
                }
              }
            },
            "required": [
              "customerAuthorization",
              "scopes"
            ],
            "additionalProperties": false
          },
          "tenantMapping": {
            "type": "object",
            "properties": {
              "bindingLevel": {
                "type": "string",
                "enum": [
                  "role_organization",
                  "role_organization_account"
                ]
              },
              "externalAccountReference": {
                "type": "string",
                "enum": [
                  "required",
                  "optional",
                  "not_applicable"
                ]
              }
            },
            "required": [
              "bindingLevel",
              "externalAccountReference"
            ],
            "additionalProperties": false
          },
          "freshness": {
            "type": "object",
            "properties": {
              "maxStalenessSeconds": {
                "type": "integer",
                "minimum": 1,
                "maximum": 31536000
              },
              "onStale": {
                "type": "string",
                "enum": [
                  "mark_stale",
                  "refuse"
                ]
              }
            },
            "required": [
              "maxStalenessSeconds",
              "onStale"
            ],
            "additionalProperties": false
          },
          "limits": {
            "type": "object",
            "properties": {
              "requestsPerMinute": {
                "type": "integer",
                "minimum": 1,
                "maximum": 100000
              },
              "onRateLimit": {
                "type": "string",
                "enum": [
                  "backoff_and_retry",
                  "fail"
                ]
              }
            },
            "required": [
              "requestsPerMinute",
              "onRateLimit"
            ],
            "additionalProperties": false
          },
          "failure": {
            "type": "object",
            "properties": {
              "partialFailure": {
                "type": "string",
                "enum": [
                  "per_item",
                  "all_or_nothing"
                ]
              }
            },
            "required": [
              "partialFailure"
            ],
            "additionalProperties": false
          },
          "idempotency": {
            "type": "object",
            "properties": {
              "replaySafe": {
                "type": "boolean"
              },
              "commandKey": {
                "type": "string",
                "enum": [
                  "provider_key",
                  "platform_dedupe_only",
                  "not_applicable"
                ]
              }
            },
            "required": [
              "replaySafe",
              "commandKey"
            ],
            "additionalProperties": false
          },
          "reconciliation": {
            "type": "object",
            "properties": {
              "method": {
                "type": "string",
                "enum": [
                  "poll",
                  "event",
                  "manual",
                  "not_applicable"
                ]
              }
            },
            "required": [
              "method"
            ],
            "additionalProperties": false
          },
          "attribution": {
            "type": "object",
            "properties": {
              "required": {
                "type": "boolean",
                "const": true
              },
              "displayText": {
                "type": "string",
                "minLength": 1,
                "maxLength": 120
              }
            },
            "required": [
              "required",
              "displayText"
            ],
            "additionalProperties": false
          },
          "dataRights": {
            "type": "object",
            "properties": {
              "onwardUse": {
                "type": "string",
                "enum": [
                  "tenant_only",
                  "tenant_and_core_participants"
                ]
              },
              "retentionDays": {
                "type": "integer",
                "minimum": 1,
                "maximum": 3650
              }
            },
            "required": [
              "onwardUse",
              "retentionDays"
            ],
            "additionalProperties": false
          },
          "delivery": {
            "type": "object",
            "properties": {
              "webhook": {
                "type": "boolean"
              },
              "polling": {
                "type": "boolean"
              }
            },
            "required": [
              "webhook",
              "polling"
            ],
            "additionalProperties": false
          },
          "requiresCertification": {
            "type": "boolean"
          }
        },
        "required": [
          "socketCode",
          "schemaVersion",
          "purposeCodes",
          "operations",
          "authoritativeFields",
          "authorization",
          "tenantMapping",
          "freshness",
          "limits",
          "failure",
          "idempotency",
          "reconciliation",
          "attribution",
          "dataRights",
          "delivery",
          "requiresCertification"
        ],
        "additionalProperties": false
      }
    },
    "support": {
      "type": "object",
      "properties": {
        "ownerCode": {
          "type": "string",
          "pattern": "^[a-z][a-z0-9-]{0,63}$"
        },
        "incidentPath": {
          "type": "string",
          "minLength": 1,
          "maxLength": 280
        }
      },
      "required": [
        "ownerCode",
        "incidentPath"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "manifestVersion",
    "contractVersion",
    "adapterId",
    "version",
    "packageName",
    "displayName",
    "systemNode",
    "runtime",
    "sockets",
    "support"
  ],
  "additionalProperties": false,
  "description": "The capability manifest an adapter version is registered with."
}

AttributionEnvelope

object · Provider identity, freshness and source class, carried with every canonical fact.

Members
MemberSchemaDescription
origin requiredenum "truckertech-derived" | "partner-provided-fact" | "partner-advisory" | "partner-executed-action" | "reconciled-canonical"
factClass requiredFactClass
providerRef requiredstring | null
adapterRef requiredstring | null
socketCode requiredstring
socketSchemaVersion requiredinteger
connectionRef requiredstring | null
observedAt requiredstring (date-time)
effectiveAt requiredstring (date-time) | null
receivedAt requiredstring (date-time)
freshness requiredobject
derivedFrom requiredarray of string
evidenceRefs requiredarray of string
displayText requiredstring | null
JSON Schema
{
  "type": "object",
  "properties": {
    "origin": {
      "type": "string",
      "enum": [
        "truckertech-derived",
        "partner-provided-fact",
        "partner-advisory",
        "partner-executed-action",
        "reconciled-canonical"
      ]
    },
    "factClass": {
      "$ref": "#/components/schemas/FactClass"
    },
    "providerRef": {
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        {
          "type": "null"
        }
      ]
    },
    "adapterRef": {
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        {
          "type": "null"
        }
      ]
    },
    "socketCode": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "socketSchemaVersion": {
      "type": "integer",
      "minimum": 1,
      "maximum": 999
    },
    "connectionRef": {
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        {
          "type": "null"
        }
      ]
    },
    "observedAt": {
      "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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
    },
    "effectiveAt": {
      "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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
        },
        {
          "type": "null"
        }
      ]
    },
    "receivedAt": {
      "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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
    },
    "freshness": {
      "type": "object",
      "properties": {
        "state": {
          "type": "string",
          "enum": [
            "fresh",
            "stale",
            "unknown"
          ]
        },
        "maxStalenessSeconds": {
          "type": "integer",
          "minimum": 1,
          "maximum": 31536000
        }
      },
      "required": [
        "state",
        "maxStalenessSeconds"
      ],
      "additionalProperties": false
    },
    "derivedFrom": {
      "maxItems": 50,
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 200
      }
    },
    "evidenceRefs": {
      "maxItems": 50,
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 200
      }
    },
    "displayText": {
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        {
          "type": "null"
        }
      ]
    }
  },
  "required": [
    "origin",
    "factClass",
    "providerRef",
    "adapterRef",
    "socketCode",
    "socketSchemaVersion",
    "connectionRef",
    "observedAt",
    "effectiveAt",
    "receivedAt",
    "freshness",
    "derivedFrom",
    "evidenceRefs",
    "displayText"
  ],
  "additionalProperties": false,
  "description": "Provider identity, freshness and source class, carried with every canonical fact."
}

CanonFaultClass

enum "none" | "timeout" | "rate_limit" | "duplicate_suppressed" | "out_of_order" | "transient_provider_failure" | "permanent_provider_rejection" | "provider_unavailable"

JSON Schema
{
  "type": "string",
  "enum": [
    "none",
    "timeout",
    "rate_limit",
    "duplicate_suppressed",
    "out_of_order",
    "transient_provider_failure",
    "permanent_provider_rejection",
    "provider_unavailable"
  ],
  "x-truckertech-taxonomy-version": 1
}

CanonSocket.career.workflow_status.v1

object · Application, offer and onboarding status of one candidate as a partner recruiting workflow reported it. References only: no personal data beyond the candidate’s Person reference.

Members
MemberSchemaDescription
socketCode requiredconst "career.workflow_status"
schemaVersion requiredconst 1
attribution requiredAttributionEnvelope
payload requiredobject
JSON Schema
{
  "type": "object",
  "properties": {
    "socketCode": {
      "type": "string",
      "const": "career.workflow_status"
    },
    "schemaVersion": {
      "type": "number",
      "const": 1
    },
    "attribution": {
      "$ref": "#/components/schemas/AttributionEnvelope"
    },
    "payload": {
      "type": "object",
      "properties": {
        "applicationRef": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        "providerApplicationRef": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 200
            },
            {
              "type": "null"
            }
          ]
        },
        "candidatePersonRef": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        "employerRoleOrganizationRef": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        "jobPostingRef": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 200
            },
            {
              "type": "null"
            }
          ]
        },
        "phase": {
          "type": "string",
          "enum": [
            "application",
            "offer",
            "onboarding"
          ]
        },
        "status": {
          "$ref": "#/components/schemas/CanonStatus"
        },
        "application": {
          "type": "object",
          "properties": {
            "state": {
              "type": "string",
              "enum": [
                "submitted",
                "screening",
                "interviewing",
                "advanced",
                "withdrawn",
                "rejected"
              ]
            },
            "submittedAt": {
              "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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
            },
            "decisionReasonCode": {
              "anyOf": [
                {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 64,
                  "pattern": "^[a-z][a-z0-9_.-]*$"
                },
                {
                  "type": "null"
                }
              ]
            }
          },
          "required": [
            "state",
            "submittedAt",
            "decisionReasonCode"
          ],
          "additionalProperties": false
        },
        "offer": {
          "anyOf": [
            {
              "type": "object",
              "properties": {
                "offerRef": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 200
                },
                "state": {
                  "type": "string",
                  "enum": [
                    "extended",
                    "accepted",
                    "declined",
                    "rescinded",
                    "expired"
                  ]
                },
                "extendedAt": {
                  "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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
                },
                "respondedAt": {
                  "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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "expiresAt": {
                  "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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
                    },
                    {
                      "type": "null"
                    }
                  ]
                }
              },
              "required": [
                "offerRef",
                "state",
                "extendedAt",
                "respondedAt",
                "expiresAt"
              ],
              "additionalProperties": false
            },
            {
              "type": "null"
            }
          ]
        },
        "onboarding": {
          "anyOf": [
            {
              "type": "object",
              "properties": {
                "state": {
                  "type": "string",
                  "enum": [
                    "not_started",
                    "in_progress",
                    "blocked",
                    "completed"
                  ]
                },
                "startedAt": {
                  "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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "completedAt": {
                  "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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "requirements": {
                  "maxItems": 100,
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "requirementCode": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 64,
                        "pattern": "^[a-z][a-z0-9_.-]*$"
                      },
                      "state": {
                        "type": "string",
                        "enum": [
                          "met",
                          "unmet",
                          "expiring",
                          "expired",
                          "waived",
                          "unknown"
                        ]
                      },
                      "evidenceRef": {
                        "anyOf": [
                          {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 200
                          },
                          {
                            "type": "null"
                          }
                        ]
                      }
                    },
                    "required": [
                      "requirementCode",
                      "state",
                      "evidenceRef"
                    ],
                    "additionalProperties": false
                  }
                }
              },
              "required": [
                "state",
                "startedAt",
                "completedAt",
                "requirements"
              ],
              "additionalProperties": false
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "applicationRef",
        "providerApplicationRef",
        "candidatePersonRef",
        "employerRoleOrganizationRef",
        "jobPostingRef",
        "phase",
        "status",
        "application",
        "offer",
        "onboarding"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "socketCode",
    "schemaVersion",
    "attribution",
    "payload"
  ],
  "additionalProperties": false,
  "title": "Career workflow status",
  "description": "Application, offer and onboarding status of one candidate as a partner recruiting workflow reported it. References only: no personal data beyond the candidate’s Person reference.",
  "x-truckertech-socket": {
    "socketCode": "career.workflow_status",
    "schemaVersion": 1,
    "family": "career_workflow",
    "interactionModes": [
      "read",
      "event"
    ],
    "factClasses": [
      "observed",
      "supplied"
    ],
    "nonPersistablePaths": []
  }
}

CanonSocket.carrier_identity.risk_signals.v1

object · A Carrier Identity partner’s own assessment of a carrier, the canonical risk signals behind it, counts and watch-list state. The partner’s fact, attributed and as-of; never a TruckerTech verification or score.

Members
MemberSchemaDescription
socketCode requiredconst "carrier_identity.risk_signals"
schemaVersion requiredconst 1
attribution requiredAttributionEnvelope
payload requiredobject
JSON Schema
{
  "type": "object",
  "properties": {
    "socketCode": {
      "type": "string",
      "const": "carrier_identity.risk_signals"
    },
    "schemaVersion": {
      "type": "number",
      "const": 1
    },
    "attribution": {
      "$ref": "#/components/schemas/AttributionEnvelope"
    },
    "payload": {
      "type": "object",
      "properties": {
        "carrier": {
          "type": "object",
          "properties": {
            "carrierRoleOrganizationRef": {
              "anyOf": [
                {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 200
                },
                {
                  "type": "null"
                }
              ]
            },
            "usdotNumber": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^\\d{1,8}$"
                },
                {
                  "type": "null"
                }
              ]
            },
            "mcNumber": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^\\d{1,8}$"
                },
                {
                  "type": "null"
                }
              ]
            },
            "otherRegistryRef": {
              "anyOf": [
                {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 200
                },
                {
                  "type": "null"
                }
              ]
            },
            "partnerCarrierRef": {
              "anyOf": [
                {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 200
                },
                {
                  "type": "null"
                }
              ]
            }
          },
          "required": [
            "carrierRoleOrganizationRef",
            "usdotNumber",
            "mcNumber",
            "otherRegistryRef",
            "partnerCarrierRef"
          ],
          "additionalProperties": false
        },
        "assessment": {
          "type": "object",
          "properties": {
            "resultFamily": {
              "type": "string",
              "enum": [
                "pass",
                "partial",
                "incomplete",
                "fail",
                "review",
                "none"
              ]
            },
            "partnerLabel": {
              "type": "string",
              "minLength": 1,
              "maxLength": 64
            },
            "grade": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "value": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "letter": {
                      "anyOf": [
                        {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 8
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "scaleMin": {
                      "type": "number"
                    },
                    "scaleMax": {
                      "type": "number"
                    },
                    "higherIsBetter": {
                      "type": "boolean"
                    },
                    "bandLabel": {
                      "anyOf": [
                        {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 64
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  },
                  "required": [
                    "value",
                    "letter",
                    "scaleMin",
                    "scaleMax",
                    "higherIsBetter",
                    "bandLabel"
                  ],
                  "additionalProperties": false
                },
                {
                  "type": "null"
                }
              ]
            },
            "determinedAt": {
              "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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
            }
          },
          "required": [
            "resultFamily",
            "partnerLabel",
            "grade",
            "determinedAt"
          ],
          "additionalProperties": false
        },
        "signals": {
          "maxItems": 100,
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": [
                  "fraud.reported",
                  "fraud.double_brokering_reported",
                  "fraud.impersonation_suspected",
                  "identity.chameleon_suspected",
                  "identity.contact_mismatch",
                  "identity.contact_changed_recently",
                  "identity.shared_contact",
                  "identity.voip_or_ip_risk",
                  "equipment.vin_unverified",
                  "authority.recently_granted",
                  "authority.for_sale_indicator",
                  "authority.revoked_or_pending",
                  "insurance.lapse_or_cancel",
                  "insurance.below_requirement",
                  "safety.out_of_service",
                  "watchlist.partner_blocked",
                  "partner.other"
                ]
              },
              "severity": {
                "type": "string",
                "enum": [
                  "info",
                  "caution",
                  "critical"
                ]
              },
              "state": {
                "type": "string",
                "enum": [
                  "active",
                  "cleared"
                ]
              },
              "observedAt": {
                "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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
              },
              "partnerLabel": {
                "type": "string",
                "minLength": 1,
                "maxLength": 64
              },
              "evidenceRef": {
                "anyOf": [
                  {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 200
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "required": [
              "code",
              "severity",
              "state",
              "observedAt",
              "partnerLabel",
              "evidenceRef"
            ],
            "additionalProperties": false
          }
        },
        "counts": {
          "type": "object",
          "properties": {
            "incidentReports": {
              "anyOf": [
                {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                {
                  "type": "null"
                }
              ]
            },
            "incidentReportsFraud": {
              "anyOf": [
                {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                {
                  "type": "null"
                }
              ]
            },
            "verifiedUsers": {
              "anyOf": [
                {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                {
                  "type": "null"
                }
              ]
            },
            "totalUsers": {
              "anyOf": [
                {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                {
                  "type": "null"
                }
              ]
            },
            "associatedCarriers": {
              "anyOf": [
                {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                {
                  "type": "null"
                }
              ]
            }
          },
          "required": [
            "incidentReports",
            "incidentReportsFraud",
            "verifiedUsers",
            "totalUsers",
            "associatedCarriers"
          ],
          "additionalProperties": false
        },
        "monitoring": {
          "type": "object",
          "properties": {
            "monitored": {
              "type": "boolean"
            },
            "since": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "date",
                  "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])))$"
                },
                {
                  "type": "null"
                }
              ]
            }
          },
          "required": [
            "monitored",
            "since"
          ],
          "additionalProperties": false
        }
      },
      "required": [
        "carrier",
        "assessment",
        "signals",
        "counts",
        "monitoring"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "socketCode",
    "schemaVersion",
    "attribution",
    "payload"
  ],
  "additionalProperties": false,
  "title": "Carrier Identity risk signals",
  "description": "A Carrier Identity partner’s own assessment of a carrier, the canonical risk signals behind it, counts and watch-list state. The partner’s fact, attributed and as-of; never a TruckerTech verification or score.",
  "x-truckertech-socket": {
    "socketCode": "carrier_identity.risk_signals",
    "schemaVersion": 1,
    "family": "carrier_identity",
    "interactionModes": [
      "read",
      "event"
    ],
    "factClasses": [
      "observed",
      "supplied",
      "derived"
    ],
    "nonPersistablePaths": []
  }
}

CanonSocket.communications.channel_message.v1

object · Metadata of one message on a connected channel: parties by reference, thread, delivery state and times. The body is a reference, never content; no email address or phone number is an identifier.

Members
MemberSchemaDescription
socketCode requiredconst "communications.channel_message"
schemaVersion requiredconst 1
attribution requiredAttributionEnvelope
payload requiredobject
JSON Schema
{
  "type": "object",
  "properties": {
    "socketCode": {
      "type": "string",
      "const": "communications.channel_message"
    },
    "schemaVersion": {
      "type": "number",
      "const": 1
    },
    "attribution": {
      "$ref": "#/components/schemas/AttributionEnvelope"
    },
    "payload": {
      "type": "object",
      "properties": {
        "messageRef": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        "providerMessageRef": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 200
            },
            {
              "type": "null"
            }
          ]
        },
        "threadRef": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 200
            },
            {
              "type": "null"
            }
          ]
        },
        "channel": {
          "type": "string",
          "enum": [
            "email",
            "sms",
            "chat",
            "voice",
            "push"
          ]
        },
        "direction": {
          "type": "string",
          "enum": [
            "inbound",
            "outbound"
          ]
        },
        "senderPartyRef": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        "recipientPartyRefs": {
          "minItems": 1,
          "maxItems": 100,
          "type": "array",
          "items": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200
          }
        },
        "contentRef": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 200
            },
            {
              "type": "null"
            }
          ]
        },
        "attachmentRefs": {
          "maxItems": 50,
          "type": "array",
          "items": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200
          }
        },
        "relatedCoreRefs": {
          "maxItems": 20,
          "type": "array",
          "items": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200
          }
        },
        "deliveryState": {
          "type": "string",
          "enum": [
            "queued",
            "sent",
            "delivered",
            "read",
            "received",
            "failed",
            "bounced"
          ]
        },
        "status": {
          "$ref": "#/components/schemas/CanonStatus"
        },
        "sentAt": {
          "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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
            },
            {
              "type": "null"
            }
          ]
        },
        "deliveredAt": {
          "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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
            },
            {
              "type": "null"
            }
          ]
        },
        "readAt": {
          "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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
            },
            {
              "type": "null"
            }
          ]
        },
        "failureCode": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 64,
              "pattern": "^[a-z][a-z0-9_.-]*$"
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "messageRef",
        "providerMessageRef",
        "threadRef",
        "channel",
        "direction",
        "senderPartyRef",
        "recipientPartyRefs",
        "contentRef",
        "attachmentRefs",
        "relatedCoreRefs",
        "deliveryState",
        "status",
        "sentAt",
        "deliveredAt",
        "readAt",
        "failureCode"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "socketCode",
    "schemaVersion",
    "attribution",
    "payload"
  ],
  "additionalProperties": false,
  "title": "Communications: channel message",
  "description": "Metadata of one message on a connected channel: parties by reference, thread, delivery state and times. The body is a reference, never content; no email address or phone number is an identifier.",
  "x-truckertech-socket": {
    "socketCode": "communications.channel_message",
    "schemaVersion": 1,
    "family": "communications_channels",
    "interactionModes": [
      "read",
      "event"
    ],
    "factClasses": [
      "observed"
    ],
    "nonPersistablePaths": []
  }
}

CanonSocket.documents.document_status.v1

object · The state of one document version as a document system reported it: kind, owner, version chain and content digest. The document is a reference, never its content.

Members
MemberSchemaDescription
socketCode requiredconst "documents.document_status"
schemaVersion requiredconst 1
attribution requiredAttributionEnvelope
payload requiredobject
JSON Schema
{
  "type": "object",
  "properties": {
    "socketCode": {
      "type": "string",
      "const": "documents.document_status"
    },
    "schemaVersion": {
      "type": "number",
      "const": 1
    },
    "attribution": {
      "$ref": "#/components/schemas/AttributionEnvelope"
    },
    "payload": {
      "type": "object",
      "properties": {
        "documentRef": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        "providerDocumentRef": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 200
            },
            {
              "type": "null"
            }
          ]
        },
        "kind": {
          "type": "string",
          "enum": [
            "rate_confirmation",
            "bill_of_lading",
            "proof_of_delivery",
            "invoice",
            "agreement",
            "insurance_certificate",
            "tax_form",
            "other"
          ]
        },
        "ownerRoleOrganizationRef": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 200
            },
            {
              "type": "null"
            }
          ]
        },
        "relatedCoreRefs": {
          "maxItems": 20,
          "type": "array",
          "items": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200
          }
        },
        "versionNumber": {
          "type": "integer",
          "minimum": 1,
          "maximum": 10000
        },
        "supersedesDocumentRef": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 200
            },
            {
              "type": "null"
            }
          ]
        },
        "contentSha256": {
          "anyOf": [
            {
              "type": "string",
              "pattern": "^[0-9a-f]{64}$"
            },
            {
              "type": "null"
            }
          ]
        },
        "stage": {
          "type": "string",
          "enum": [
            "draft",
            "issued",
            "received",
            "superseded",
            "voided",
            "expired"
          ]
        },
        "status": {
          "$ref": "#/components/schemas/CanonStatus"
        },
        "issuedAt": {
          "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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
            },
            {
              "type": "null"
            }
          ]
        },
        "expiresOn": {
          "anyOf": [
            {
              "type": "string",
              "format": "date",
              "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])))$"
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "documentRef",
        "providerDocumentRef",
        "kind",
        "ownerRoleOrganizationRef",
        "relatedCoreRefs",
        "versionNumber",
        "supersedesDocumentRef",
        "contentSha256",
        "stage",
        "status",
        "issuedAt",
        "expiresOn"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "socketCode",
    "schemaVersion",
    "attribution",
    "payload"
  ],
  "additionalProperties": false,
  "title": "Document status",
  "description": "The state of one document version as a document system reported it: kind, owner, version chain and content digest. The document is a reference, never its content.",
  "x-truckertech-socket": {
    "socketCode": "documents.document_status",
    "schemaVersion": 1,
    "family": "documents_esignature",
    "interactionModes": [
      "read",
      "event"
    ],
    "factClasses": [
      "observed",
      "supplied"
    ],
    "nonPersistablePaths": []
  }
}

CanonSocket.driver_lifecycle.background_check.v1

object · The outcome of a background check for one driver as the provider reported it: status, outcome, finding codes and dates. No raw report and no personal data beyond references.

Members
MemberSchemaDescription
socketCode requiredconst "driver_lifecycle.background_check"
schemaVersion requiredconst 1
attribution requiredAttributionEnvelope
payload requiredobject
JSON Schema
{
  "type": "object",
  "properties": {
    "socketCode": {
      "type": "string",
      "const": "driver_lifecycle.background_check"
    },
    "schemaVersion": {
      "type": "number",
      "const": 1
    },
    "attribution": {
      "$ref": "#/components/schemas/AttributionEnvelope"
    },
    "payload": {
      "type": "object",
      "properties": {
        "checkRef": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        "providerCheckRef": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 200
            },
            {
              "type": "null"
            }
          ]
        },
        "driverPersonRef": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        "carrierRoleOrganizationRef": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        "consentRef": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        "purpose": {
          "type": "string",
          "enum": [
            "pre_employment",
            "annual",
            "continuous",
            "other"
          ]
        },
        "status": {
          "$ref": "#/components/schemas/CanonStatus"
        },
        "outcome": {
          "type": "string",
          "enum": [
            "clear",
            "findings",
            "prohibited",
            "unable_to_verify",
            "pending"
          ]
        },
        "findingCodes": {
          "maxItems": 50,
          "type": "array",
          "items": {
            "type": "string",
            "minLength": 1,
            "maxLength": 64,
            "pattern": "^[a-z][a-z0-9_.-]*$"
          }
        },
        "requestedAt": {
          "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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
        },
        "completedAt": {
          "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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
            },
            {
              "type": "null"
            }
          ]
        },
        "validUntil": {
          "anyOf": [
            {
              "type": "string",
              "format": "date",
              "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])))$"
            },
            {
              "type": "null"
            }
          ]
        },
        "reportEvidenceRef": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 200
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "checkRef",
        "providerCheckRef",
        "driverPersonRef",
        "carrierRoleOrganizationRef",
        "consentRef",
        "purpose",
        "status",
        "outcome",
        "findingCodes",
        "requestedAt",
        "completedAt",
        "validUntil",
        "reportEvidenceRef"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "socketCode",
    "schemaVersion",
    "attribution",
    "payload"
  ],
  "additionalProperties": false,
  "title": "Background check",
  "description": "The outcome of a background check for one driver as the provider reported it: status, outcome, finding codes and dates. No raw report and no personal data beyond references.",
  "x-truckertech-socket": {
    "socketCode": "driver_lifecycle.background_check",
    "schemaVersion": 1,
    "family": "driver_lifecycle",
    "interactionModes": [
      "read",
      "event"
    ],
    "factClasses": [
      "observed"
    ],
    "nonPersistablePaths": []
  }
}

CanonSocket.driver_lifecycle.clearinghouse_query.v1

object · The outcome of a Drug and Alcohol Clearinghouse query for one driver as the provider reported it: status, outcome, finding codes and dates. No raw report and no personal data beyond references.

Members
MemberSchemaDescription
socketCode requiredconst "driver_lifecycle.clearinghouse_query"
schemaVersion requiredconst 1
attribution requiredAttributionEnvelope
payload requiredobject
JSON Schema
{
  "type": "object",
  "properties": {
    "socketCode": {
      "type": "string",
      "const": "driver_lifecycle.clearinghouse_query"
    },
    "schemaVersion": {
      "type": "number",
      "const": 1
    },
    "attribution": {
      "$ref": "#/components/schemas/AttributionEnvelope"
    },
    "payload": {
      "type": "object",
      "properties": {
        "checkRef": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        "providerCheckRef": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 200
            },
            {
              "type": "null"
            }
          ]
        },
        "driverPersonRef": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        "carrierRoleOrganizationRef": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        "consentRef": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        "purpose": {
          "type": "string",
          "enum": [
            "pre_employment",
            "annual",
            "continuous",
            "other"
          ]
        },
        "status": {
          "$ref": "#/components/schemas/CanonStatus"
        },
        "outcome": {
          "type": "string",
          "enum": [
            "clear",
            "findings",
            "prohibited",
            "unable_to_verify",
            "pending"
          ]
        },
        "findingCodes": {
          "maxItems": 50,
          "type": "array",
          "items": {
            "type": "string",
            "minLength": 1,
            "maxLength": 64,
            "pattern": "^[a-z][a-z0-9_.-]*$"
          }
        },
        "requestedAt": {
          "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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
        },
        "completedAt": {
          "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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
            },
            {
              "type": "null"
            }
          ]
        },
        "validUntil": {
          "anyOf": [
            {
              "type": "string",
              "format": "date",
              "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])))$"
            },
            {
              "type": "null"
            }
          ]
        },
        "reportEvidenceRef": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 200
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "checkRef",
        "providerCheckRef",
        "driverPersonRef",
        "carrierRoleOrganizationRef",
        "consentRef",
        "purpose",
        "status",
        "outcome",
        "findingCodes",
        "requestedAt",
        "completedAt",
        "validUntil",
        "reportEvidenceRef"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "socketCode",
    "schemaVersion",
    "attribution",
    "payload"
  ],
  "additionalProperties": false,
  "title": "Drug and Alcohol Clearinghouse query",
  "description": "The outcome of a Drug and Alcohol Clearinghouse query for one driver as the provider reported it: status, outcome, finding codes and dates. No raw report and no personal data beyond references.",
  "x-truckertech-socket": {
    "socketCode": "driver_lifecycle.clearinghouse_query",
    "schemaVersion": 1,
    "family": "driver_lifecycle",
    "interactionModes": [
      "read",
      "event"
    ],
    "factClasses": [
      "observed"
    ],
    "nonPersistablePaths": []
  }
}

CanonSocket.driver_lifecycle.dac_report.v1

object · The outcome of a DAC employment history report for one driver as the provider reported it: status, outcome, finding codes and dates. No raw report and no personal data beyond references.

Members
MemberSchemaDescription
socketCode requiredconst "driver_lifecycle.dac_report"
schemaVersion requiredconst 1
attribution requiredAttributionEnvelope
payload requiredobject
JSON Schema
{
  "type": "object",
  "properties": {
    "socketCode": {
      "type": "string",
      "const": "driver_lifecycle.dac_report"
    },
    "schemaVersion": {
      "type": "number",
      "const": 1
    },
    "attribution": {
      "$ref": "#/components/schemas/AttributionEnvelope"
    },
    "payload": {
      "type": "object",
      "properties": {
        "checkRef": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        "providerCheckRef": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 200
            },
            {
              "type": "null"
            }
          ]
        },
        "driverPersonRef": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        "carrierRoleOrganizationRef": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        "consentRef": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        "purpose": {
          "type": "string",
          "enum": [
            "pre_employment",
            "annual",
            "continuous",
            "other"
          ]
        },
        "status": {
          "$ref": "#/components/schemas/CanonStatus"
        },
        "outcome": {
          "type": "string",
          "enum": [
            "clear",
            "findings",
            "prohibited",
            "unable_to_verify",
            "pending"
          ]
        },
        "findingCodes": {
          "maxItems": 50,
          "type": "array",
          "items": {
            "type": "string",
            "minLength": 1,
            "maxLength": 64,
            "pattern": "^[a-z][a-z0-9_.-]*$"
          }
        },
        "requestedAt": {
          "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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
        },
        "completedAt": {
          "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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
            },
            {
              "type": "null"
            }
          ]
        },
        "validUntil": {
          "anyOf": [
            {
              "type": "string",
              "format": "date",
              "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])))$"
            },
            {
              "type": "null"
            }
          ]
        },
        "reportEvidenceRef": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 200
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "checkRef",
        "providerCheckRef",
        "driverPersonRef",
        "carrierRoleOrganizationRef",
        "consentRef",
        "purpose",
        "status",
        "outcome",
        "findingCodes",
        "requestedAt",
        "completedAt",
        "validUntil",
        "reportEvidenceRef"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "socketCode",
    "schemaVersion",
    "attribution",
    "payload"
  ],
  "additionalProperties": false,
  "title": "DAC employment history report",
  "description": "The outcome of a DAC employment history report for one driver as the provider reported it: status, outcome, finding codes and dates. No raw report and no personal data beyond references.",
  "x-truckertech-socket": {
    "socketCode": "driver_lifecycle.dac_report",
    "schemaVersion": 1,
    "family": "driver_lifecycle",
    "interactionModes": [
      "read",
      "event"
    ],
    "factClasses": [
      "observed"
    ],
    "nonPersistablePaths": []
  }
}

CanonSocket.driver_lifecycle.mvr_result.v1

object · The outcome of a motor vehicle record for one driver as the provider reported it: status, outcome, finding codes and dates. No raw report and no personal data beyond references.

Members
MemberSchemaDescription
socketCode requiredconst "driver_lifecycle.mvr_result"
schemaVersion requiredconst 1
attribution requiredAttributionEnvelope
payload requiredobject
JSON Schema
{
  "type": "object",
  "properties": {
    "socketCode": {
      "type": "string",
      "const": "driver_lifecycle.mvr_result"
    },
    "schemaVersion": {
      "type": "number",
      "const": 1
    },
    "attribution": {
      "$ref": "#/components/schemas/AttributionEnvelope"
    },
    "payload": {
      "type": "object",
      "properties": {
        "checkRef": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        "providerCheckRef": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 200
            },
            {
              "type": "null"
            }
          ]
        },
        "driverPersonRef": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        "carrierRoleOrganizationRef": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        "consentRef": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        "purpose": {
          "type": "string",
          "enum": [
            "pre_employment",
            "annual",
            "continuous",
            "other"
          ]
        },
        "status": {
          "$ref": "#/components/schemas/CanonStatus"
        },
        "outcome": {
          "type": "string",
          "enum": [
            "clear",
            "findings",
            "prohibited",
            "unable_to_verify",
            "pending"
          ]
        },
        "findingCodes": {
          "maxItems": 50,
          "type": "array",
          "items": {
            "type": "string",
            "minLength": 1,
            "maxLength": 64,
            "pattern": "^[a-z][a-z0-9_.-]*$"
          }
        },
        "requestedAt": {
          "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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
        },
        "completedAt": {
          "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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
            },
            {
              "type": "null"
            }
          ]
        },
        "validUntil": {
          "anyOf": [
            {
              "type": "string",
              "format": "date",
              "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])))$"
            },
            {
              "type": "null"
            }
          ]
        },
        "reportEvidenceRef": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 200
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "checkRef",
        "providerCheckRef",
        "driverPersonRef",
        "carrierRoleOrganizationRef",
        "consentRef",
        "purpose",
        "status",
        "outcome",
        "findingCodes",
        "requestedAt",
        "completedAt",
        "validUntil",
        "reportEvidenceRef"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "socketCode",
    "schemaVersion",
    "attribution",
    "payload"
  ],
  "additionalProperties": false,
  "title": "Driver MVR result",
  "description": "The outcome of a motor vehicle record for one driver as the provider reported it: status, outcome, finding codes and dates. No raw report and no personal data beyond references.",
  "x-truckertech-socket": {
    "socketCode": "driver_lifecycle.mvr_result",
    "schemaVersion": 1,
    "family": "driver_lifecycle",
    "interactionModes": [
      "read",
      "event"
    ],
    "factClasses": [
      "observed"
    ],
    "nonPersistablePaths": []
  }
}

CanonSocket.driver_lifecycle.voe_result.v1

object · The outcome of a verification of employment for one driver as the provider reported it: status, outcome, finding codes and dates. No raw report and no personal data beyond references.

Members
MemberSchemaDescription
socketCode requiredconst "driver_lifecycle.voe_result"
schemaVersion requiredconst 1
attribution requiredAttributionEnvelope
payload requiredobject
JSON Schema
{
  "type": "object",
  "properties": {
    "socketCode": {
      "type": "string",
      "const": "driver_lifecycle.voe_result"
    },
    "schemaVersion": {
      "type": "number",
      "const": 1
    },
    "attribution": {
      "$ref": "#/components/schemas/AttributionEnvelope"
    },
    "payload": {
      "type": "object",
      "properties": {
        "checkRef": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        "providerCheckRef": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 200
            },
            {
              "type": "null"
            }
          ]
        },
        "driverPersonRef": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        "carrierRoleOrganizationRef": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        "consentRef": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        "purpose": {
          "type": "string",
          "enum": [
            "pre_employment",
            "annual",
            "continuous",
            "other"
          ]
        },
        "status": {
          "$ref": "#/components/schemas/CanonStatus"
        },
        "outcome": {
          "type": "string",
          "enum": [
            "clear",
            "findings",
            "prohibited",
            "unable_to_verify",
            "pending"
          ]
        },
        "findingCodes": {
          "maxItems": 50,
          "type": "array",
          "items": {
            "type": "string",
            "minLength": 1,
            "maxLength": 64,
            "pattern": "^[a-z][a-z0-9_.-]*$"
          }
        },
        "requestedAt": {
          "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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
        },
        "completedAt": {
          "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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
            },
            {
              "type": "null"
            }
          ]
        },
        "validUntil": {
          "anyOf": [
            {
              "type": "string",
              "format": "date",
              "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])))$"
            },
            {
              "type": "null"
            }
          ]
        },
        "reportEvidenceRef": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 200
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "checkRef",
        "providerCheckRef",
        "driverPersonRef",
        "carrierRoleOrganizationRef",
        "consentRef",
        "purpose",
        "status",
        "outcome",
        "findingCodes",
        "requestedAt",
        "completedAt",
        "validUntil",
        "reportEvidenceRef"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "socketCode",
    "schemaVersion",
    "attribution",
    "payload"
  ],
  "additionalProperties": false,
  "title": "Verification of employment",
  "description": "The outcome of a verification of employment for one driver as the provider reported it: status, outcome, finding codes and dates. No raw report and no personal data beyond references.",
  "x-truckertech-socket": {
    "socketCode": "driver_lifecycle.voe_result",
    "schemaVersion": 1,
    "family": "driver_lifecycle",
    "interactionModes": [
      "read",
      "event"
    ],
    "factClasses": [
      "observed"
    ],
    "nonPersistablePaths": []
  }
}

CanonSocket.equipment_finance.agreement_status.v1

object · The status of one equipment lease or financing agreement: stage, assets by reference and the next payment as evidence. No bank account or payment instruction.

Members
MemberSchemaDescription
socketCode requiredconst "equipment_finance.agreement_status"
schemaVersion requiredconst 1
attribution requiredAttributionEnvelope
payload requiredobject
JSON Schema
{
  "type": "object",
  "properties": {
    "socketCode": {
      "type": "string",
      "const": "equipment_finance.agreement_status"
    },
    "schemaVersion": {
      "type": "number",
      "const": 1
    },
    "attribution": {
      "$ref": "#/components/schemas/AttributionEnvelope"
    },
    "payload": {
      "type": "object",
      "properties": {
        "agreementRef": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        "providerAgreementRef": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 200
            },
            {
              "type": "null"
            }
          ]
        },
        "customerRoleOrganizationRef": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        "assetRefs": {
          "minItems": 1,
          "maxItems": 100,
          "type": "array",
          "items": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200
          }
        },
        "kind": {
          "type": "string",
          "enum": [
            "lease",
            "loan",
            "lease_to_own",
            "rental"
          ]
        },
        "stage": {
          "type": "string",
          "enum": [
            "application",
            "approved",
            "active",
            "delinquent",
            "paid_off",
            "terminated",
            "declined"
          ]
        },
        "status": {
          "$ref": "#/components/schemas/CanonStatus"
        },
        "nextPaymentDueOn": {
          "anyOf": [
            {
              "type": "string",
              "format": "date",
              "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])))$"
            },
            {
              "type": "null"
            }
          ]
        },
        "nextPaymentAmount": {
          "anyOf": [
            {
              "type": "object",
              "properties": {
                "amountMinorUnits": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "currency": {
                  "type": "string",
                  "enum": [
                    "USD",
                    "CAD",
                    "MXN"
                  ]
                }
              },
              "required": [
                "amountMinorUnits",
                "currency"
              ],
              "additionalProperties": false
            },
            {
              "type": "null"
            }
          ]
        },
        "maturesOn": {
          "anyOf": [
            {
              "type": "string",
              "format": "date",
              "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])))$"
            },
            {
              "type": "null"
            }
          ]
        },
        "agreementDocumentRef": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 200
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "agreementRef",
        "providerAgreementRef",
        "customerRoleOrganizationRef",
        "assetRefs",
        "kind",
        "stage",
        "status",
        "nextPaymentDueOn",
        "nextPaymentAmount",
        "maturesOn",
        "agreementDocumentRef"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "socketCode",
    "schemaVersion",
    "attribution",
    "payload"
  ],
  "additionalProperties": false,
  "title": "Equipment lease or financing status",
  "description": "The status of one equipment lease or financing agreement: stage, assets by reference and the next payment as evidence. No bank account or payment instruction.",
  "x-truckertech-socket": {
    "socketCode": "equipment_finance.agreement_status",
    "schemaVersion": 1,
    "family": "equipment_finance",
    "interactionModes": [
      "read",
      "event"
    ],
    "factClasses": [
      "observed",
      "supplied"
    ],
    "nonPersistablePaths": []
  }
}

CanonSocket.erp.demand.v1

object · Freight demand (an order or forecast) from a shipper ERP: facilities by reference, windows, and metric lines. Read and event only; releasing or tendering demand is an external write.

Members
MemberSchemaDescription
socketCode requiredconst "erp.demand"
schemaVersion requiredconst 1
attribution requiredAttributionEnvelope
payload requiredobject
JSON Schema
{
  "type": "object",
  "properties": {
    "socketCode": {
      "type": "string",
      "const": "erp.demand"
    },
    "schemaVersion": {
      "type": "number",
      "const": 1
    },
    "attribution": {
      "$ref": "#/components/schemas/AttributionEnvelope"
    },
    "payload": {
      "type": "object",
      "properties": {
        "demandRef": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        "providerDemandRef": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 200
            },
            {
              "type": "null"
            }
          ]
        },
        "kind": {
          "type": "string",
          "enum": [
            "purchase_order",
            "sales_order",
            "transfer_order",
            "forecast"
          ]
        },
        "shipperRoleOrganizationRef": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        "stage": {
          "type": "string",
          "enum": [
            "open",
            "released",
            "planned",
            "tendered",
            "fulfilled",
            "cancelled"
          ]
        },
        "status": {
          "$ref": "#/components/schemas/CanonStatus"
        },
        "originFacilityRef": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        "destinationFacilityRef": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        "shipWindow": {
          "anyOf": [
            {
              "type": "object",
              "properties": {
                "start": {
                  "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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
                },
                "end": {
                  "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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
                }
              },
              "required": [
                "start",
                "end"
              ],
              "additionalProperties": false
            },
            {
              "type": "null"
            }
          ]
        },
        "deliveryWindow": {
          "anyOf": [
            {
              "type": "object",
              "properties": {
                "start": {
                  "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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
                },
                "end": {
                  "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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
                }
              },
              "required": [
                "start",
                "end"
              ],
              "additionalProperties": false
            },
            {
              "type": "null"
            }
          ]
        },
        "lines": {
          "minItems": 1,
          "maxItems": 500,
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "lineRef": {
                "type": "string",
                "minLength": 1,
                "maxLength": 200
              },
              "itemRef": {
                "type": "string",
                "minLength": 1,
                "maxLength": 200
              },
              "quantity": {
                "type": "number",
                "exclusiveMinimum": 0,
                "maximum": 1000000000
              },
              "unit": {
                "type": "string",
                "enum": [
                  "each",
                  "case",
                  "pallet",
                  "kilogram",
                  "liter",
                  "cubic_meter"
                ]
              },
              "weightKilograms": {
                "anyOf": [
                  {
                    "type": "number",
                    "minimum": 0,
                    "maximum": 1000000
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "volumeCubicMeters": {
                "anyOf": [
                  {
                    "type": "number",
                    "minimum": 0,
                    "maximum": 100000
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "required": [
              "lineRef",
              "itemRef",
              "quantity",
              "unit",
              "weightKilograms",
              "volumeCubicMeters"
            ],
            "additionalProperties": false
          }
        },
        "totalWeightKilograms": {
          "anyOf": [
            {
              "type": "number",
              "minimum": 0,
              "maximum": 1000000
            },
            {
              "type": "null"
            }
          ]
        },
        "loadCoreRefs": {
          "maxItems": 100,
          "type": "array",
          "items": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200
          }
        }
      },
      "required": [
        "demandRef",
        "providerDemandRef",
        "kind",
        "shipperRoleOrganizationRef",
        "stage",
        "status",
        "originFacilityRef",
        "destinationFacilityRef",
        "shipWindow",
        "deliveryWindow",
        "lines",
        "totalWeightKilograms",
        "loadCoreRefs"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "socketCode",
    "schemaVersion",
    "attribution",
    "payload"
  ],
  "additionalProperties": false,
  "title": "ERP demand",
  "description": "Freight demand (an order or forecast) from a shipper ERP: facilities by reference, windows, and metric lines. Read and event only; releasing or tendering demand is an external write.",
  "x-truckertech-socket": {
    "socketCode": "erp.demand",
    "schemaVersion": 1,
    "family": "erp_demand",
    "interactionModes": [
      "read",
      "event"
    ],
    "factClasses": [
      "observed",
      "supplied",
      "inferred"
    ],
    "nonPersistablePaths": []
  }
}

CanonSocket.esignature.envelope_status.v1

object · The state of one signature envelope and each signer, by party reference, as an e-signature provider reported it. No signer contact point, name or signature image.

Members
MemberSchemaDescription
socketCode requiredconst "esignature.envelope_status"
schemaVersion requiredconst 1
attribution requiredAttributionEnvelope
payload requiredobject
JSON Schema
{
  "type": "object",
  "properties": {
    "socketCode": {
      "type": "string",
      "const": "esignature.envelope_status"
    },
    "schemaVersion": {
      "type": "number",
      "const": 1
    },
    "attribution": {
      "$ref": "#/components/schemas/AttributionEnvelope"
    },
    "payload": {
      "type": "object",
      "properties": {
        "envelopeRef": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        "providerEnvelopeRef": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 200
            },
            {
              "type": "null"
            }
          ]
        },
        "documentRefs": {
          "minItems": 1,
          "maxItems": 50,
          "type": "array",
          "items": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200
          }
        },
        "signers": {
          "minItems": 1,
          "maxItems": 50,
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "signerPartyRef": {
                "type": "string",
                "minLength": 1,
                "maxLength": 200
              },
              "role": {
                "type": "string",
                "enum": [
                  "signer",
                  "approver",
                  "copy_recipient"
                ]
              },
              "routingOrder": {
                "type": "integer",
                "minimum": 1,
                "maximum": 100
              },
              "state": {
                "type": "string",
                "enum": [
                  "pending",
                  "sent",
                  "viewed",
                  "signed",
                  "declined"
                ]
              },
              "actedAt": {
                "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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "required": [
              "signerPartyRef",
              "role",
              "routingOrder",
              "state",
              "actedAt"
            ],
            "additionalProperties": false
          }
        },
        "envelopeState": {
          "type": "string",
          "enum": [
            "created",
            "sent",
            "partially_signed",
            "completed",
            "declined",
            "voided",
            "expired"
          ]
        },
        "status": {
          "$ref": "#/components/schemas/CanonStatus"
        },
        "sentAt": {
          "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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
            },
            {
              "type": "null"
            }
          ]
        },
        "completedAt": {
          "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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
            },
            {
              "type": "null"
            }
          ]
        },
        "voidReasonCode": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 64,
              "pattern": "^[a-z][a-z0-9_.-]*$"
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "envelopeRef",
        "providerEnvelopeRef",
        "documentRefs",
        "signers",
        "envelopeState",
        "status",
        "sentAt",
        "completedAt",
        "voidReasonCode"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "socketCode",
    "schemaVersion",
    "attribution",
    "payload"
  ],
  "additionalProperties": false,
  "title": "E-signature envelope status",
  "description": "The state of one signature envelope and each signer, by party reference, as an e-signature provider reported it. No signer contact point, name or signature image.",
  "x-truckertech-socket": {
    "socketCode": "esignature.envelope_status",
    "schemaVersion": 1,
    "family": "documents_esignature",
    "interactionModes": [
      "read",
      "event"
    ],
    "factClasses": [
      "observed"
    ],
    "nonPersistablePaths": []
  }
}

CanonSocket.factoring.credit_approval.v1

object · The carrier’s own factor’s credit decision on a broker or shipper, read with the carrier’s recorded authorization; carrier-only, attributed, with its age. TruckerTech computes no score.

Members
MemberSchemaDescription
socketCode requiredconst "factoring.credit_approval"
schemaVersion requiredconst 1
attribution requiredAttributionEnvelope
payload requiredobject
JSON Schema
{
  "type": "object",
  "properties": {
    "socketCode": {
      "type": "string",
      "const": "factoring.credit_approval"
    },
    "schemaVersion": {
      "type": "number",
      "const": 1
    },
    "attribution": {
      "$ref": "#/components/schemas/AttributionEnvelope"
    },
    "payload": {
      "type": "object",
      "properties": {
        "creditDecisionRef": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        "providerDecisionRef": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 200
            },
            {
              "type": "null"
            }
          ]
        },
        "carrierRoleOrganizationRef": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        "carrierAuthorizationRef": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        "debtorKind": {
          "type": "string",
          "enum": [
            "broker",
            "shipper",
            "other"
          ]
        },
        "debtorRoleOrganizationRef": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 200
            },
            {
              "type": "null"
            }
          ]
        },
        "providerDebtorRef": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 200
            },
            {
              "type": "null"
            }
          ]
        },
        "decision": {
          "type": "string",
          "enum": [
            "approved",
            "limited",
            "declined",
            "pending",
            "not_found"
          ]
        },
        "status": {
          "$ref": "#/components/schemas/CanonStatus"
        },
        "creditLimit": {
          "anyOf": [
            {
              "type": "object",
              "properties": {
                "amountMinorUnits": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "currency": {
                  "type": "string",
                  "enum": [
                    "USD",
                    "CAD",
                    "MXN"
                  ]
                }
              },
              "required": [
                "amountMinorUnits",
                "currency"
              ],
              "additionalProperties": false
            },
            {
              "type": "null"
            }
          ]
        },
        "determinedAt": {
          "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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
            },
            {
              "type": "null"
            }
          ]
        },
        "expiresAt": {
          "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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
            },
            {
              "type": "null"
            }
          ]
        },
        "visibility": {
          "type": "string",
          "const": "carrier_only"
        },
        "reasonCode": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 64,
              "pattern": "^[a-z][a-z0-9_.-]*$"
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "creditDecisionRef",
        "providerDecisionRef",
        "carrierRoleOrganizationRef",
        "carrierAuthorizationRef",
        "debtorKind",
        "debtorRoleOrganizationRef",
        "providerDebtorRef",
        "decision",
        "status",
        "creditLimit",
        "determinedAt",
        "expiresAt",
        "visibility",
        "reasonCode"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "socketCode",
    "schemaVersion",
    "attribution",
    "payload"
  ],
  "additionalProperties": false,
  "title": "Factoring credit approval",
  "description": "The carrier’s own factor’s credit decision on a broker or shipper, read with the carrier’s recorded authorization; carrier-only, attributed, with its age. TruckerTech computes no score.",
  "x-truckertech-socket": {
    "socketCode": "factoring.credit_approval",
    "schemaVersion": 1,
    "family": "factoring_payments",
    "interactionModes": [
      "read",
      "event"
    ],
    "factClasses": [
      "observed"
    ],
    "nonPersistablePaths": []
  }
}

CanonSocket.factoring.invoice_funding.v1

object · Observed funding and remittance state of one invoice at a factoring or payments provider. Evidence only: no payment destination, instruction or trigger.

Members
MemberSchemaDescription
socketCode requiredconst "factoring.invoice_funding"
schemaVersion requiredconst 1
attribution requiredAttributionEnvelope
payload requiredobject
JSON Schema
{
  "type": "object",
  "properties": {
    "socketCode": {
      "type": "string",
      "const": "factoring.invoice_funding"
    },
    "schemaVersion": {
      "type": "number",
      "const": 1
    },
    "attribution": {
      "$ref": "#/components/schemas/AttributionEnvelope"
    },
    "payload": {
      "type": "object",
      "properties": {
        "invoiceRef": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        "providerInvoiceRef": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 200
            },
            {
              "type": "null"
            }
          ]
        },
        "carrierRoleOrganizationRef": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        "debtorKind": {
          "type": "string",
          "enum": [
            "broker",
            "shipper",
            "other"
          ]
        },
        "debtorRoleOrganizationRef": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 200
            },
            {
              "type": "null"
            }
          ]
        },
        "loadCoreRef": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 200
            },
            {
              "type": "null"
            }
          ]
        },
        "stage": {
          "type": "string",
          "enum": [
            "submitted",
            "verified",
            "advanced",
            "reserve_pending",
            "paid_by_debtor",
            "remitted",
            "disputed",
            "rejected"
          ]
        },
        "status": {
          "$ref": "#/components/schemas/CanonStatus"
        },
        "invoiceAmount": {
          "type": "object",
          "properties": {
            "amountMinorUnits": {
              "type": "integer",
              "minimum": 0,
              "maximum": 9007199254740991
            },
            "currency": {
              "type": "string",
              "enum": [
                "USD",
                "CAD",
                "MXN"
              ]
            }
          },
          "required": [
            "amountMinorUnits",
            "currency"
          ],
          "additionalProperties": false
        },
        "advancedAmount": {
          "anyOf": [
            {
              "type": "object",
              "properties": {
                "amountMinorUnits": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "currency": {
                  "type": "string",
                  "enum": [
                    "USD",
                    "CAD",
                    "MXN"
                  ]
                }
              },
              "required": [
                "amountMinorUnits",
                "currency"
              ],
              "additionalProperties": false
            },
            {
              "type": "null"
            }
          ]
        },
        "feeAmount": {
          "anyOf": [
            {
              "type": "object",
              "properties": {
                "amountMinorUnits": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "currency": {
                  "type": "string",
                  "enum": [
                    "USD",
                    "CAD",
                    "MXN"
                  ]
                }
              },
              "required": [
                "amountMinorUnits",
                "currency"
              ],
              "additionalProperties": false
            },
            {
              "type": "null"
            }
          ]
        },
        "noticeOfAssignmentAcknowledged": {
          "type": [
            "boolean",
            "null"
          ]
        },
        "fundingScheduledAt": {
          "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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
            },
            {
              "type": "null"
            }
          ]
        },
        "fundingConfirmedAt": {
          "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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
            },
            {
              "type": "null"
            }
          ]
        },
        "remittanceEvidenceRef": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 200
            },
            {
              "type": "null"
            }
          ]
        },
        "exceptionCode": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 64,
              "pattern": "^[a-z][a-z0-9_.-]*$"
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "invoiceRef",
        "providerInvoiceRef",
        "carrierRoleOrganizationRef",
        "debtorKind",
        "debtorRoleOrganizationRef",
        "loadCoreRef",
        "stage",
        "status",
        "invoiceAmount",
        "advancedAmount",
        "feeAmount",
        "noticeOfAssignmentAcknowledged",
        "fundingScheduledAt",
        "fundingConfirmedAt",
        "remittanceEvidenceRef",
        "exceptionCode"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "socketCode",
    "schemaVersion",
    "attribution",
    "payload"
  ],
  "additionalProperties": false,
  "title": "Factoring and payments: invoice funding",
  "description": "Observed funding and remittance state of one invoice at a factoring or payments provider. Evidence only: no payment destination, instruction or trigger.",
  "x-truckertech-socket": {
    "socketCode": "factoring.invoice_funding",
    "schemaVersion": 1,
    "family": "factoring_payments",
    "interactionModes": [
      "read",
      "event"
    ],
    "factClasses": [
      "observed",
      "supplied"
    ],
    "nonPersistablePaths": []
  }
}

CanonSocket.factoring.invoice_funding.v2

object · Version 1 of the invoice funding fact plus the factor’s record version, and the invoice hand-off and withdrawal commands. Evidence by reference; no payment destination; not a funding trigger.

Members
MemberSchemaDescription
socketCode requiredconst "factoring.invoice_funding"
schemaVersion requiredconst 2
attribution requiredAttributionEnvelope
payload requiredobject
JSON Schema
{
  "type": "object",
  "properties": {
    "socketCode": {
      "type": "string",
      "const": "factoring.invoice_funding"
    },
    "schemaVersion": {
      "type": "number",
      "const": 2
    },
    "attribution": {
      "$ref": "#/components/schemas/AttributionEnvelope"
    },
    "payload": {
      "type": "object",
      "properties": {
        "invoiceRef": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        "providerInvoiceRef": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 200
            },
            {
              "type": "null"
            }
          ]
        },
        "carrierRoleOrganizationRef": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        "debtorKind": {
          "type": "string",
          "enum": [
            "broker",
            "shipper",
            "other"
          ]
        },
        "debtorRoleOrganizationRef": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 200
            },
            {
              "type": "null"
            }
          ]
        },
        "loadCoreRef": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 200
            },
            {
              "type": "null"
            }
          ]
        },
        "stage": {
          "type": "string",
          "enum": [
            "submitted",
            "verified",
            "advanced",
            "reserve_pending",
            "paid_by_debtor",
            "remitted",
            "disputed",
            "rejected"
          ]
        },
        "status": {
          "$ref": "#/components/schemas/CanonStatus"
        },
        "invoiceAmount": {
          "type": "object",
          "properties": {
            "amountMinorUnits": {
              "type": "integer",
              "minimum": 0,
              "maximum": 9007199254740991
            },
            "currency": {
              "type": "string",
              "enum": [
                "USD",
                "CAD",
                "MXN"
              ]
            }
          },
          "required": [
            "amountMinorUnits",
            "currency"
          ],
          "additionalProperties": false
        },
        "advancedAmount": {
          "anyOf": [
            {
              "type": "object",
              "properties": {
                "amountMinorUnits": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "currency": {
                  "type": "string",
                  "enum": [
                    "USD",
                    "CAD",
                    "MXN"
                  ]
                }
              },
              "required": [
                "amountMinorUnits",
                "currency"
              ],
              "additionalProperties": false
            },
            {
              "type": "null"
            }
          ]
        },
        "feeAmount": {
          "anyOf": [
            {
              "type": "object",
              "properties": {
                "amountMinorUnits": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "currency": {
                  "type": "string",
                  "enum": [
                    "USD",
                    "CAD",
                    "MXN"
                  ]
                }
              },
              "required": [
                "amountMinorUnits",
                "currency"
              ],
              "additionalProperties": false
            },
            {
              "type": "null"
            }
          ]
        },
        "noticeOfAssignmentAcknowledged": {
          "type": [
            "boolean",
            "null"
          ]
        },
        "fundingScheduledAt": {
          "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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
            },
            {
              "type": "null"
            }
          ]
        },
        "fundingConfirmedAt": {
          "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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
            },
            {
              "type": "null"
            }
          ]
        },
        "remittanceEvidenceRef": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 200
            },
            {
              "type": "null"
            }
          ]
        },
        "exceptionCode": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 64,
              "pattern": "^[a-z][a-z0-9_.-]*$"
            },
            {
              "type": "null"
            }
          ]
        },
        "providerVersion": {
          "anyOf": [
            {
              "type": "string",
              "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,199}$"
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "invoiceRef",
        "providerInvoiceRef",
        "carrierRoleOrganizationRef",
        "debtorKind",
        "debtorRoleOrganizationRef",
        "loadCoreRef",
        "stage",
        "status",
        "invoiceAmount",
        "advancedAmount",
        "feeAmount",
        "noticeOfAssignmentAcknowledged",
        "fundingScheduledAt",
        "fundingConfirmedAt",
        "remittanceEvidenceRef",
        "exceptionCode",
        "providerVersion"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "socketCode",
    "schemaVersion",
    "attribution",
    "payload"
  ],
  "additionalProperties": false,
  "title": "Factoring and payments: invoice funding (version 2, with the hand-off)",
  "description": "Version 1 of the invoice funding fact plus the factor’s record version, and the invoice hand-off and withdrawal commands. Evidence by reference; no payment destination; not a funding trigger.",
  "x-truckertech-socket": {
    "socketCode": "factoring.invoice_funding",
    "schemaVersion": 2,
    "family": "factoring_payments",
    "interactionModes": [
      "read",
      "event",
      "command"
    ],
    "factClasses": [
      "observed",
      "supplied"
    ],
    "nonPersistablePaths": []
  }
}

CanonSocket.freight_audit.invoice_audit.v1

object · A freight audit partner’s result on one freight invoice: billed and approved amounts and coded adjustments, as evidence. No payment instruction.

Members
MemberSchemaDescription
socketCode requiredconst "freight_audit.invoice_audit"
schemaVersion requiredconst 1
attribution requiredAttributionEnvelope
payload requiredobject
JSON Schema
{
  "type": "object",
  "properties": {
    "socketCode": {
      "type": "string",
      "const": "freight_audit.invoice_audit"
    },
    "schemaVersion": {
      "type": "number",
      "const": 1
    },
    "attribution": {
      "$ref": "#/components/schemas/AttributionEnvelope"
    },
    "payload": {
      "type": "object",
      "properties": {
        "auditRef": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        "providerAuditRef": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 200
            },
            {
              "type": "null"
            }
          ]
        },
        "invoiceRef": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        "loadCoreRef": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 200
            },
            {
              "type": "null"
            }
          ]
        },
        "payerRoleOrganizationRef": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        "payeeRoleOrganizationRef": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        "state": {
          "type": "string",
          "enum": [
            "pending",
            "approved",
            "adjusted",
            "disputed",
            "rejected"
          ]
        },
        "status": {
          "$ref": "#/components/schemas/CanonStatus"
        },
        "billedAmount": {
          "type": "object",
          "properties": {
            "amountMinorUnits": {
              "type": "integer",
              "minimum": 0,
              "maximum": 9007199254740991
            },
            "currency": {
              "type": "string",
              "enum": [
                "USD",
                "CAD",
                "MXN"
              ]
            }
          },
          "required": [
            "amountMinorUnits",
            "currency"
          ],
          "additionalProperties": false
        },
        "approvedAmount": {
          "anyOf": [
            {
              "type": "object",
              "properties": {
                "amountMinorUnits": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "currency": {
                  "type": "string",
                  "enum": [
                    "USD",
                    "CAD",
                    "MXN"
                  ]
                }
              },
              "required": [
                "amountMinorUnits",
                "currency"
              ],
              "additionalProperties": false
            },
            {
              "type": "null"
            }
          ]
        },
        "adjustments": {
          "maxItems": 50,
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "reasonCode": {
                "type": "string",
                "minLength": 1,
                "maxLength": 64,
                "pattern": "^[a-z][a-z0-9_.-]*$"
              },
              "amount": {
                "type": "object",
                "properties": {
                  "amountMinorUnits": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 9007199254740991
                  },
                  "currency": {
                    "type": "string",
                    "enum": [
                      "USD",
                      "CAD",
                      "MXN"
                    ]
                  }
                },
                "required": [
                  "amountMinorUnits",
                  "currency"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "reasonCode",
              "amount"
            ],
            "additionalProperties": false
          }
        },
        "auditedAt": {
          "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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "auditRef",
        "providerAuditRef",
        "invoiceRef",
        "loadCoreRef",
        "payerRoleOrganizationRef",
        "payeeRoleOrganizationRef",
        "state",
        "status",
        "billedAmount",
        "approvedAmount",
        "adjustments",
        "auditedAt"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "socketCode",
    "schemaVersion",
    "attribution",
    "payload"
  ],
  "additionalProperties": false,
  "title": "Freight invoice audit",
  "description": "A freight audit partner’s result on one freight invoice: billed and approved amounts and coded adjustments, as evidence. No payment instruction.",
  "x-truckertech-socket": {
    "socketCode": "freight_audit.invoice_audit",
    "schemaVersion": 1,
    "family": "freight_audit",
    "interactionModes": [
      "read",
      "event"
    ],
    "factClasses": [
      "observed",
      "derived"
    ],
    "nonPersistablePaths": []
  }
}

CanonSocket.fuel.price.v1

object · A station’s retail and discounted price for one fuel, per kilolitre, with the discount program by reference. The station is a reference, never a coordinate.

Members
MemberSchemaDescription
socketCode requiredconst "fuel.price"
schemaVersion requiredconst 1
attribution requiredAttributionEnvelope
payload requiredobject
JSON Schema
{
  "type": "object",
  "properties": {
    "socketCode": {
      "type": "string",
      "const": "fuel.price"
    },
    "schemaVersion": {
      "type": "number",
      "const": 1
    },
    "attribution": {
      "$ref": "#/components/schemas/AttributionEnvelope"
    },
    "payload": {
      "type": "object",
      "properties": {
        "stationRef": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        "providerStationRef": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 200
            },
            {
              "type": "null"
            }
          ]
        },
        "fuelType": {
          "type": "string",
          "enum": [
            "diesel",
            "reefer_diesel",
            "def",
            "gasoline",
            "cng",
            "lng",
            "other"
          ]
        },
        "retailPricePerKiloliter": {
          "type": "object",
          "properties": {
            "amountMinorUnits": {
              "type": "integer",
              "minimum": 0,
              "maximum": 9007199254740991
            },
            "currency": {
              "type": "string",
              "enum": [
                "USD",
                "CAD",
                "MXN"
              ]
            }
          },
          "required": [
            "amountMinorUnits",
            "currency"
          ],
          "additionalProperties": false
        },
        "discountedPricePerKiloliter": {
          "anyOf": [
            {
              "type": "object",
              "properties": {
                "amountMinorUnits": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "currency": {
                  "type": "string",
                  "enum": [
                    "USD",
                    "CAD",
                    "MXN"
                  ]
                }
              },
              "required": [
                "amountMinorUnits",
                "currency"
              ],
              "additionalProperties": false
            },
            {
              "type": "null"
            }
          ]
        },
        "discountProgramRef": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 200
            },
            {
              "type": "null"
            }
          ]
        },
        "effectiveAt": {
          "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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
        },
        "expiresAt": {
          "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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "stationRef",
        "providerStationRef",
        "fuelType",
        "retailPricePerKiloliter",
        "discountedPricePerKiloliter",
        "discountProgramRef",
        "effectiveAt",
        "expiresAt"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "socketCode",
    "schemaVersion",
    "attribution",
    "payload"
  ],
  "additionalProperties": false,
  "title": "Fuel price",
  "description": "A station’s retail and discounted price for one fuel, per kilolitre, with the discount program by reference. The station is a reference, never a coordinate.",
  "x-truckertech-socket": {
    "socketCode": "fuel.price",
    "schemaVersion": 1,
    "family": "fuel",
    "interactionModes": [
      "read",
      "event"
    ],
    "factClasses": [
      "observed",
      "supplied"
    ],
    "nonPersistablePaths": []
  }
}

CanonSocket.fuel.transaction.v1

object · One fuel purchase from a fuel card or network: card and station by reference, litres, price per kilolitre, total and discount. No card number and no coordinates.

Members
MemberSchemaDescription
socketCode requiredconst "fuel.transaction"
schemaVersion requiredconst 1
attribution requiredAttributionEnvelope
payload requiredobject
JSON Schema
{
  "type": "object",
  "properties": {
    "socketCode": {
      "type": "string",
      "const": "fuel.transaction"
    },
    "schemaVersion": {
      "type": "number",
      "const": 1
    },
    "attribution": {
      "$ref": "#/components/schemas/AttributionEnvelope"
    },
    "payload": {
      "type": "object",
      "properties": {
        "transactionRef": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        "providerTransactionRef": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 200
            },
            {
              "type": "null"
            }
          ]
        },
        "cardRef": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 200
            },
            {
              "type": "null"
            }
          ]
        },
        "carrierRoleOrganizationRef": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        "vehicleRef": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 200
            },
            {
              "type": "null"
            }
          ]
        },
        "driverPersonRef": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 200
            },
            {
              "type": "null"
            }
          ]
        },
        "stationRef": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        "fuelType": {
          "type": "string",
          "enum": [
            "diesel",
            "reefer_diesel",
            "def",
            "gasoline",
            "cng",
            "lng",
            "other"
          ]
        },
        "volumeLiters": {
          "type": "number",
          "exclusiveMinimum": 0,
          "maximum": 10000
        },
        "unitPricePerKiloliter": {
          "type": "object",
          "properties": {
            "amountMinorUnits": {
              "type": "integer",
              "minimum": 0,
              "maximum": 9007199254740991
            },
            "currency": {
              "type": "string",
              "enum": [
                "USD",
                "CAD",
                "MXN"
              ]
            }
          },
          "required": [
            "amountMinorUnits",
            "currency"
          ],
          "additionalProperties": false
        },
        "totalAmount": {
          "type": "object",
          "properties": {
            "amountMinorUnits": {
              "type": "integer",
              "minimum": 0,
              "maximum": 9007199254740991
            },
            "currency": {
              "type": "string",
              "enum": [
                "USD",
                "CAD",
                "MXN"
              ]
            }
          },
          "required": [
            "amountMinorUnits",
            "currency"
          ],
          "additionalProperties": false
        },
        "discountAmount": {
          "anyOf": [
            {
              "type": "object",
              "properties": {
                "amountMinorUnits": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "currency": {
                  "type": "string",
                  "enum": [
                    "USD",
                    "CAD",
                    "MXN"
                  ]
                }
              },
              "required": [
                "amountMinorUnits",
                "currency"
              ],
              "additionalProperties": false
            },
            {
              "type": "null"
            }
          ]
        },
        "odometerKilometers": {
          "anyOf": [
            {
              "type": "number",
              "minimum": 0,
              "maximum": 10000000
            },
            {
              "type": "null"
            }
          ]
        },
        "status": {
          "$ref": "#/components/schemas/CanonStatus"
        },
        "transactedAt": {
          "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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
        }
      },
      "required": [
        "transactionRef",
        "providerTransactionRef",
        "cardRef",
        "carrierRoleOrganizationRef",
        "vehicleRef",
        "driverPersonRef",
        "stationRef",
        "fuelType",
        "volumeLiters",
        "unitPricePerKiloliter",
        "totalAmount",
        "discountAmount",
        "odometerKilometers",
        "status",
        "transactedAt"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "socketCode",
    "schemaVersion",
    "attribution",
    "payload"
  ],
  "additionalProperties": false,
  "title": "Fuel transaction",
  "description": "One fuel purchase from a fuel card or network: card and station by reference, litres, price per kilolitre, total and discount. No card number and no coordinates.",
  "x-truckertech-socket": {
    "socketCode": "fuel.transaction",
    "schemaVersion": 1,
    "family": "fuel",
    "interactionModes": [
      "read",
      "event"
    ],
    "factClasses": [
      "observed"
    ],
    "nonPersistablePaths": []
  }
}

CanonSocket.identity.assurance_result.v1

object · The outcome of identity, document and liveness checks a proofing provider ran for one Person. Carries outcomes and references only; TruckerTech decides the assurance level.

Members
MemberSchemaDescription
socketCode requiredconst "identity.assurance_result"
schemaVersion requiredconst 1
attribution requiredAttributionEnvelope
payload requiredobject
JSON Schema
{
  "type": "object",
  "properties": {
    "socketCode": {
      "type": "string",
      "const": "identity.assurance_result"
    },
    "schemaVersion": {
      "type": "number",
      "const": 1
    },
    "attribution": {
      "$ref": "#/components/schemas/AttributionEnvelope"
    },
    "payload": {
      "type": "object",
      "properties": {
        "subjectPersonRef": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        "providerResultRef": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        "status": {
          "$ref": "#/components/schemas/CanonStatus"
        },
        "provenance": {
          "type": "string",
          "enum": [
            "live",
            "synthetic-development-or-preview"
          ]
        },
        "checks": {
          "minItems": 1,
          "maxItems": 3,
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "check": {
                "type": "string",
                "enum": [
                  "identity-proofing",
                  "document-proofing",
                  "liveness"
                ]
              },
              "outcome": {
                "type": "string",
                "enum": [
                  "passed",
                  "failed",
                  "inconclusive",
                  "not_performed"
                ]
              },
              "completedAt": {
                "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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "required": [
              "check",
              "outcome",
              "completedAt"
            ],
            "additionalProperties": false
          }
        },
        "completedAt": {
          "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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
            },
            {
              "type": "null"
            }
          ]
        },
        "providerExpiresAt": {
          "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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "subjectPersonRef",
        "providerResultRef",
        "status",
        "provenance",
        "checks",
        "completedAt",
        "providerExpiresAt"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "socketCode",
    "schemaVersion",
    "attribution",
    "payload"
  ],
  "additionalProperties": false,
  "title": "Identity assurance result",
  "description": "The outcome of identity, document and liveness checks a proofing provider ran for one Person. Carries outcomes and references only; TruckerTech decides the assurance level.",
  "x-truckertech-socket": {
    "socketCode": "identity.assurance_result",
    "schemaVersion": 1,
    "family": "identity_assurance",
    "interactionModes": [
      "read",
      "event"
    ],
    "factClasses": [
      "observed",
      "supplied"
    ],
    "nonPersistablePaths": []
  }
}

CanonSocket.insurance.claim_status.v1

object · Where one insurance claim stands with a claims-services partner: coverage, stage, amounts as evidence and documents by reference. A loss carries its date, never its place.

Members
MemberSchemaDescription
socketCode requiredconst "insurance.claim_status"
schemaVersion requiredconst 1
attribution requiredAttributionEnvelope
payload requiredobject
JSON Schema
{
  "type": "object",
  "properties": {
    "socketCode": {
      "type": "string",
      "const": "insurance.claim_status"
    },
    "schemaVersion": {
      "type": "number",
      "const": 1
    },
    "attribution": {
      "$ref": "#/components/schemas/AttributionEnvelope"
    },
    "payload": {
      "type": "object",
      "properties": {
        "claimRef": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        "providerClaimRef": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 200
            },
            {
              "type": "null"
            }
          ]
        },
        "policyRef": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 200
            },
            {
              "type": "null"
            }
          ]
        },
        "claimantRoleOrganizationRef": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        "coverageType": {
          "type": "string",
          "enum": [
            "auto_liability",
            "cargo",
            "general_liability",
            "workers_compensation"
          ]
        },
        "loadCoreRef": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 200
            },
            {
              "type": "null"
            }
          ]
        },
        "lossOccurredOn": {
          "type": "string",
          "format": "date",
          "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])))$"
        },
        "stage": {
          "type": "string",
          "enum": [
            "reported",
            "under_review",
            "approved",
            "denied",
            "paid",
            "closed",
            "in_subrogation"
          ]
        },
        "status": {
          "$ref": "#/components/schemas/CanonStatus"
        },
        "claimedAmount": {
          "anyOf": [
            {
              "type": "object",
              "properties": {
                "amountMinorUnits": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "currency": {
                  "type": "string",
                  "enum": [
                    "USD",
                    "CAD",
                    "MXN"
                  ]
                }
              },
              "required": [
                "amountMinorUnits",
                "currency"
              ],
              "additionalProperties": false
            },
            {
              "type": "null"
            }
          ]
        },
        "paidAmount": {
          "anyOf": [
            {
              "type": "object",
              "properties": {
                "amountMinorUnits": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "currency": {
                  "type": "string",
                  "enum": [
                    "USD",
                    "CAD",
                    "MXN"
                  ]
                }
              },
              "required": [
                "amountMinorUnits",
                "currency"
              ],
              "additionalProperties": false
            },
            {
              "type": "null"
            }
          ]
        },
        "evidenceRefs": {
          "maxItems": 50,
          "type": "array",
          "items": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200
          }
        },
        "reportedAt": {
          "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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
        }
      },
      "required": [
        "claimRef",
        "providerClaimRef",
        "policyRef",
        "claimantRoleOrganizationRef",
        "coverageType",
        "loadCoreRef",
        "lossOccurredOn",
        "stage",
        "status",
        "claimedAmount",
        "paidAmount",
        "evidenceRefs",
        "reportedAt"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "socketCode",
    "schemaVersion",
    "attribution",
    "payload"
  ],
  "additionalProperties": false,
  "title": "Insurance claim status",
  "description": "Where one insurance claim stands with a claims-services partner: coverage, stage, amounts as evidence and documents by reference. A loss carries its date, never its place.",
  "x-truckertech-socket": {
    "socketCode": "insurance.claim_status",
    "schemaVersion": 1,
    "family": "insurance_claims",
    "interactionModes": [
      "read",
      "event"
    ],
    "factClasses": [
      "observed",
      "supplied"
    ],
    "nonPersistablePaths": []
  }
}

CanonSocket.load_board.posting.v1

object · A native or external-board load with its source and age, regions by reference, and the strict default filter inputs. Carries no address or coordinates.

Members
MemberSchemaDescription
socketCode requiredconst "load_board.posting"
schemaVersion requiredconst 1
attribution requiredAttributionEnvelope
payload requiredobject
JSON Schema
{
  "type": "object",
  "properties": {
    "socketCode": {
      "type": "string",
      "const": "load_board.posting"
    },
    "schemaVersion": {
      "type": "number",
      "const": 1
    },
    "attribution": {
      "$ref": "#/components/schemas/AttributionEnvelope"
    },
    "payload": {
      "type": "object",
      "properties": {
        "postingRef": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        "source": {
          "type": "string",
          "enum": [
            "native",
            "external_board"
          ]
        },
        "sourceBoardRef": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 200
            },
            {
              "type": "null"
            }
          ]
        },
        "providerPostingRef": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 200
            },
            {
              "type": "null"
            }
          ]
        },
        "brokerRoleOrganizationRef": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 200
            },
            {
              "type": "null"
            }
          ]
        },
        "providerBrokerRef": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 200
            },
            {
              "type": "null"
            }
          ]
        },
        "status": {
          "$ref": "#/components/schemas/CanonStatus"
        },
        "originRegionRef": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        "destinationRegionRef": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        "pickupWindow": {
          "anyOf": [
            {
              "type": "object",
              "properties": {
                "start": {
                  "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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
                },
                "end": {
                  "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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
                }
              },
              "required": [
                "start",
                "end"
              ],
              "additionalProperties": false
            },
            {
              "type": "null"
            }
          ]
        },
        "equipmentType": {
          "anyOf": [
            {
              "type": "string",
              "enum": [
                "dry_van",
                "reefer",
                "flatbed",
                "step_deck",
                "tanker",
                "container",
                "power_only",
                "other"
              ]
            },
            {
              "type": "null"
            }
          ]
        },
        "weightKilograms": {
          "anyOf": [
            {
              "type": "number",
              "minimum": 0,
              "maximum": 100000
            },
            {
              "type": "null"
            }
          ]
        },
        "distanceMeters": {
          "anyOf": [
            {
              "type": "number",
              "minimum": 0,
              "maximum": 20000000
            },
            {
              "type": "null"
            }
          ]
        },
        "rate": {
          "anyOf": [
            {
              "type": "object",
              "properties": {
                "amountMinorUnits": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "currency": {
                  "type": "string",
                  "enum": [
                    "USD",
                    "CAD",
                    "MXN"
                  ]
                }
              },
              "required": [
                "amountMinorUnits",
                "currency"
              ],
              "additionalProperties": false
            },
            {
              "type": "null"
            }
          ]
        },
        "postedAt": {
          "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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
        },
        "refreshedAt": {
          "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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
        },
        "expiresAt": {
          "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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
            },
            {
              "type": "null"
            }
          ]
        },
        "filter": {
          "anyOf": [
            {
              "type": "object",
              "properties": {
                "brokerVerified": {
                  "type": "string",
                  "enum": [
                    "yes",
                    "no",
                    "unknown"
                  ]
                },
                "brokerApprovedByCarrier": {
                  "type": "string",
                  "enum": [
                    "yes",
                    "no",
                    "unknown"
                  ]
                },
                "brokerCreditApprovedByFactor": {
                  "type": "string",
                  "enum": [
                    "yes",
                    "no",
                    "unknown"
                  ]
                },
                "creditApprovalRef": {
                  "anyOf": [
                    {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 200
                    },
                    {
                      "type": "null"
                    }
                  ]
                }
              },
              "required": [
                "brokerVerified",
                "brokerApprovedByCarrier",
                "brokerCreditApprovedByFactor",
                "creditApprovalRef"
              ],
              "additionalProperties": false
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "postingRef",
        "source",
        "sourceBoardRef",
        "providerPostingRef",
        "brokerRoleOrganizationRef",
        "providerBrokerRef",
        "status",
        "originRegionRef",
        "destinationRegionRef",
        "pickupWindow",
        "equipmentType",
        "weightKilograms",
        "distanceMeters",
        "rate",
        "postedAt",
        "refreshedAt",
        "expiresAt",
        "filter"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "socketCode",
    "schemaVersion",
    "attribution",
    "payload"
  ],
  "additionalProperties": false,
  "title": "Load board posting",
  "description": "A native or external-board load with its source and age, regions by reference, and the strict default filter inputs. Carries no address or coordinates.",
  "x-truckertech-socket": {
    "socketCode": "load_board.posting",
    "schemaVersion": 1,
    "family": "load_board",
    "interactionModes": [
      "read",
      "event"
    ],
    "factClasses": [
      "observed",
      "derived"
    ],
    "nonPersistablePaths": []
  }
}

CanonSocket.maintenance.inspection.v1

object · One vehicle inspection and its defects by governed code and severity. A roadside inspection carries no place or coordinate.

Members
MemberSchemaDescription
socketCode requiredconst "maintenance.inspection"
schemaVersion requiredconst 1
attribution requiredAttributionEnvelope
payload requiredobject
JSON Schema
{
  "type": "object",
  "properties": {
    "socketCode": {
      "type": "string",
      "const": "maintenance.inspection"
    },
    "schemaVersion": {
      "type": "number",
      "const": 1
    },
    "attribution": {
      "$ref": "#/components/schemas/AttributionEnvelope"
    },
    "payload": {
      "type": "object",
      "properties": {
        "inspectionRef": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        "providerInspectionRef": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 200
            },
            {
              "type": "null"
            }
          ]
        },
        "assetRef": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        "assetKind": {
          "type": "string",
          "enum": [
            "tractor",
            "trailer",
            "straight_truck",
            "other"
          ]
        },
        "carrierRoleOrganizationRef": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        "kind": {
          "type": "string",
          "enum": [
            "pre_trip",
            "post_trip",
            "annual",
            "roadside",
            "preventive"
          ]
        },
        "result": {
          "type": "string",
          "enum": [
            "pass",
            "pass_with_defects",
            "fail"
          ]
        },
        "status": {
          "$ref": "#/components/schemas/CanonStatus"
        },
        "inspectorPartyRef": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 200
            },
            {
              "type": "null"
            }
          ]
        },
        "inspectedAt": {
          "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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
        },
        "defects": {
          "maxItems": 100,
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "defectCode": {
                "type": "string",
                "minLength": 1,
                "maxLength": 64,
                "pattern": "^[a-z][a-z0-9_.-]*$"
              },
              "severity": {
                "type": "string",
                "enum": [
                  "minor",
                  "major",
                  "out_of_service"
                ]
              },
              "correctedAt": {
                "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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "workOrderRef": {
                "anyOf": [
                  {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 200
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "required": [
              "defectCode",
              "severity",
              "correctedAt",
              "workOrderRef"
            ],
            "additionalProperties": false
          }
        },
        "reportEvidenceRef": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 200
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "inspectionRef",
        "providerInspectionRef",
        "assetRef",
        "assetKind",
        "carrierRoleOrganizationRef",
        "kind",
        "result",
        "status",
        "inspectorPartyRef",
        "inspectedAt",
        "defects",
        "reportEvidenceRef"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "socketCode",
    "schemaVersion",
    "attribution",
    "payload"
  ],
  "additionalProperties": false,
  "title": "Vehicle inspection",
  "description": "One vehicle inspection and its defects by governed code and severity. A roadside inspection carries no place or coordinate.",
  "x-truckertech-socket": {
    "socketCode": "maintenance.inspection",
    "schemaVersion": 1,
    "family": "maintenance",
    "interactionModes": [
      "read",
      "event"
    ],
    "factClasses": [
      "observed",
      "supplied"
    ],
    "nonPersistablePaths": []
  }
}

CanonSocket.maintenance.work_order.v1

object · One repair or service order: asset, shop by reference, stage, job lines, kilometres and total. No place or coordinate.

Members
MemberSchemaDescription
socketCode requiredconst "maintenance.work_order"
schemaVersion requiredconst 1
attribution requiredAttributionEnvelope
payload requiredobject
JSON Schema
{
  "type": "object",
  "properties": {
    "socketCode": {
      "type": "string",
      "const": "maintenance.work_order"
    },
    "schemaVersion": {
      "type": "number",
      "const": 1
    },
    "attribution": {
      "$ref": "#/components/schemas/AttributionEnvelope"
    },
    "payload": {
      "type": "object",
      "properties": {
        "workOrderRef": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        "providerWorkOrderRef": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 200
            },
            {
              "type": "null"
            }
          ]
        },
        "assetRef": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        "assetKind": {
          "type": "string",
          "enum": [
            "tractor",
            "trailer",
            "straight_truck",
            "other"
          ]
        },
        "carrierRoleOrganizationRef": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        "shopRef": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        "stage": {
          "type": "string",
          "enum": [
            "opened",
            "in_progress",
            "waiting_parts",
            "completed",
            "cancelled"
          ]
        },
        "status": {
          "$ref": "#/components/schemas/CanonStatus"
        },
        "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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
        },
        "completedAt": {
          "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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
            },
            {
              "type": "null"
            }
          ]
        },
        "odometerKilometers": {
          "anyOf": [
            {
              "type": "number",
              "minimum": 0,
              "maximum": 10000000
            },
            {
              "type": "null"
            }
          ]
        },
        "lines": {
          "maxItems": 200,
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "lineRef": {
                "type": "string",
                "minLength": 1,
                "maxLength": 200
              },
              "jobCode": {
                "type": "string",
                "minLength": 1,
                "maxLength": 64,
                "pattern": "^[a-z][a-z0-9_.-]*$"
              },
              "laborMinutes": {
                "anyOf": [
                  {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 100000
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "partRefs": {
                "maxItems": 100,
                "type": "array",
                "items": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 200
                }
              }
            },
            "required": [
              "lineRef",
              "jobCode",
              "laborMinutes",
              "partRefs"
            ],
            "additionalProperties": false
          }
        },
        "totalAmount": {
          "anyOf": [
            {
              "type": "object",
              "properties": {
                "amountMinorUnits": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "currency": {
                  "type": "string",
                  "enum": [
                    "USD",
                    "CAD",
                    "MXN"
                  ]
                }
              },
              "required": [
                "amountMinorUnits",
                "currency"
              ],
              "additionalProperties": false
            },
            {
              "type": "null"
            }
          ]
        },
        "inspectionRef": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 200
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "workOrderRef",
        "providerWorkOrderRef",
        "assetRef",
        "assetKind",
        "carrierRoleOrganizationRef",
        "shopRef",
        "stage",
        "status",
        "openedAt",
        "completedAt",
        "odometerKilometers",
        "lines",
        "totalAmount",
        "inspectionRef"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "socketCode",
    "schemaVersion",
    "attribution",
    "payload"
  ],
  "additionalProperties": false,
  "title": "Maintenance work order",
  "description": "One repair or service order: asset, shop by reference, stage, job lines, kilometres and total. No place or coordinate.",
  "x-truckertech-socket": {
    "socketCode": "maintenance.work_order",
    "schemaVersion": 1,
    "family": "maintenance",
    "interactionModes": [
      "read",
      "event"
    ],
    "factClasses": [
      "observed",
      "supplied"
    ],
    "nonPersistablePaths": []
  }
}

CanonSocket.parts.order.v1

object · One parts order from a supplier: parts by reference, quantities, prices as evidence and delivery dates, optionally tied to a work order.

Members
MemberSchemaDescription
socketCode requiredconst "parts.order"
schemaVersion requiredconst 1
attribution requiredAttributionEnvelope
payload requiredobject
JSON Schema
{
  "type": "object",
  "properties": {
    "socketCode": {
      "type": "string",
      "const": "parts.order"
    },
    "schemaVersion": {
      "type": "number",
      "const": 1
    },
    "attribution": {
      "$ref": "#/components/schemas/AttributionEnvelope"
    },
    "payload": {
      "type": "object",
      "properties": {
        "partsOrderRef": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        "providerOrderRef": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 200
            },
            {
              "type": "null"
            }
          ]
        },
        "supplierRef": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        "buyerRoleOrganizationRef": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        "workOrderRef": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 200
            },
            {
              "type": "null"
            }
          ]
        },
        "stage": {
          "type": "string",
          "enum": [
            "quoted",
            "ordered",
            "backordered",
            "shipped",
            "delivered",
            "cancelled",
            "returned"
          ]
        },
        "status": {
          "$ref": "#/components/schemas/CanonStatus"
        },
        "lines": {
          "minItems": 1,
          "maxItems": 200,
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "partRef": {
                "type": "string",
                "minLength": 1,
                "maxLength": 200
              },
              "quantity": {
                "type": "integer",
                "exclusiveMinimum": 0,
                "maximum": 100000
              },
              "unitPrice": {
                "anyOf": [
                  {
                    "type": "object",
                    "properties": {
                      "amountMinorUnits": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 9007199254740991
                      },
                      "currency": {
                        "type": "string",
                        "enum": [
                          "USD",
                          "CAD",
                          "MXN"
                        ]
                      }
                    },
                    "required": [
                      "amountMinorUnits",
                      "currency"
                    ],
                    "additionalProperties": false
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "required": [
              "partRef",
              "quantity",
              "unitPrice"
            ],
            "additionalProperties": false
          }
        },
        "orderTotal": {
          "anyOf": [
            {
              "type": "object",
              "properties": {
                "amountMinorUnits": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "currency": {
                  "type": "string",
                  "enum": [
                    "USD",
                    "CAD",
                    "MXN"
                  ]
                }
              },
              "required": [
                "amountMinorUnits",
                "currency"
              ],
              "additionalProperties": false
            },
            {
              "type": "null"
            }
          ]
        },
        "orderedAt": {
          "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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
            },
            {
              "type": "null"
            }
          ]
        },
        "expectedDeliveryAt": {
          "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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
            },
            {
              "type": "null"
            }
          ]
        },
        "deliveredAt": {
          "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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "partsOrderRef",
        "providerOrderRef",
        "supplierRef",
        "buyerRoleOrganizationRef",
        "workOrderRef",
        "stage",
        "status",
        "lines",
        "orderTotal",
        "orderedAt",
        "expectedDeliveryAt",
        "deliveredAt"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "socketCode",
    "schemaVersion",
    "attribution",
    "payload"
  ],
  "additionalProperties": false,
  "title": "Parts order",
  "description": "One parts order from a supplier: parts by reference, quantities, prices as evidence and delivery dates, optionally tied to a work order.",
  "x-truckertech-socket": {
    "socketCode": "parts.order",
    "schemaVersion": 1,
    "family": "parts",
    "interactionModes": [
      "read",
      "event"
    ],
    "factClasses": [
      "observed",
      "supplied"
    ],
    "nonPersistablePaths": []
  }
}

CanonSocket.qualification.carrier_compliance.v1

object · A partner-reported carrier qualification and compliance determination: operating authority, safety rating, insurance and per-requirement state. The determination is the partner’s and stays attributed.

Members
MemberSchemaDescription
socketCode requiredconst "qualification.carrier_compliance"
schemaVersion requiredconst 1
attribution requiredAttributionEnvelope
payload requiredobject
JSON Schema
{
  "type": "object",
  "properties": {
    "socketCode": {
      "type": "string",
      "const": "qualification.carrier_compliance"
    },
    "schemaVersion": {
      "type": "number",
      "const": 1
    },
    "attribution": {
      "$ref": "#/components/schemas/AttributionEnvelope"
    },
    "payload": {
      "type": "object",
      "properties": {
        "carrier": {
          "type": "object",
          "properties": {
            "carrierRoleOrganizationRef": {
              "anyOf": [
                {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 200
                },
                {
                  "type": "null"
                }
              ]
            },
            "usdotNumber": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^\\d{1,8}$"
                },
                {
                  "type": "null"
                }
              ]
            },
            "mcNumber": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^\\d{1,8}$"
                },
                {
                  "type": "null"
                }
              ]
            },
            "otherRegistryRef": {
              "anyOf": [
                {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 200
                },
                {
                  "type": "null"
                }
              ]
            }
          },
          "required": [
            "carrierRoleOrganizationRef",
            "usdotNumber",
            "mcNumber",
            "otherRegistryRef"
          ],
          "additionalProperties": false
        },
        "determination": {
          "type": "object",
          "properties": {
            "status": {
              "$ref": "#/components/schemas/CanonStatus"
            },
            "determinedAt": {
              "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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
                },
                {
                  "type": "null"
                }
              ]
            },
            "reasonCode": {
              "anyOf": [
                {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 64,
                  "pattern": "^[a-z][a-z0-9_.-]*$"
                },
                {
                  "type": "null"
                }
              ]
            }
          },
          "required": [
            "status",
            "determinedAt",
            "reasonCode"
          ],
          "additionalProperties": false
        },
        "operatingAuthority": {
          "type": "string",
          "enum": [
            "active",
            "inactive",
            "revoked",
            "pending",
            "unknown"
          ]
        },
        "safetyRating": {
          "type": "string",
          "enum": [
            "satisfactory",
            "conditional",
            "unsatisfactory",
            "not_rated"
          ]
        },
        "insurance": {
          "maxItems": 20,
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "coverageType": {
                "type": "string",
                "enum": [
                  "auto_liability",
                  "cargo",
                  "general_liability",
                  "workers_compensation"
                ]
              },
              "state": {
                "type": "string",
                "enum": [
                  "met",
                  "unmet",
                  "expiring",
                  "expired",
                  "waived",
                  "unknown"
                ]
              },
              "coverageMinorUnits": {
                "anyOf": [
                  {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 9007199254740991
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "currency": {
                "anyOf": [
                  {
                    "type": "string",
                    "enum": [
                      "USD",
                      "CAD",
                      "MXN"
                    ]
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "expiresOn": {
                "anyOf": [
                  {
                    "type": "string",
                    "format": "date",
                    "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])))$"
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "required": [
              "coverageType",
              "state",
              "coverageMinorUnits",
              "currency",
              "expiresOn"
            ],
            "additionalProperties": false
          }
        },
        "requirements": {
          "maxItems": 100,
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "requirementCode": {
                "type": "string",
                "minLength": 1,
                "maxLength": 64,
                "pattern": "^[a-z][a-z0-9_.-]*$"
              },
              "state": {
                "type": "string",
                "enum": [
                  "met",
                  "unmet",
                  "expiring",
                  "expired",
                  "waived",
                  "unknown"
                ]
              },
              "expiresOn": {
                "anyOf": [
                  {
                    "type": "string",
                    "format": "date",
                    "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])))$"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "evidenceRef": {
                "anyOf": [
                  {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 200
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "required": [
              "requirementCode",
              "state",
              "expiresOn",
              "evidenceRef"
            ],
            "additionalProperties": false
          }
        }
      },
      "required": [
        "carrier",
        "determination",
        "operatingAuthority",
        "safetyRating",
        "insurance",
        "requirements"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "socketCode",
    "schemaVersion",
    "attribution",
    "payload"
  ],
  "additionalProperties": false,
  "title": "Carrier qualification and compliance",
  "description": "A partner-reported carrier qualification and compliance determination: operating authority, safety rating, insurance and per-requirement state. The determination is the partner’s and stays attributed.",
  "x-truckertech-socket": {
    "socketCode": "qualification.carrier_compliance",
    "schemaVersion": 1,
    "family": "qualification_compliance",
    "interactionModes": [
      "read",
      "event"
    ],
    "factClasses": [
      "observed",
      "supplied",
      "derived"
    ],
    "nonPersistablePaths": []
  }
}

CanonSocket.retention.driver_signal.v1

object · A retention partner’s signal about one driver, by governed code and severity. Partner estimates stay inferred and attributed; no survey text rides on the socket.

Members
MemberSchemaDescription
socketCode requiredconst "retention.driver_signal"
schemaVersion requiredconst 1
attribution requiredAttributionEnvelope
payload requiredobject
JSON Schema
{
  "type": "object",
  "properties": {
    "socketCode": {
      "type": "string",
      "const": "retention.driver_signal"
    },
    "schemaVersion": {
      "type": "number",
      "const": 1
    },
    "attribution": {
      "$ref": "#/components/schemas/AttributionEnvelope"
    },
    "payload": {
      "type": "object",
      "properties": {
        "signalRef": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        "driverPersonRef": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        "carrierRoleOrganizationRef": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        "programRef": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 200
            },
            {
              "type": "null"
            }
          ]
        },
        "signalCode": {
          "type": "string",
          "minLength": 1,
          "maxLength": 64,
          "pattern": "^[a-z][a-z0-9_.-]*$"
        },
        "severity": {
          "type": "string",
          "enum": [
            "info",
            "watch",
            "at_risk"
          ]
        },
        "status": {
          "$ref": "#/components/schemas/CanonStatus"
        },
        "observedAt": {
          "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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
        },
        "evidenceRef": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 200
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "signalRef",
        "driverPersonRef",
        "carrierRoleOrganizationRef",
        "programRef",
        "signalCode",
        "severity",
        "status",
        "observedAt",
        "evidenceRef"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "socketCode",
    "schemaVersion",
    "attribution",
    "payload"
  ],
  "additionalProperties": false,
  "title": "Driver retention signal",
  "description": "A retention partner’s signal about one driver, by governed code and severity. Partner estimates stay inferred and attributed; no survey text rides on the socket.",
  "x-truckertech-socket": {
    "socketCode": "retention.driver_signal",
    "schemaVersion": 1,
    "family": "retention",
    "interactionModes": [
      "read",
      "event"
    ],
    "factClasses": [
      "observed",
      "inferred"
    ],
    "nonPersistablePaths": []
  }
}

CanonSocket.safety.csa_monitoring.v1

object · A safety-monitoring partner’s snapshot of one carrier’s CSA BASIC measures, alerts and change codes. Measures are the partner’s and stay attributed; it is not a qualification determination.

Members
MemberSchemaDescription
socketCode requiredconst "safety.csa_monitoring"
schemaVersion requiredconst 1
attribution requiredAttributionEnvelope
payload requiredobject
JSON Schema
{
  "type": "object",
  "properties": {
    "socketCode": {
      "type": "string",
      "const": "safety.csa_monitoring"
    },
    "schemaVersion": {
      "type": "number",
      "const": 1
    },
    "attribution": {
      "$ref": "#/components/schemas/AttributionEnvelope"
    },
    "payload": {
      "type": "object",
      "properties": {
        "carrier": {
          "type": "object",
          "properties": {
            "carrierRoleOrganizationRef": {
              "anyOf": [
                {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 200
                },
                {
                  "type": "null"
                }
              ]
            },
            "usdotNumber": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^\\d{1,8}$"
                },
                {
                  "type": "null"
                }
              ]
            },
            "mcNumber": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^\\d{1,8}$"
                },
                {
                  "type": "null"
                }
              ]
            },
            "otherRegistryRef": {
              "anyOf": [
                {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 200
                },
                {
                  "type": "null"
                }
              ]
            }
          },
          "required": [
            "carrierRoleOrganizationRef",
            "usdotNumber",
            "mcNumber",
            "otherRegistryRef"
          ],
          "additionalProperties": false
        },
        "snapshotOn": {
          "type": "string",
          "format": "date",
          "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])))$"
        },
        "basics": {
          "maxItems": 7,
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "basic": {
                "type": "string",
                "enum": [
                  "unsafe_driving",
                  "crash_indicator",
                  "hos_compliance",
                  "vehicle_maintenance",
                  "controlled_substances",
                  "hazardous_materials",
                  "driver_fitness"
                ]
              },
              "percentile": {
                "anyOf": [
                  {
                    "type": "number",
                    "minimum": 0,
                    "maximum": 100
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "alert": {
                "type": "boolean"
              },
              "inspectionCount": {
                "anyOf": [
                  {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 1000000
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "required": [
              "basic",
              "percentile",
              "alert",
              "inspectionCount"
            ],
            "additionalProperties": false
          }
        },
        "changeCodes": {
          "maxItems": 50,
          "type": "array",
          "items": {
            "type": "string",
            "minLength": 1,
            "maxLength": 64,
            "pattern": "^[a-z][a-z0-9_.-]*$"
          }
        },
        "status": {
          "$ref": "#/components/schemas/CanonStatus"
        }
      },
      "required": [
        "carrier",
        "snapshotOn",
        "basics",
        "changeCodes",
        "status"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "socketCode",
    "schemaVersion",
    "attribution",
    "payload"
  ],
  "additionalProperties": false,
  "title": "Safety and CSA monitoring",
  "description": "A safety-monitoring partner’s snapshot of one carrier’s CSA BASIC measures, alerts and change codes. Measures are the partner’s and stay attributed; it is not a qualification determination.",
  "x-truckertech-socket": {
    "socketCode": "safety.csa_monitoring",
    "schemaVersion": 1,
    "family": "safety_monitoring",
    "interactionModes": [
      "read",
      "event"
    ],
    "factClasses": [
      "observed",
      "derived"
    ],
    "nonPersistablePaths": []
  }
}

CanonSocket.scheduling.appointment.v1

object · A facility appointment window and its partner-reported status. Read and event only in version 1: booking is an external write and stays behind the governed command architecture.

Members
MemberSchemaDescription
socketCode requiredconst "scheduling.appointment"
schemaVersion requiredconst 1
attribution requiredAttributionEnvelope
payload requiredobject
JSON Schema
{
  "type": "object",
  "properties": {
    "socketCode": {
      "type": "string",
      "const": "scheduling.appointment"
    },
    "schemaVersion": {
      "type": "number",
      "const": 1
    },
    "attribution": {
      "$ref": "#/components/schemas/AttributionEnvelope"
    },
    "payload": {
      "type": "object",
      "properties": {
        "appointmentRef": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        "providerAppointmentRef": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 200
            },
            {
              "type": "null"
            }
          ]
        },
        "kind": {
          "type": "string",
          "enum": [
            "pickup",
            "delivery",
            "drop",
            "live_load",
            "live_unload",
            "other"
          ]
        },
        "status": {
          "$ref": "#/components/schemas/CanonStatus"
        },
        "facilityRef": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        "stopCoreRef": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 200
            },
            {
              "type": "null"
            }
          ]
        },
        "loadCoreRef": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 200
            },
            {
              "type": "null"
            }
          ]
        },
        "windowStart": {
          "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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
        },
        "windowEnd": {
          "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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
        },
        "facilityTimeZone": {
          "type": "string"
        },
        "dockRef": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 200
            },
            {
              "type": "null"
            }
          ]
        },
        "rescheduleReasonCode": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 64,
              "pattern": "^[a-z][a-z0-9_.-]*$"
            },
            {
              "type": "null"
            }
          ]
        },
        "cancelledAt": {
          "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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "appointmentRef",
        "providerAppointmentRef",
        "kind",
        "status",
        "facilityRef",
        "stopCoreRef",
        "loadCoreRef",
        "windowStart",
        "windowEnd",
        "facilityTimeZone",
        "dockRef",
        "rescheduleReasonCode",
        "cancelledAt"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "socketCode",
    "schemaVersion",
    "attribution",
    "payload"
  ],
  "additionalProperties": false,
  "title": "Scheduling and appointments",
  "description": "A facility appointment window and its partner-reported status. Read and event only in version 1: booking is an external write and stays behind the governed command architecture.",
  "x-truckertech-socket": {
    "socketCode": "scheduling.appointment",
    "schemaVersion": 1,
    "family": "scheduling",
    "interactionModes": [
      "read",
      "event"
    ],
    "factClasses": [
      "observed",
      "supplied"
    ],
    "nonPersistablePaths": []
  }
}

CanonSocket.telematics.hos_status.v1

object · A driver’s current duty status and remaining drive, shift and cycle minutes as an ELD reported them. Carries no location.

Members
MemberSchemaDescription
socketCode requiredconst "telematics.hos_status"
schemaVersion requiredconst 1
attribution requiredAttributionEnvelope
payload requiredobject
JSON Schema
{
  "type": "object",
  "properties": {
    "socketCode": {
      "type": "string",
      "const": "telematics.hos_status"
    },
    "schemaVersion": {
      "type": "number",
      "const": 1
    },
    "attribution": {
      "$ref": "#/components/schemas/AttributionEnvelope"
    },
    "payload": {
      "type": "object",
      "properties": {
        "driverPersonRef": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        "vehicleRef": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 200
            },
            {
              "type": "null"
            }
          ]
        },
        "status": {
          "$ref": "#/components/schemas/CanonStatus"
        },
        "dutyStatus": {
          "type": "string",
          "enum": [
            "off_duty",
            "sleeper_berth",
            "driving",
            "on_duty_not_driving",
            "personal_conveyance",
            "yard_move"
          ]
        },
        "dutyStatusSince": {
          "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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
        },
        "driveRemainingMinutes": {
          "type": "integer",
          "minimum": 0,
          "maximum": 1440
        },
        "shiftRemainingMinutes": {
          "type": "integer",
          "minimum": 0,
          "maximum": 1440
        },
        "cycleRemainingMinutes": {
          "type": "integer",
          "minimum": 0,
          "maximum": 10080
        }
      },
      "required": [
        "driverPersonRef",
        "vehicleRef",
        "status",
        "dutyStatus",
        "dutyStatusSince",
        "driveRemainingMinutes",
        "shiftRemainingMinutes",
        "cycleRemainingMinutes"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "socketCode",
    "schemaVersion",
    "attribution",
    "payload"
  ],
  "additionalProperties": false,
  "title": "Hours-of-service status",
  "description": "A driver’s current duty status and remaining drive, shift and cycle minutes as an ELD reported them. Carries no location.",
  "x-truckertech-socket": {
    "socketCode": "telematics.hos_status",
    "schemaVersion": 1,
    "family": "eld_hos_telematics",
    "interactionModes": [
      "read",
      "event"
    ],
    "factClasses": [
      "observed",
      "derived"
    ],
    "nonPersistablePaths": []
  }
}

CanonSocket.telematics.vehicle_position.v1

object · The latest fix for one vehicle. Result-only: the position may be used inside one check and is never stored; only the check’s outcome may persist.

Members
MemberSchemaDescription
socketCode requiredconst "telematics.vehicle_position"
schemaVersion requiredconst 1
attribution requiredAttributionEnvelope
payload requiredobject
JSON Schema
{
  "type": "object",
  "properties": {
    "socketCode": {
      "type": "string",
      "const": "telematics.vehicle_position"
    },
    "schemaVersion": {
      "type": "number",
      "const": 1
    },
    "attribution": {
      "$ref": "#/components/schemas/AttributionEnvelope"
    },
    "payload": {
      "type": "object",
      "properties": {
        "vehicleRef": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        "driverPersonRef": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 200
            },
            {
              "type": "null"
            }
          ]
        },
        "position": {
          "type": "object",
          "properties": {
            "persistence": {
              "type": "string",
              "const": "non_persistable"
            },
            "latitude": {
              "type": "number",
              "minimum": -90,
              "maximum": 90
            },
            "longitude": {
              "type": "number",
              "minimum": -180,
              "maximum": 180
            },
            "headingDegrees": {
              "anyOf": [
                {
                  "type": "number",
                  "minimum": 0,
                  "exclusiveMaximum": 360
                },
                {
                  "type": "null"
                }
              ]
            },
            "speedMetersPerSecond": {
              "anyOf": [
                {
                  "type": "number",
                  "minimum": 0,
                  "maximum": 200
                },
                {
                  "type": "null"
                }
              ]
            },
            "accuracyMeters": {
              "anyOf": [
                {
                  "type": "number",
                  "exclusiveMinimum": 0,
                  "maximum": 100000
                },
                {
                  "type": "null"
                }
              ]
            }
          },
          "required": [
            "persistence",
            "latitude",
            "longitude",
            "headingDegrees",
            "speedMetersPerSecond",
            "accuracyMeters"
          ],
          "additionalProperties": false
        },
        "positionObservedAt": {
          "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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
        },
        "ignitionOn": {
          "type": [
            "boolean",
            "null"
          ]
        }
      },
      "required": [
        "vehicleRef",
        "driverPersonRef",
        "position",
        "positionObservedAt",
        "ignitionOn"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "socketCode",
    "schemaVersion",
    "attribution",
    "payload"
  ],
  "additionalProperties": false,
  "title": "Vehicle position (transaction-scoped)",
  "description": "The latest fix for one vehicle. Result-only: the position may be used inside one check and is never stored; only the check’s outcome may persist.",
  "x-truckertech-socket": {
    "socketCode": "telematics.vehicle_position",
    "schemaVersion": 1,
    "family": "eld_hos_telematics",
    "interactionModes": [
      "read",
      "event"
    ],
    "factClasses": [
      "observed"
    ],
    "nonPersistablePaths": [
      "position"
    ]
  }
}

CanonSocket.tms.load.v1

object · One load and the order it serves as a TMS reported it: parties, stage, equipment, metric weight and distance, rate as evidence, and stops by facility and Core reference. Carries no address or coordinates.

Members
MemberSchemaDescription
socketCode requiredconst "tms.load"
schemaVersion requiredconst 1
attribution requiredAttributionEnvelope
payload requiredobject
JSON Schema
{
  "type": "object",
  "properties": {
    "socketCode": {
      "type": "string",
      "const": "tms.load"
    },
    "schemaVersion": {
      "type": "number",
      "const": 1
    },
    "attribution": {
      "$ref": "#/components/schemas/AttributionEnvelope"
    },
    "payload": {
      "type": "object",
      "properties": {
        "loadRef": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        "providerLoadRef": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 200
            },
            {
              "type": "null"
            }
          ]
        },
        "loadCoreRef": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 200
            },
            {
              "type": "null"
            }
          ]
        },
        "orderRef": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 200
            },
            {
              "type": "null"
            }
          ]
        },
        "shipperRoleOrganizationRef": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 200
            },
            {
              "type": "null"
            }
          ]
        },
        "brokerRoleOrganizationRef": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 200
            },
            {
              "type": "null"
            }
          ]
        },
        "carrierRoleOrganizationRef": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 200
            },
            {
              "type": "null"
            }
          ]
        },
        "stage": {
          "type": "string",
          "enum": [
            "tendered",
            "booked",
            "dispatched",
            "in_transit",
            "delivered",
            "cancelled"
          ]
        },
        "status": {
          "$ref": "#/components/schemas/CanonStatus"
        },
        "equipmentType": {
          "anyOf": [
            {
              "type": "string",
              "enum": [
                "dry_van",
                "reefer",
                "flatbed",
                "step_deck",
                "tanker",
                "container",
                "power_only",
                "other"
              ]
            },
            {
              "type": "null"
            }
          ]
        },
        "weightKilograms": {
          "anyOf": [
            {
              "type": "number",
              "minimum": 0,
              "maximum": 100000
            },
            {
              "type": "null"
            }
          ]
        },
        "pieceCount": {
          "anyOf": [
            {
              "type": "integer",
              "minimum": 0,
              "maximum": 100000
            },
            {
              "type": "null"
            }
          ]
        },
        "temperatureControl": {
          "anyOf": [
            {
              "type": "object",
              "properties": {
                "minCelsius": {
                  "type": "number",
                  "minimum": -60,
                  "maximum": 60
                },
                "maxCelsius": {
                  "type": "number",
                  "minimum": -60,
                  "maximum": 60
                }
              },
              "required": [
                "minCelsius",
                "maxCelsius"
              ],
              "additionalProperties": false
            },
            {
              "type": "null"
            }
          ]
        },
        "distanceMeters": {
          "anyOf": [
            {
              "type": "number",
              "minimum": 0,
              "maximum": 20000000
            },
            {
              "type": "null"
            }
          ]
        },
        "rate": {
          "anyOf": [
            {
              "type": "object",
              "properties": {
                "amountMinorUnits": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "currency": {
                  "type": "string",
                  "enum": [
                    "USD",
                    "CAD",
                    "MXN"
                  ]
                }
              },
              "required": [
                "amountMinorUnits",
                "currency"
              ],
              "additionalProperties": false
            },
            {
              "type": "null"
            }
          ]
        },
        "stops": {
          "minItems": 2,
          "maxItems": 100,
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "stopRef": {
                "type": "string",
                "minLength": 1,
                "maxLength": 200
              },
              "stopCoreRef": {
                "anyOf": [
                  {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 200
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "sequence": {
                "type": "integer",
                "minimum": 1,
                "maximum": 100
              },
              "kind": {
                "type": "string",
                "enum": [
                  "pickup",
                  "delivery",
                  "stop_off"
                ]
              },
              "facilityRef": {
                "type": "string",
                "minLength": 1,
                "maxLength": 200
              },
              "appointmentRef": {
                "anyOf": [
                  {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 200
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "windowStart": {
                "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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "windowEnd": {
                "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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "facilityTimeZone": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "arrivedAt": {
                "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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "departedAt": {
                "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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "required": [
              "stopRef",
              "stopCoreRef",
              "sequence",
              "kind",
              "facilityRef",
              "appointmentRef",
              "windowStart",
              "windowEnd",
              "facilityTimeZone",
              "arrivedAt",
              "departedAt"
            ],
            "additionalProperties": false
          }
        },
        "tenderedAt": {
          "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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
            },
            {
              "type": "null"
            }
          ]
        },
        "cancelledAt": {
          "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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
            },
            {
              "type": "null"
            }
          ]
        },
        "exceptionCode": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 64,
              "pattern": "^[a-z][a-z0-9_.-]*$"
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "loadRef",
        "providerLoadRef",
        "loadCoreRef",
        "orderRef",
        "shipperRoleOrganizationRef",
        "brokerRoleOrganizationRef",
        "carrierRoleOrganizationRef",
        "stage",
        "status",
        "equipmentType",
        "weightKilograms",
        "pieceCount",
        "temperatureControl",
        "distanceMeters",
        "rate",
        "stops",
        "tenderedAt",
        "cancelledAt",
        "exceptionCode"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "socketCode",
    "schemaVersion",
    "attribution",
    "payload"
  ],
  "additionalProperties": false,
  "title": "TMS loads and orders",
  "description": "One load and the order it serves as a TMS reported it: parties, stage, equipment, metric weight and distance, rate as evidence, and stops by facility and Core reference. Carries no address or coordinates.",
  "x-truckertech-socket": {
    "socketCode": "tms.load",
    "schemaVersion": 1,
    "family": "tms_loads_orders",
    "interactionModes": [
      "read",
      "event"
    ],
    "factClasses": [
      "observed",
      "supplied"
    ],
    "nonPersistablePaths": []
  }
}

CanonSocket.tms.load.v2

object · Version 1 of the TMS load fact plus the provider version, and the load create, update and cancel commands. Canonical parameters only: external writes stay disabled.

Members
MemberSchemaDescription
socketCode requiredconst "tms.load"
schemaVersion requiredconst 2
attribution requiredAttributionEnvelope
payload requiredobject
JSON Schema
{
  "type": "object",
  "properties": {
    "socketCode": {
      "type": "string",
      "const": "tms.load"
    },
    "schemaVersion": {
      "type": "number",
      "const": 2
    },
    "attribution": {
      "$ref": "#/components/schemas/AttributionEnvelope"
    },
    "payload": {
      "type": "object",
      "properties": {
        "loadRef": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        "providerLoadRef": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 200
            },
            {
              "type": "null"
            }
          ]
        },
        "loadCoreRef": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 200
            },
            {
              "type": "null"
            }
          ]
        },
        "orderRef": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 200
            },
            {
              "type": "null"
            }
          ]
        },
        "shipperRoleOrganizationRef": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 200
            },
            {
              "type": "null"
            }
          ]
        },
        "brokerRoleOrganizationRef": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 200
            },
            {
              "type": "null"
            }
          ]
        },
        "carrierRoleOrganizationRef": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 200
            },
            {
              "type": "null"
            }
          ]
        },
        "stage": {
          "type": "string",
          "enum": [
            "tendered",
            "booked",
            "dispatched",
            "in_transit",
            "delivered",
            "cancelled"
          ]
        },
        "status": {
          "$ref": "#/components/schemas/CanonStatus"
        },
        "equipmentType": {
          "anyOf": [
            {
              "type": "string",
              "enum": [
                "dry_van",
                "reefer",
                "flatbed",
                "step_deck",
                "tanker",
                "container",
                "power_only",
                "other"
              ]
            },
            {
              "type": "null"
            }
          ]
        },
        "weightKilograms": {
          "anyOf": [
            {
              "type": "number",
              "minimum": 0,
              "maximum": 100000
            },
            {
              "type": "null"
            }
          ]
        },
        "pieceCount": {
          "anyOf": [
            {
              "type": "integer",
              "minimum": 0,
              "maximum": 100000
            },
            {
              "type": "null"
            }
          ]
        },
        "temperatureControl": {
          "anyOf": [
            {
              "type": "object",
              "properties": {
                "minCelsius": {
                  "type": "number",
                  "minimum": -60,
                  "maximum": 60
                },
                "maxCelsius": {
                  "type": "number",
                  "minimum": -60,
                  "maximum": 60
                }
              },
              "required": [
                "minCelsius",
                "maxCelsius"
              ],
              "additionalProperties": false
            },
            {
              "type": "null"
            }
          ]
        },
        "distanceMeters": {
          "anyOf": [
            {
              "type": "number",
              "minimum": 0,
              "maximum": 20000000
            },
            {
              "type": "null"
            }
          ]
        },
        "rate": {
          "anyOf": [
            {
              "type": "object",
              "properties": {
                "amountMinorUnits": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "currency": {
                  "type": "string",
                  "enum": [
                    "USD",
                    "CAD",
                    "MXN"
                  ]
                }
              },
              "required": [
                "amountMinorUnits",
                "currency"
              ],
              "additionalProperties": false
            },
            {
              "type": "null"
            }
          ]
        },
        "stops": {
          "minItems": 2,
          "maxItems": 100,
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "stopRef": {
                "type": "string",
                "minLength": 1,
                "maxLength": 200
              },
              "stopCoreRef": {
                "anyOf": [
                  {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 200
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "sequence": {
                "type": "integer",
                "minimum": 1,
                "maximum": 100
              },
              "kind": {
                "type": "string",
                "enum": [
                  "pickup",
                  "delivery",
                  "stop_off"
                ]
              },
              "facilityRef": {
                "type": "string",
                "minLength": 1,
                "maxLength": 200
              },
              "appointmentRef": {
                "anyOf": [
                  {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 200
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "windowStart": {
                "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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "windowEnd": {
                "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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "facilityTimeZone": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "arrivedAt": {
                "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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "departedAt": {
                "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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "required": [
              "stopRef",
              "stopCoreRef",
              "sequence",
              "kind",
              "facilityRef",
              "appointmentRef",
              "windowStart",
              "windowEnd",
              "facilityTimeZone",
              "arrivedAt",
              "departedAt"
            ],
            "additionalProperties": false
          }
        },
        "tenderedAt": {
          "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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
            },
            {
              "type": "null"
            }
          ]
        },
        "cancelledAt": {
          "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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
            },
            {
              "type": "null"
            }
          ]
        },
        "exceptionCode": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 64,
              "pattern": "^[a-z][a-z0-9_.-]*$"
            },
            {
              "type": "null"
            }
          ]
        },
        "providerVersion": {
          "anyOf": [
            {
              "type": "string",
              "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,199}$"
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "loadRef",
        "providerLoadRef",
        "loadCoreRef",
        "orderRef",
        "shipperRoleOrganizationRef",
        "brokerRoleOrganizationRef",
        "carrierRoleOrganizationRef",
        "stage",
        "status",
        "equipmentType",
        "weightKilograms",
        "pieceCount",
        "temperatureControl",
        "distanceMeters",
        "rate",
        "stops",
        "tenderedAt",
        "cancelledAt",
        "exceptionCode",
        "providerVersion"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "socketCode",
    "schemaVersion",
    "attribution",
    "payload"
  ],
  "additionalProperties": false,
  "title": "TMS loads and orders (version 2, with commands)",
  "description": "Version 1 of the TMS load fact plus the provider version, and the load create, update and cancel commands. Canonical parameters only: external writes stay disabled.",
  "x-truckertech-socket": {
    "socketCode": "tms.load",
    "schemaVersion": 2,
    "family": "tms_loads_orders",
    "interactionModes": [
      "read",
      "event",
      "command"
    ],
    "factClasses": [
      "observed",
      "supplied"
    ],
    "nonPersistablePaths": []
  }
}

CanonSocket.tms.tender_response.v1

object · A carrier’s accept or decline of a load tender as the TMS reported it. Observed only: responding to a tender from TruckerTech is a version-2 command.

Members
MemberSchemaDescription
socketCode requiredconst "tms.tender_response"
schemaVersion requiredconst 1
attribution requiredAttributionEnvelope
payload requiredobject
JSON Schema
{
  "type": "object",
  "properties": {
    "socketCode": {
      "type": "string",
      "const": "tms.tender_response"
    },
    "schemaVersion": {
      "type": "number",
      "const": 1
    },
    "attribution": {
      "$ref": "#/components/schemas/AttributionEnvelope"
    },
    "payload": {
      "type": "object",
      "properties": {
        "loadRef": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        "providerLoadRef": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 200
            },
            {
              "type": "null"
            }
          ]
        },
        "loadCoreRef": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 200
            },
            {
              "type": "null"
            }
          ]
        },
        "carrierRoleOrganizationRef": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        "response": {
          "type": "string",
          "enum": [
            "accepted",
            "declined"
          ]
        },
        "status": {
          "$ref": "#/components/schemas/CanonStatus"
        },
        "respondedAt": {
          "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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
        },
        "declineReasonCode": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 64,
              "pattern": "^[a-z][a-z0-9_.-]*$"
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "loadRef",
        "providerLoadRef",
        "loadCoreRef",
        "carrierRoleOrganizationRef",
        "response",
        "status",
        "respondedAt",
        "declineReasonCode"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "socketCode",
    "schemaVersion",
    "attribution",
    "payload"
  ],
  "additionalProperties": false,
  "title": "TMS tender response",
  "description": "A carrier’s accept or decline of a load tender as the TMS reported it. Observed only: responding to a tender from TruckerTech is a version-2 command.",
  "x-truckertech-socket": {
    "socketCode": "tms.tender_response",
    "schemaVersion": 1,
    "family": "tms_loads_orders",
    "interactionModes": [
      "read",
      "event"
    ],
    "factClasses": [
      "observed",
      "supplied"
    ],
    "nonPersistablePaths": []
  }
}

CanonSocket.tolls.transaction.v1

object · One toll charge from a toll partner: agency, plaza and transponder by reference, axles and amount. No coordinates.

Members
MemberSchemaDescription
socketCode requiredconst "tolls.transaction"
schemaVersion requiredconst 1
attribution requiredAttributionEnvelope
payload requiredobject
JSON Schema
{
  "type": "object",
  "properties": {
    "socketCode": {
      "type": "string",
      "const": "tolls.transaction"
    },
    "schemaVersion": {
      "type": "number",
      "const": 1
    },
    "attribution": {
      "$ref": "#/components/schemas/AttributionEnvelope"
    },
    "payload": {
      "type": "object",
      "properties": {
        "transactionRef": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        "providerTransactionRef": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 200
            },
            {
              "type": "null"
            }
          ]
        },
        "carrierRoleOrganizationRef": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        "transponderRef": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 200
            },
            {
              "type": "null"
            }
          ]
        },
        "vehicleRef": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 200
            },
            {
              "type": "null"
            }
          ]
        },
        "agencyRef": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        "plazaRef": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        "axleCount": {
          "anyOf": [
            {
              "type": "integer",
              "minimum": 2,
              "maximum": 12
            },
            {
              "type": "null"
            }
          ]
        },
        "amount": {
          "type": "object",
          "properties": {
            "amountMinorUnits": {
              "type": "integer",
              "minimum": 0,
              "maximum": 9007199254740991
            },
            "currency": {
              "type": "string",
              "enum": [
                "USD",
                "CAD",
                "MXN"
              ]
            }
          },
          "required": [
            "amountMinorUnits",
            "currency"
          ],
          "additionalProperties": false
        },
        "status": {
          "$ref": "#/components/schemas/CanonStatus"
        },
        "transactedAt": {
          "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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
        },
        "loadCoreRef": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 200
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "transactionRef",
        "providerTransactionRef",
        "carrierRoleOrganizationRef",
        "transponderRef",
        "vehicleRef",
        "agencyRef",
        "plazaRef",
        "axleCount",
        "amount",
        "status",
        "transactedAt",
        "loadCoreRef"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "socketCode",
    "schemaVersion",
    "attribution",
    "payload"
  ],
  "additionalProperties": false,
  "title": "Toll transaction",
  "description": "One toll charge from a toll partner: agency, plaza and transponder by reference, axles and amount. No coordinates.",
  "x-truckertech-socket": {
    "socketCode": "tolls.transaction",
    "schemaVersion": 1,
    "family": "tolls",
    "interactionModes": [
      "read",
      "event"
    ],
    "factClasses": [
      "observed"
    ],
    "nonPersistablePaths": []
  }
}

CanonSocket.training.course_completion.v1

object · Where one learner stands on one course from a training partner: state, dates and the certificate by reference. No score detail and no personal data beyond references.

Members
MemberSchemaDescription
socketCode requiredconst "training.course_completion"
schemaVersion requiredconst 1
attribution requiredAttributionEnvelope
payload requiredobject
JSON Schema
{
  "type": "object",
  "properties": {
    "socketCode": {
      "type": "string",
      "const": "training.course_completion"
    },
    "schemaVersion": {
      "type": "number",
      "const": 1
    },
    "attribution": {
      "$ref": "#/components/schemas/AttributionEnvelope"
    },
    "payload": {
      "type": "object",
      "properties": {
        "enrollmentRef": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        "providerEnrollmentRef": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 200
            },
            {
              "type": "null"
            }
          ]
        },
        "learnerPersonRef": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        "sponsorRoleOrganizationRef": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        "courseRef": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        "state": {
          "type": "string",
          "enum": [
            "assigned",
            "in_progress",
            "completed",
            "failed",
            "expired"
          ]
        },
        "status": {
          "$ref": "#/components/schemas/CanonStatus"
        },
        "assignedAt": {
          "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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
        },
        "completedAt": {
          "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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
            },
            {
              "type": "null"
            }
          ]
        },
        "expiresOn": {
          "anyOf": [
            {
              "type": "string",
              "format": "date",
              "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])))$"
            },
            {
              "type": "null"
            }
          ]
        },
        "certificateEvidenceRef": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 200
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "enrollmentRef",
        "providerEnrollmentRef",
        "learnerPersonRef",
        "sponsorRoleOrganizationRef",
        "courseRef",
        "state",
        "status",
        "assignedAt",
        "completedAt",
        "expiresOn",
        "certificateEvidenceRef"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "socketCode",
    "schemaVersion",
    "attribution",
    "payload"
  ],
  "additionalProperties": false,
  "title": "Training course completion",
  "description": "Where one learner stands on one course from a training partner: state, dates and the certificate by reference. No score detail and no personal data beyond references.",
  "x-truckertech-socket": {
    "socketCode": "training.course_completion",
    "schemaVersion": 1,
    "family": "training",
    "interactionModes": [
      "read",
      "event"
    ],
    "factClasses": [
      "observed"
    ],
    "nonPersistablePaths": []
  }
}

CanonSocket.visibility.shipment_eta.v1

object · A shipment milestone and estimated arrival from a visibility provider. Carries no coordinates.

Members
MemberSchemaDescription
socketCode requiredconst "visibility.shipment_eta"
schemaVersion requiredconst 1
attribution requiredAttributionEnvelope
payload requiredobject
JSON Schema
{
  "type": "object",
  "properties": {
    "socketCode": {
      "type": "string",
      "const": "visibility.shipment_eta"
    },
    "schemaVersion": {
      "type": "number",
      "const": 1
    },
    "attribution": {
      "$ref": "#/components/schemas/AttributionEnvelope"
    },
    "payload": {
      "type": "object",
      "properties": {
        "shipmentRef": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        "providerShipmentRef": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 200
            },
            {
              "type": "null"
            }
          ]
        },
        "loadCoreRef": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 200
            },
            {
              "type": "null"
            }
          ]
        },
        "stopCoreRef": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 200
            },
            {
              "type": "null"
            }
          ]
        },
        "status": {
          "$ref": "#/components/schemas/CanonStatus"
        },
        "milestone": {
          "type": "string",
          "enum": [
            "not_started",
            "en_route_to_pickup",
            "at_pickup",
            "in_transit",
            "at_delivery",
            "delivered",
            "exception"
          ]
        },
        "milestoneObservedAt": {
          "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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
            },
            {
              "type": "null"
            }
          ]
        },
        "estimatedArrivalAt": {
          "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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
            },
            {
              "type": "null"
            }
          ]
        },
        "etaConfidence": {
          "anyOf": [
            {
              "type": "string",
              "enum": [
                "high",
                "medium",
                "low"
              ]
            },
            {
              "type": "null"
            }
          ]
        },
        "delayMinutes": {
          "anyOf": [
            {
              "type": "integer",
              "minimum": -10080,
              "maximum": 10080
            },
            {
              "type": "null"
            }
          ]
        },
        "distanceRemainingMeters": {
          "anyOf": [
            {
              "type": "number",
              "minimum": 0,
              "maximum": 20000000
            },
            {
              "type": "null"
            }
          ]
        },
        "exceptionCode": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 64,
              "pattern": "^[a-z][a-z0-9_.-]*$"
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "shipmentRef",
        "providerShipmentRef",
        "loadCoreRef",
        "stopCoreRef",
        "status",
        "milestone",
        "milestoneObservedAt",
        "estimatedArrivalAt",
        "etaConfidence",
        "delayMinutes",
        "distanceRemainingMeters",
        "exceptionCode"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "socketCode",
    "schemaVersion",
    "attribution",
    "payload"
  ],
  "additionalProperties": false,
  "title": "Visibility and ETA",
  "description": "A shipment milestone and estimated arrival from a visibility provider. Carries no coordinates.",
  "x-truckertech-socket": {
    "socketCode": "visibility.shipment_eta",
    "schemaVersion": 1,
    "family": "visibility_eta",
    "interactionModes": [
      "read",
      "event"
    ],
    "factClasses": [
      "observed",
      "inferred",
      "derived"
    ],
    "nonPersistablePaths": []
  }
}

CanonSocket.weather.advisory.v1

object · A weather partner’s advisory for a zone, facility, load or stop, by reference: hazard, severity and validity. Never a coordinate or a polygon.

Members
MemberSchemaDescription
socketCode requiredconst "weather.advisory"
schemaVersion requiredconst 1
attribution requiredAttributionEnvelope
payload requiredobject
JSON Schema
{
  "type": "object",
  "properties": {
    "socketCode": {
      "type": "string",
      "const": "weather.advisory"
    },
    "schemaVersion": {
      "type": "number",
      "const": 1
    },
    "attribution": {
      "$ref": "#/components/schemas/AttributionEnvelope"
    },
    "payload": {
      "type": "object",
      "properties": {
        "advisoryRef": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        "providerAdvisoryRef": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 200
            },
            {
              "type": "null"
            }
          ]
        },
        "zoneRef": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 200
            },
            {
              "type": "null"
            }
          ]
        },
        "facilityRef": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 200
            },
            {
              "type": "null"
            }
          ]
        },
        "loadCoreRef": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 200
            },
            {
              "type": "null"
            }
          ]
        },
        "stopCoreRef": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 200
            },
            {
              "type": "null"
            }
          ]
        },
        "hazardCode": {
          "type": "string",
          "minLength": 1,
          "maxLength": 64,
          "pattern": "^[a-z][a-z0-9_.-]*$"
        },
        "severity": {
          "type": "string",
          "enum": [
            "minor",
            "moderate",
            "severe",
            "extreme"
          ]
        },
        "status": {
          "$ref": "#/components/schemas/CanonStatus"
        },
        "issuedAt": {
          "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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
        },
        "validFrom": {
          "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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
        },
        "validUntil": {
          "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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
        }
      },
      "required": [
        "advisoryRef",
        "providerAdvisoryRef",
        "zoneRef",
        "facilityRef",
        "loadCoreRef",
        "stopCoreRef",
        "hazardCode",
        "severity",
        "status",
        "issuedAt",
        "validFrom",
        "validUntil"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "socketCode",
    "schemaVersion",
    "attribution",
    "payload"
  ],
  "additionalProperties": false,
  "title": "Weather advisory",
  "description": "A weather partner’s advisory for a zone, facility, load or stop, by reference: hazard, severity and validity. Never a coordinate or a polygon.",
  "x-truckertech-socket": {
    "socketCode": "weather.advisory",
    "schemaVersion": 1,
    "family": "weather",
    "interactionModes": [
      "read",
      "event"
    ],
    "factClasses": [
      "observed",
      "inferred"
    ],
    "nonPersistablePaths": []
  }
}

CanonSocket.wms.dock_activity.v1

object · A dock door activity (check-in, door assignment, loading, unloading, release) as a WMS reported it. A door is a reference, never a coordinate.

Members
MemberSchemaDescription
socketCode requiredconst "wms.dock_activity"
schemaVersion requiredconst 1
attribution requiredAttributionEnvelope
payload requiredobject
JSON Schema
{
  "type": "object",
  "properties": {
    "socketCode": {
      "type": "string",
      "const": "wms.dock_activity"
    },
    "schemaVersion": {
      "type": "number",
      "const": 1
    },
    "attribution": {
      "$ref": "#/components/schemas/AttributionEnvelope"
    },
    "payload": {
      "type": "object",
      "properties": {
        "activityRef": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        "providerActivityRef": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 200
            },
            {
              "type": "null"
            }
          ]
        },
        "facilityRef": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        "doorRef": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 200
            },
            {
              "type": "null"
            }
          ]
        },
        "appointmentRef": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 200
            },
            {
              "type": "null"
            }
          ]
        },
        "loadCoreRef": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 200
            },
            {
              "type": "null"
            }
          ]
        },
        "stopCoreRef": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 200
            },
            {
              "type": "null"
            }
          ]
        },
        "trailerRef": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 200
            },
            {
              "type": "null"
            }
          ]
        },
        "activity": {
          "type": "string",
          "enum": [
            "checked_in",
            "door_assigned",
            "at_door",
            "loading",
            "unloading",
            "completed",
            "released"
          ]
        },
        "status": {
          "$ref": "#/components/schemas/CanonStatus"
        },
        "activityObservedAt": {
          "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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
        },
        "palletCount": {
          "anyOf": [
            {
              "type": "integer",
              "minimum": 0,
              "maximum": 1000
            },
            {
              "type": "null"
            }
          ]
        },
        "weightKilograms": {
          "anyOf": [
            {
              "type": "number",
              "minimum": 0,
              "maximum": 100000
            },
            {
              "type": "null"
            }
          ]
        },
        "exceptionCode": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 64,
              "pattern": "^[a-z][a-z0-9_.-]*$"
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "activityRef",
        "providerActivityRef",
        "facilityRef",
        "doorRef",
        "appointmentRef",
        "loadCoreRef",
        "stopCoreRef",
        "trailerRef",
        "activity",
        "status",
        "activityObservedAt",
        "palletCount",
        "weightKilograms",
        "exceptionCode"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "socketCode",
    "schemaVersion",
    "attribution",
    "payload"
  ],
  "additionalProperties": false,
  "title": "WMS dock activity",
  "description": "A dock door activity (check-in, door assignment, loading, unloading, release) as a WMS reported it. A door is a reference, never a coordinate.",
  "x-truckertech-socket": {
    "socketCode": "wms.dock_activity",
    "schemaVersion": 1,
    "family": "wms_yms_dock",
    "interactionModes": [
      "read",
      "event"
    ],
    "factClasses": [
      "observed",
      "supplied"
    ],
    "nonPersistablePaths": []
  }
}

CanonSocket.yms.trailer_status.v1

object · Where a trailer sits in a facility yard (gate, yard slot or door) and whether it is loaded, as a YMS reported it. A slot is a reference, never a coordinate.

Members
MemberSchemaDescription
socketCode requiredconst "yms.trailer_status"
schemaVersion requiredconst 1
attribution requiredAttributionEnvelope
payload requiredobject
JSON Schema
{
  "type": "object",
  "properties": {
    "socketCode": {
      "type": "string",
      "const": "yms.trailer_status"
    },
    "schemaVersion": {
      "type": "number",
      "const": 1
    },
    "attribution": {
      "$ref": "#/components/schemas/AttributionEnvelope"
    },
    "payload": {
      "type": "object",
      "properties": {
        "trailerRef": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        "providerTrailerRef": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 200
            },
            {
              "type": "null"
            }
          ]
        },
        "facilityRef": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        "yardSlotRef": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 200
            },
            {
              "type": "null"
            }
          ]
        },
        "doorRef": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 200
            },
            {
              "type": "null"
            }
          ]
        },
        "carrierRoleOrganizationRef": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 200
            },
            {
              "type": "null"
            }
          ]
        },
        "loadCoreRef": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 200
            },
            {
              "type": "null"
            }
          ]
        },
        "yardState": {
          "type": "string",
          "enum": [
            "in_gate",
            "parked",
            "at_door",
            "out_gate"
          ]
        },
        "loadState": {
          "type": "string",
          "enum": [
            "empty",
            "partial",
            "loaded",
            "unknown"
          ]
        },
        "status": {
          "$ref": "#/components/schemas/CanonStatus"
        },
        "stateObservedAt": {
          "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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
        },
        "dwellMinutes": {
          "anyOf": [
            {
              "type": "integer",
              "minimum": 0,
              "maximum": 525600
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "trailerRef",
        "providerTrailerRef",
        "facilityRef",
        "yardSlotRef",
        "doorRef",
        "carrierRoleOrganizationRef",
        "loadCoreRef",
        "yardState",
        "loadState",
        "status",
        "stateObservedAt",
        "dwellMinutes"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "socketCode",
    "schemaVersion",
    "attribution",
    "payload"
  ],
  "additionalProperties": false,
  "title": "YMS trailer status",
  "description": "Where a trailer sits in a facility yard (gate, yard slot or door) and whether it is loaded, as a YMS reported it. A slot is a reference, never a coordinate.",
  "x-truckertech-socket": {
    "socketCode": "yms.trailer_status",
    "schemaVersion": 1,
    "family": "wms_yms_dock",
    "interactionModes": [
      "read",
      "event"
    ],
    "factClasses": [
      "observed",
      "supplied",
      "derived"
    ],
    "nonPersistablePaths": []
  }
}

CanonStatus

enum "accepted" | "received" | "in_review" | "action_required" | "approved" | "declined" | "scheduled" | "completed" | "cancelled" | "expired" | "unknown"

JSON Schema
{
  "type": "string",
  "enum": [
    "accepted",
    "received",
    "in_review",
    "action_required",
    "approved",
    "declined",
    "scheduled",
    "completed",
    "cancelled",
    "expired",
    "unknown"
  ],
  "x-truckertech-taxonomy-version": 1
}

FactClass

enum "observed" | "supplied" | "derived" | "inferred"

JSON Schema
{
  "type": "string",
  "enum": [
    "observed",
    "supplied",
    "derived",
    "inferred"
  ]
}

IngressOutcome

object

Members
MemberSchemaDescription
outcome requiredenum "accepted" | "refused" | "conflict" | "unavailable"
JSON Schema
{
  "type": "object",
  "properties": {
    "outcome": {
      "type": "string",
      "enum": [
        "accepted",
        "refused",
        "conflict",
        "unavailable"
      ]
    }
  },
  "required": [
    "outcome"
  ],
  "additionalProperties": false
}

PartnerWebhookEnvelope

object · One event a Partner delivers for one connection. payload is the Partner event; the connector normalizes it to a canonical socket.

Members
MemberSchemaDescription
envelopeVersion requiredconst 1
partnerId requiredstring
connectionReference requiredstring
eventId requiredstring
eventType requiredstring
idempotencyKey requiredstring
sequenceNumber requiredinteger
occurredAtMs requiredinteger
payload requiredany JSON value
JSON Schema
{
  "type": "object",
  "properties": {
    "envelopeVersion": {
      "type": "number",
      "const": 1
    },
    "partnerId": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "connectionReference": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "eventId": {
      "type": "string",
      "pattern": "^[\\x21-\\x7e]{1,200}$"
    },
    "eventType": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "idempotencyKey": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "sequenceNumber": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "occurredAtMs": {
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "payload": {}
  },
  "required": [
    "envelopeVersion",
    "partnerId",
    "connectionReference",
    "eventId",
    "eventType",
    "idempotencyKey",
    "sequenceNumber",
    "occurredAtMs",
    "payload"
  ],
  "additionalProperties": false,
  "description": "One event a Partner delivers for one connection. `payload` is the Partner event; the connector normalizes it to a canonical socket."
}

RemoteMessage

object · One tt-nexus-remote/1 message in canonical form (RFC 8785): the body, the protected header and the Ed25519 signature over both.

Members
MemberSchemaDescription
body requiredany JSON value
protected requiredRemoteProtectedHeader
signature requiredstring
JSON Schema
{
  "type": "object",
  "properties": {
    "body": {},
    "protected": {
      "$ref": "#/components/schemas/RemoteProtectedHeader"
    },
    "signature": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{86}$"
    }
  },
  "required": [
    "body",
    "protected",
    "signature"
  ],
  "additionalProperties": false,
  "description": "One `tt-nexus-remote/1` message in canonical form (RFC 8785): the body, the protected header and the Ed25519 signature over both."
}

RemoteProtectedHeader

object

Members
MemberSchemaDescription
alg requiredstring
aud requiredstring
bodySha256 requiredstring
iss requiredstring
kid requiredstring
manifestSha256 requiredstring
nonce requiredstring
op requiredenum "describe" | "authorize" | "read" | "command" | "events" | "normalize" | "health" | "reconcile"
protocol requiredstring
replyTo requiredstring | null
ts requiredinteger
typ requiredenum "request" | "response"
JSON Schema
{
  "type": "object",
  "properties": {
    "alg": {
      "type": "string",
      "minLength": 1,
      "maxLength": 32
    },
    "aud": {
      "type": "string",
      "maxLength": 96,
      "pattern": "^[a-z][a-z0-9]*(?:[.-][a-z0-9]+)*$"
    },
    "bodySha256": {
      "type": "string",
      "pattern": "^[a-f0-9]{64}$"
    },
    "iss": {
      "type": "string",
      "maxLength": 96,
      "pattern": "^[a-z][a-z0-9]*(?:[.-][a-z0-9]+)*$"
    },
    "kid": {
      "type": "string",
      "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]{0,63}$"
    },
    "manifestSha256": {
      "type": "string",
      "pattern": "^[a-f0-9]{64}$"
    },
    "nonce": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{22}$"
    },
    "op": {
      "type": "string",
      "enum": [
        "describe",
        "authorize",
        "read",
        "command",
        "events",
        "normalize",
        "health",
        "reconcile"
      ]
    },
    "protocol": {
      "type": "string",
      "minLength": 1,
      "maxLength": 64
    },
    "replyTo": {
      "anyOf": [
        {
          "type": "string",
          "pattern": "^[A-Za-z0-9_-]{22}$"
        },
        {
          "type": "null"
        }
      ]
    },
    "ts": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "typ": {
      "type": "string",
      "enum": [
        "request",
        "response"
      ]
    }
  },
  "required": [
    "alg",
    "aud",
    "bodySha256",
    "iss",
    "kid",
    "manifestSha256",
    "nonce",
    "op",
    "protocol",
    "replyTo",
    "ts",
    "typ"
  ],
  "additionalProperties": false
}

RemoteRequestBody.authorize

object

Members
MemberSchemaDescription
invocation requiredWireInvocation
request requiredobject
JSON Schema
{
  "type": "object",
  "properties": {
    "invocation": {
      "$ref": "#/components/schemas/WireInvocation"
    },
    "request": {
      "type": "object",
      "properties": {
        "scopes": {
          "maxItems": 32,
          "type": "array",
          "items": {
            "type": "string",
            "pattern": "^[a-z][a-z0-9_.:-]{0,95}$"
          }
        }
      },
      "required": [
        "scopes"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "invocation",
    "request"
  ],
  "additionalProperties": false
}

RemoteRequestBody.command

object

Members
MemberSchemaDescription
invocation requiredWireInvocation
request requiredobject
JSON Schema
{
  "type": "object",
  "properties": {
    "invocation": {
      "$ref": "#/components/schemas/WireInvocation"
    },
    "request": {
      "type": "object",
      "properties": {
        "operation": {
          "type": "string",
          "pattern": "^[a-z][a-z0-9_.]{0,63}$"
        },
        "idempotencyKey": {
          "type": "string",
          "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,199}$"
        },
        "expectedVersion": {
          "anyOf": [
            {
              "type": "string",
              "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,199}$"
            },
            {
              "type": "null"
            }
          ]
        },
        "parameters": {
          "$ref": "#/components/schemas/WireJsonObject"
        }
      },
      "required": [
        "operation",
        "idempotencyKey",
        "expectedVersion",
        "parameters"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "invocation",
    "request"
  ],
  "additionalProperties": false,
  "x-truckertech-status": {
    "state": "built-disabled",
    "rule": "External writes stay disabled until authority, idempotency, reconciliation, rollback and audit evidence pass."
  }
}

RemoteRequestBody.describe

object

JSON Schema
{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}

RemoteRequestBody.events

object

Members
MemberSchemaDescription
invocation requiredWireInvocation
request requiredobject
JSON Schema
{
  "type": "object",
  "properties": {
    "invocation": {
      "$ref": "#/components/schemas/WireInvocation"
    },
    "request": {
      "type": "object",
      "properties": {
        "mode": {
          "type": "string",
          "const": "poll"
        },
        "cursor": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 512
            },
            {
              "type": "null"
            }
          ]
        },
        "limit": {
          "type": "integer",
          "minimum": 1,
          "maximum": 500
        }
      },
      "required": [
        "mode",
        "cursor",
        "limit"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "invocation",
    "request"
  ],
  "additionalProperties": false
}

RemoteRequestBody.health

object

Members
MemberSchemaDescription
invocation requiredWireInvocation
JSON Schema
{
  "type": "object",
  "properties": {
    "invocation": {
      "$ref": "#/components/schemas/WireInvocation"
    }
  },
  "required": [
    "invocation"
  ],
  "additionalProperties": false
}

RemoteRequestBody.normalize

object

Members
MemberSchemaDescription
invocation requiredWireInvocation
request requiredobject
JSON Schema
{
  "type": "object",
  "properties": {
    "invocation": {
      "$ref": "#/components/schemas/WireInvocation"
    },
    "request": {
      "type": "object",
      "properties": {
        "source": {
          "type": "string",
          "enum": [
            "read",
            "event"
          ]
        },
        "operation": {
          "type": "string",
          "pattern": "^[a-z][a-z0-9_.]{0,63}$"
        },
        "payload": {
          "$ref": "#/components/schemas/WireJsonValue"
        }
      },
      "required": [
        "source",
        "operation",
        "payload"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "invocation",
    "request"
  ],
  "additionalProperties": false
}

RemoteRequestBody.read

object

Members
MemberSchemaDescription
invocation requiredWireInvocation
request requiredobject
JSON Schema
{
  "type": "object",
  "properties": {
    "invocation": {
      "$ref": "#/components/schemas/WireInvocation"
    },
    "request": {
      "type": "object",
      "properties": {
        "operation": {
          "type": "string",
          "pattern": "^[a-z][a-z0-9_.]{0,63}$"
        },
        "parameters": {
          "$ref": "#/components/schemas/WireJsonObject"
        }
      },
      "required": [
        "operation",
        "parameters"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "invocation",
    "request"
  ],
  "additionalProperties": false
}

RemoteRequestBody.reconcile

object

Members
MemberSchemaDescription
invocation requiredWireInvocation
request requiredobject
JSON Schema
{
  "type": "object",
  "properties": {
    "invocation": {
      "$ref": "#/components/schemas/WireInvocation"
    },
    "request": {
      "type": "object",
      "properties": {
        "operation": {
          "type": "string",
          "pattern": "^[a-z][a-z0-9_.]{0,63}$"
        },
        "idempotencyKey": {
          "type": "string",
          "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,199}$"
        },
        "expectedVersion": {
          "anyOf": [
            {
              "type": "string",
              "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,199}$"
            },
            {
              "type": "null"
            }
          ]
        },
        "intended": {
          "$ref": "#/components/schemas/WireJsonObject"
        }
      },
      "required": [
        "operation",
        "idempotencyKey",
        "expectedVersion",
        "intended"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "invocation",
    "request"
  ],
  "additionalProperties": false
}

RemoteResponseBody.authorize

object | object | object

JSON Schema
{
  "oneOf": [
    {
      "type": "object",
      "properties": {
        "outcome": {
          "type": "string",
          "const": "completed"
        },
        "value": {
          "type": "object",
          "properties": {
            "grantedScopes": {
              "maxItems": 32,
              "type": "array",
              "items": {
                "type": "string",
                "pattern": "^[a-z][a-z0-9_.:-]{0,95}$"
              }
            },
            "externalAccountReference": {
              "type": [
                "string",
                "null"
              ]
            },
            "expiresAt": {
              "type": [
                "string",
                "null"
              ]
            }
          },
          "required": [
            "grantedScopes",
            "externalAccountReference",
            "expiresAt"
          ],
          "additionalProperties": false
        }
      },
      "required": [
        "outcome",
        "value"
      ],
      "additionalProperties": false
    },
    {
      "type": "object",
      "properties": {
        "outcome": {
          "type": "string",
          "const": "faulted"
        },
        "fault": {
          "type": "string",
          "enum": [
            "timeout",
            "rate_limit",
            "transient_provider_failure",
            "permanent_provider_rejection",
            "provider_unavailable"
          ]
        },
        "retryAfterMs": {
          "anyOf": [
            {
              "type": "integer",
              "minimum": 0,
              "maximum": 86400000
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "outcome",
        "fault",
        "retryAfterMs"
      ],
      "additionalProperties": false
    },
    {
      "type": "object",
      "properties": {
        "outcome": {
          "type": "string",
          "const": "refused"
        },
        "reason": {
          "type": "string",
          "enum": [
            "invalid-input",
            "not-declared",
            "not-admitted",
            "suspended",
            "credential-unavailable",
            "unsupported",
            "deadline-exceeded",
            "nonconforming-output"
          ]
        }
      },
      "required": [
        "outcome",
        "reason"
      ],
      "additionalProperties": false
    }
  ]
}

RemoteResponseBody.command

object | object | object | object

JSON Schema
{
  "oneOf": [
    {
      "type": "object",
      "properties": {
        "outcome": {
          "type": "string",
          "const": "acknowledged"
        },
        "providerReference": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        "acknowledgedVersion": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 200
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "outcome",
        "providerReference",
        "acknowledgedVersion"
      ],
      "additionalProperties": false
    },
    {
      "type": "object",
      "properties": {
        "outcome": {
          "type": "string",
          "const": "rejected"
        },
        "rejection": {
          "type": "string",
          "enum": [
            "expected_version_mismatch",
            "invalid_command",
            "not_permitted",
            "idempotency_conflict"
          ]
        }
      },
      "required": [
        "outcome",
        "rejection"
      ],
      "additionalProperties": false
    },
    {
      "type": "object",
      "properties": {
        "outcome": {
          "type": "string",
          "const": "unknown"
        },
        "fault": {
          "type": "string",
          "enum": [
            "timeout",
            "rate_limit",
            "transient_provider_failure",
            "permanent_provider_rejection",
            "provider_unavailable"
          ]
        }
      },
      "required": [
        "outcome",
        "fault"
      ],
      "additionalProperties": false
    },
    {
      "type": "object",
      "properties": {
        "outcome": {
          "type": "string",
          "const": "refused"
        },
        "reason": {
          "type": "string",
          "enum": [
            "invalid-input",
            "not-declared",
            "not-admitted",
            "suspended",
            "credential-unavailable",
            "unsupported",
            "deadline-exceeded",
            "nonconforming-output"
          ]
        }
      },
      "required": [
        "outcome",
        "reason"
      ],
      "additionalProperties": false
    }
  ],
  "x-truckertech-status": {
    "state": "built-disabled",
    "rule": "External writes stay disabled until authority, idempotency, reconciliation, rollback and audit evidence pass."
  }
}

RemoteResponseBody.describe

object

Members
MemberSchemaDescription
portVersion requiredconst 1
adapterId requiredstring
adapterVersion requiredstring
manifest requiredAdapterManifest
JSON Schema
{
  "type": "object",
  "properties": {
    "portVersion": {
      "type": "number",
      "const": 1
    },
    "adapterId": {
      "type": "string",
      "minLength": 1,
      "maxLength": 96
    },
    "adapterVersion": {
      "type": "string",
      "minLength": 1,
      "maxLength": 64
    },
    "manifest": {
      "$ref": "#/components/schemas/AdapterManifest"
    }
  },
  "required": [
    "portVersion",
    "adapterId",
    "adapterVersion",
    "manifest"
  ],
  "additionalProperties": false
}

RemoteResponseBody.events

object | object | object

JSON Schema
{
  "oneOf": [
    {
      "type": "object",
      "properties": {
        "outcome": {
          "type": "string",
          "const": "completed"
        },
        "value": {
          "type": "object",
          "properties": {
            "events": {
              "maxItems": 500,
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "eventId": {
                    "type": "string"
                  },
                  "eventType": {
                    "type": "string",
                    "pattern": "^[a-z][a-z0-9_.]{0,63}$"
                  },
                  "occurredAt": {
                    "type": "string"
                  },
                  "sequence": {
                    "anyOf": [
                      {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 9007199254740991
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "payload": {
                    "$ref": "#/components/schemas/WireJsonValue"
                  }
                },
                "required": [
                  "eventId",
                  "eventType",
                  "occurredAt",
                  "sequence",
                  "payload"
                ],
                "additionalProperties": false
              }
            },
            "nextCursor": {
              "anyOf": [
                {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 512
                },
                {
                  "type": "null"
                }
              ]
            }
          },
          "required": [
            "events",
            "nextCursor"
          ],
          "additionalProperties": false
        }
      },
      "required": [
        "outcome",
        "value"
      ],
      "additionalProperties": false
    },
    {
      "type": "object",
      "properties": {
        "outcome": {
          "type": "string",
          "const": "faulted"
        },
        "fault": {
          "type": "string",
          "enum": [
            "timeout",
            "rate_limit",
            "transient_provider_failure",
            "permanent_provider_rejection",
            "provider_unavailable"
          ]
        },
        "retryAfterMs": {
          "anyOf": [
            {
              "type": "integer",
              "minimum": 0,
              "maximum": 86400000
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "outcome",
        "fault",
        "retryAfterMs"
      ],
      "additionalProperties": false
    },
    {
      "type": "object",
      "properties": {
        "outcome": {
          "type": "string",
          "const": "refused"
        },
        "reason": {
          "type": "string",
          "enum": [
            "invalid-input",
            "not-declared",
            "not-admitted",
            "suspended",
            "credential-unavailable",
            "unsupported",
            "deadline-exceeded",
            "nonconforming-output"
          ]
        }
      },
      "required": [
        "outcome",
        "reason"
      ],
      "additionalProperties": false
    }
  ]
}

RemoteResponseBody.health

object

Members
MemberSchemaDescription
state requiredenum "unknown" | "healthy" | "degraded" | "failed" | "revoked"
checkedAt requiredstring
latencyMs requiredinteger | null
JSON Schema
{
  "type": "object",
  "properties": {
    "state": {
      "type": "string",
      "enum": [
        "unknown",
        "healthy",
        "degraded",
        "failed",
        "revoked"
      ]
    },
    "checkedAt": {
      "type": "string"
    },
    "latencyMs": {
      "anyOf": [
        {
          "type": "integer",
          "minimum": 0,
          "maximum": 600000
        },
        {
          "type": "null"
        }
      ]
    }
  },
  "required": [
    "state",
    "checkedAt",
    "latencyMs"
  ],
  "additionalProperties": false
}

RemoteResponseBody.normalize

object | object | object

JSON Schema
{
  "oneOf": [
    {
      "type": "object",
      "properties": {
        "outcome": {
          "type": "string",
          "const": "completed"
        },
        "value": {
          "maxItems": 500,
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "socketCode": {
                "type": "string",
                "minLength": 1,
                "maxLength": 120
              },
              "schemaVersion": {
                "type": "integer",
                "minimum": 1,
                "maximum": 999
              },
              "factClass": {
                "type": "string",
                "enum": [
                  "observed",
                  "supplied",
                  "derived",
                  "inferred"
                ]
              },
              "subjectReference": {
                "type": "string"
              },
              "observedAt": {
                "type": "string"
              },
              "fields": {
                "$ref": "#/components/schemas/WireJsonObject"
              },
              "attribution": {
                "type": "object",
                "properties": {
                  "adapterId": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 96
                  },
                  "adapterVersion": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 64
                  },
                  "providerCode": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 64
                  },
                  "displayText": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 120
                  }
                },
                "required": [
                  "adapterId",
                  "adapterVersion",
                  "providerCode",
                  "displayText"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "socketCode",
              "schemaVersion",
              "factClass",
              "subjectReference",
              "observedAt",
              "fields",
              "attribution"
            ],
            "additionalProperties": false
          }
        }
      },
      "required": [
        "outcome",
        "value"
      ],
      "additionalProperties": false
    },
    {
      "type": "object",
      "properties": {
        "outcome": {
          "type": "string",
          "const": "faulted"
        },
        "fault": {
          "type": "string",
          "enum": [
            "timeout",
            "rate_limit",
            "transient_provider_failure",
            "permanent_provider_rejection",
            "provider_unavailable"
          ]
        },
        "retryAfterMs": {
          "anyOf": [
            {
              "type": "integer",
              "minimum": 0,
              "maximum": 86400000
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "outcome",
        "fault",
        "retryAfterMs"
      ],
      "additionalProperties": false
    },
    {
      "type": "object",
      "properties": {
        "outcome": {
          "type": "string",
          "const": "refused"
        },
        "reason": {
          "type": "string",
          "enum": [
            "invalid-input",
            "not-declared",
            "not-admitted",
            "suspended",
            "credential-unavailable",
            "unsupported",
            "deadline-exceeded",
            "nonconforming-output"
          ]
        }
      },
      "required": [
        "outcome",
        "reason"
      ],
      "additionalProperties": false
    }
  ]
}

RemoteResponseBody.read

object | object | object

JSON Schema
{
  "oneOf": [
    {
      "type": "object",
      "properties": {
        "outcome": {
          "type": "string",
          "const": "completed"
        },
        "value": {
          "type": "object",
          "properties": {
            "operation": {
              "type": "string",
              "pattern": "^[a-z][a-z0-9_.]{0,63}$"
            },
            "observedAt": {
              "type": [
                "string",
                "null"
              ]
            },
            "payload": {
              "$ref": "#/components/schemas/WireJsonValue"
            }
          },
          "required": [
            "operation",
            "observedAt",
            "payload"
          ],
          "additionalProperties": false
        }
      },
      "required": [
        "outcome",
        "value"
      ],
      "additionalProperties": false
    },
    {
      "type": "object",
      "properties": {
        "outcome": {
          "type": "string",
          "const": "faulted"
        },
        "fault": {
          "type": "string",
          "enum": [
            "timeout",
            "rate_limit",
            "transient_provider_failure",
            "permanent_provider_rejection",
            "provider_unavailable"
          ]
        },
        "retryAfterMs": {
          "anyOf": [
            {
              "type": "integer",
              "minimum": 0,
              "maximum": 86400000
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "outcome",
        "fault",
        "retryAfterMs"
      ],
      "additionalProperties": false
    },
    {
      "type": "object",
      "properties": {
        "outcome": {
          "type": "string",
          "const": "refused"
        },
        "reason": {
          "type": "string",
          "enum": [
            "invalid-input",
            "not-declared",
            "not-admitted",
            "suspended",
            "credential-unavailable",
            "unsupported",
            "deadline-exceeded",
            "nonconforming-output"
          ]
        }
      },
      "required": [
        "outcome",
        "reason"
      ],
      "additionalProperties": false
    }
  ]
}

RemoteResponseBody.reconcile

object | object | object

JSON Schema
{
  "oneOf": [
    {
      "type": "object",
      "properties": {
        "outcome": {
          "type": "string",
          "const": "completed"
        },
        "value": {
          "type": "object",
          "properties": {
            "state": {
              "type": "string",
              "enum": [
                "applied",
                "not_applied",
                "diverged"
              ]
            },
            "observedVersion": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,199}$"
                },
                {
                  "type": "null"
                }
              ]
            },
            "providerReference": {
              "type": [
                "string",
                "null"
              ]
            }
          },
          "required": [
            "state",
            "observedVersion",
            "providerReference"
          ],
          "additionalProperties": false
        }
      },
      "required": [
        "outcome",
        "value"
      ],
      "additionalProperties": false
    },
    {
      "type": "object",
      "properties": {
        "outcome": {
          "type": "string",
          "const": "faulted"
        },
        "fault": {
          "type": "string",
          "enum": [
            "timeout",
            "rate_limit",
            "transient_provider_failure",
            "permanent_provider_rejection",
            "provider_unavailable"
          ]
        },
        "retryAfterMs": {
          "anyOf": [
            {
              "type": "integer",
              "minimum": 0,
              "maximum": 86400000
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "outcome",
        "fault",
        "retryAfterMs"
      ],
      "additionalProperties": false
    },
    {
      "type": "object",
      "properties": {
        "outcome": {
          "type": "string",
          "const": "refused"
        },
        "reason": {
          "type": "string",
          "enum": [
            "invalid-input",
            "not-declared",
            "not-admitted",
            "suspended",
            "credential-unavailable",
            "unsupported",
            "deadline-exceeded",
            "nonconforming-output"
          ]
        }
      },
      "required": [
        "outcome",
        "reason"
      ],
      "additionalProperties": false
    }
  ]
}

WireInvocation

object

Members
MemberSchemaDescription
requestId requiredstring
correlationId requiredstring
connectionReference requiredstring
purposeCode requiredstring
externalAccountReference requiredstring | null
socketCode requiredstring
schemaVersion requiredinteger
deadlineAtMs requiredinteger
JSON Schema
{
  "type": "object",
  "properties": {
    "requestId": {
      "type": "string"
    },
    "correlationId": {
      "type": "string"
    },
    "connectionReference": {
      "type": "string"
    },
    "purposeCode": {
      "type": "string"
    },
    "externalAccountReference": {
      "type": [
        "string",
        "null"
      ]
    },
    "socketCode": {
      "type": "string",
      "minLength": 1,
      "maxLength": 120
    },
    "schemaVersion": {
      "type": "integer",
      "minimum": 1,
      "maximum": 999
    },
    "deadlineAtMs": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    }
  },
  "required": [
    "requestId",
    "correlationId",
    "connectionReference",
    "purposeCode",
    "externalAccountReference",
    "socketCode",
    "schemaVersion",
    "deadlineAtMs"
  ],
  "additionalProperties": false
}

WireJsonObject

object · Wire JSON: objects, arrays, strings, integers in the IEEE-754 safe range (never -0), true and false, and null. Strings are well-formed Unicode of at most 65536 characters; an object has at most 4096 members and an array at most 4096 items; nesting is at most 32 levels; no member is named __proto__, constructor or prototype at any depth.

JSON Schema
{
  "description": "Wire JSON: objects, arrays, strings, integers in the IEEE-754 safe range (never -0), true and false, and null. Strings are well-formed Unicode of at most 65536 characters; an object has at most 4096 members and an array at most 4096 items; nesting is at most 32 levels; no member is named __proto__, constructor or prototype at any depth.",
  "type": "object"
}

WireJsonValue

object | array | string | integer | boolean | null · Wire JSON: objects, arrays, strings, integers in the IEEE-754 safe range (never -0), true and false, and null. Strings are well-formed Unicode of at most 65536 characters; an object has at most 4096 members and an array at most 4096 items; nesting is at most 32 levels; no member is named __proto__, constructor or prototype at any depth.

JSON Schema
{
  "description": "Wire JSON: objects, arrays, strings, integers in the IEEE-754 safe range (never -0), true and false, and null. Strings are well-formed Unicode of at most 65536 characters; an object has at most 4096 members and an array at most 4096 items; nesting is at most 32 levels; no member is named __proto__, constructor or prototype at any depth.",
  "type": [
    "object",
    "array",
    "string",
    "integer",
    "boolean",
    "null"
  ]
}

Integration.CoreDocumentList

object

Members
MemberSchemaDescription
items requiredarray of object
next_after requiredstring | null
JSON Schema
{
  "type": "object",
  "properties": {
    "items": {
      "maxItems": 100,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "document_id": {
            "type": "string",
            "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
            "description": "A TruckerTech id (a UUID)."
          },
          "document_class": {
            "type": "string"
          },
          "file_name": {
            "type": "string"
          },
          "content_type": {
            "type": "string"
          },
          "byte_size": {
            "type": "integer",
            "minimum": -9007199254740991,
            "maximum": 9007199254740991
          },
          "recorded_at": {
            "type": "string",
            "description": "An ISO 8601 timestamp."
          },
          "visibility": {
            "type": "string",
            "enum": [
              "core_participants",
              "organization_private",
              "agreement_pair"
            ]
          }
        },
        "required": [
          "document_id",
          "document_class",
          "file_name",
          "content_type",
          "byte_size",
          "recorded_at",
          "visibility"
        ],
        "additionalProperties": false
      }
    },
    "next_after": {
      "anyOf": [
        {
          "type": "string",
          "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
          "description": "A TruckerTech id (a UUID)."
        },
        {
          "type": "null"
        }
      ]
    }
  },
  "required": [
    "items",
    "next_after"
  ],
  "additionalProperties": false
}

Integration.CoreItem

object

Members
MemberSchemaDescription
items requiredarray of object
JSON Schema
{
  "type": "object",
  "properties": {
    "items": {
      "minItems": 1,
      "maxItems": 1,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "core_id": {
            "type": "string",
            "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
            "description": "A TruckerTech id (a UUID)."
          },
          "status": {
            "type": "string"
          },
          "mode": {
            "type": [
              "string",
              "null"
            ]
          },
          "planned_start_at": {
            "anyOf": [
              {
                "type": "string",
                "description": "An ISO 8601 timestamp."
              },
              {
                "type": "null"
              }
            ]
          },
          "planned_end_at": {
            "anyOf": [
              {
                "type": "string",
                "description": "An ISO 8601 timestamp."
              },
              {
                "type": "null"
              }
            ]
          },
          "created_by_organization": {
            "type": [
              "string",
              "null"
            ]
          },
          "participating_organizations": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "stops": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "sequence": {
                  "type": "integer",
                  "minimum": -9007199254740991,
                  "maximum": 9007199254740991
                },
                "type": {
                  "type": "string"
                },
                "city": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "region": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "planned_from": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "An ISO 8601 timestamp."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "planned_to": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "An ISO 8601 timestamp."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "arrived_at": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "An ISO 8601 timestamp."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "departed_at": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "An ISO 8601 timestamp."
                    },
                    {
                      "type": "null"
                    }
                  ]
                }
              },
              "required": [
                "sequence",
                "type",
                "city",
                "region",
                "planned_from",
                "planned_to",
                "arrived_at",
                "departed_at"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "core_id",
          "status",
          "mode",
          "planned_start_at",
          "planned_end_at",
          "created_by_organization",
          "participating_organizations",
          "stops"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "items"
  ],
  "additionalProperties": false
}

Integration.CoreList

object

Members
MemberSchemaDescription
items requiredarray of object
next_after requiredstring | null
JSON Schema
{
  "type": "object",
  "properties": {
    "items": {
      "maxItems": 100,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "core_id": {
            "type": "string",
            "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
            "description": "A TruckerTech id (a UUID)."
          },
          "status": {
            "type": "string"
          },
          "mode": {
            "type": [
              "string",
              "null"
            ]
          },
          "planned_start_at": {
            "anyOf": [
              {
                "type": "string",
                "description": "An ISO 8601 timestamp."
              },
              {
                "type": "null"
              }
            ]
          },
          "planned_end_at": {
            "anyOf": [
              {
                "type": "string",
                "description": "An ISO 8601 timestamp."
              },
              {
                "type": "null"
              }
            ]
          },
          "created_by_organization": {
            "type": [
              "string",
              "null"
            ]
          },
          "participating_organizations": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "stops": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "sequence": {
                  "type": "integer",
                  "minimum": -9007199254740991,
                  "maximum": 9007199254740991
                },
                "type": {
                  "type": "string"
                },
                "city": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "region": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "planned_from": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "An ISO 8601 timestamp."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "planned_to": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "An ISO 8601 timestamp."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "arrived_at": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "An ISO 8601 timestamp."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "departed_at": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "An ISO 8601 timestamp."
                    },
                    {
                      "type": "null"
                    }
                  ]
                }
              },
              "required": [
                "sequence",
                "type",
                "city",
                "region",
                "planned_from",
                "planned_to",
                "arrived_at",
                "departed_at"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "core_id",
          "status",
          "mode",
          "planned_start_at",
          "planned_end_at",
          "created_by_organization",
          "participating_organizations",
          "stops"
        ],
        "additionalProperties": false
      }
    },
    "next_after": {
      "anyOf": [
        {
          "type": "string",
          "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
          "description": "A TruckerTech id (a UUID)."
        },
        {
          "type": "null"
        }
      ]
    }
  },
  "required": [
    "items",
    "next_after"
  ],
  "additionalProperties": false
}

Integration.Error

object

Members
MemberSchemaDescription
error requiredobject
JSON Schema
{
  "type": "object",
  "properties": {
    "error": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "unauthorized",
            "invalid_request",
            "invalid_credential",
            "credential_environment_mismatch",
            "credential_not_permitted",
            "forbidden_origin",
            "suspended",
            "owner_inactive",
            "insufficient_scope",
            "not_found",
            "rate_limited",
            "unavailable"
          ]
        }
      },
      "required": [
        "code"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "error"
  ],
  "additionalProperties": false
}

Integration.TokenResponse

object

Members
MemberSchemaDescription
access_token requiredstringtt_<live|sbx>_at_…; ten minutes.
token_type requiredconst "Bearer"
expires_in requiredinteger
scope requiredstring
JSON Schema
{
  "type": "object",
  "properties": {
    "access_token": {
      "type": "string",
      "description": "tt_<live|sbx>_at_…; ten minutes."
    },
    "token_type": {
      "type": "string",
      "const": "Bearer"
    },
    "expires_in": {
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "scope": {
      "type": "string"
    }
  },
  "required": [
    "access_token",
    "token_type",
    "expires_in",
    "scope"
  ],
  "additionalProperties": false
}

Integration.Whoami

object

Members
MemberSchemaDescription
principal requiredconst "integration"
client_id requiredstringA TruckerTech id (a UUID).
client_name requiredstring
organization_id requiredstringA TruckerTech id (a UUID).
organization_name requiredstring
environment requiredenum "live" | "sbx"
credential requiredenum "api_key" | "access_token"
scopes requiredarray of enum "career.postings:read" | "career.postings:write" | "ops.cores:read"
JSON Schema
{
  "type": "object",
  "properties": {
    "principal": {
      "type": "string",
      "const": "integration"
    },
    "client_id": {
      "type": "string",
      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
      "description": "A TruckerTech id (a UUID)."
    },
    "client_name": {
      "type": "string"
    },
    "organization_id": {
      "type": "string",
      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
      "description": "A TruckerTech id (a UUID)."
    },
    "organization_name": {
      "type": "string"
    },
    "environment": {
      "type": "string",
      "enum": [
        "live",
        "sbx"
      ]
    },
    "credential": {
      "type": "string",
      "enum": [
        "api_key",
        "access_token"
      ]
    },
    "scopes": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "career.postings:read",
          "career.postings:write",
          "ops.cores:read"
        ]
      }
    }
  },
  "required": [
    "principal",
    "client_id",
    "client_name",
    "organization_id",
    "organization_name",
    "environment",
    "credential",
    "scopes"
  ],
  "additionalProperties": false
}