{
  "info": {
    "name": "TruckerTech Nexus",
    "description": "Partner event delivery to TruckerTech Nexus, the remote connector protocol, and the canonical socket schemas a connector normalizes to. Every schema is generated from the code that enforces it. Generated from the OpenAPI document (1.1.0). Every variable starts empty: set baseUrl and the credentials your connection is issued.",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
  },
  "item": [
    {
      "name": "Ingress",
      "description": "Signed event delivery from a Partner to TruckerTech Nexus.",
      "item": [
        {
          "name": "Deliver one signed Partner event",
          "request": {
            "method": "POST",
            "description": "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`.",
            "header": [
              {
                "key": "x-tt-nexus-signature",
                "value": "{{x-tt-nexus-signature}}",
                "description": "`hmac-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."
              },
              {
                "key": "Content-Type",
                "value": "application/json",
                "description": ""
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/api/nexus/events/:connection",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "nexus",
                "events",
                ":connection"
              ],
              "variable": [
                {
                  "key": "connection",
                  "value": "{{connection}}",
                  "description": "The connection (account binding) id the delivery is for."
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"envelopeVersion\": 1,\n  \"partnerId\": \"<string>\",\n  \"connectionReference\": \"<string>\",\n  \"eventId\": \"<string>\",\n  \"eventType\": \"<string>\",\n  \"idempotencyKey\": \"<string>\",\n  \"sequenceNumber\": 0,\n  \"occurredAtMs\": 0,\n  \"payload\": {}\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": []
        }
      ]
    },
    {
      "name": "Integration API",
      "description": "The integration principal: who a credential is, and how a client exchanges its signed assertion for an access token.",
      "item": [
        {
          "name": "The integration principal of this credential",
          "request": {
            "method": "GET",
            "description": "Returns the client, its organization, the environment, the credential kind and the effective scopes.",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/api/v1/integration/whoami",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "v1",
                "integration",
                "whoami"
              ],
              "variable": []
            }
          },
          "response": []
        },
        {
          "name": "The Cores your organization created or participates in",
          "request": {
            "method": "GET",
            "description": "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.",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/api/v1/integration/cores",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "v1",
                "integration",
                "cores"
              ],
              "variable": []
            }
          },
          "response": []
        },
        {
          "name": "One Core your organization created or participates in",
          "request": {
            "method": "GET",
            "description": "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`.",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/api/v1/integration/cores/:coreId",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "v1",
                "integration",
                "cores",
                ":coreId"
              ],
              "variable": [
                {
                  "key": "coreId",
                  "value": "{{coreId}}",
                  "description": "The Core id (`core_id`)."
                }
              ]
            }
          },
          "response": []
        },
        {
          "name": "The documents of a Core, as metadata",
          "request": {
            "method": "GET",
            "description": "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.",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/api/v1/integration/cores/:coreId/documents",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "v1",
                "integration",
                "cores",
                ":coreId",
                "documents"
              ],
              "variable": [
                {
                  "key": "coreId",
                  "value": "{{coreId}}",
                  "description": "The Core id (`core_id`)."
                }
              ]
            }
          },
          "response": []
        },
        {
          "name": "Client credentials with private_key_jwt",
          "request": {
            "method": "POST",
            "description": "Issues a ten-minute access token for the client the signed assertion names. No client secret exists; a request presenting one is refused.",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/x-www-form-urlencoded",
                "description": ""
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/oauth/token",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "oauth",
                "token"
              ],
              "variable": []
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"grant_type\": \"client_credentials\",\n  \"client_assertion_type\": \"urn:ietf:params:oauth:client-assertion-type:jwt-bearer\",\n  \"client_assertion\": \"<string>\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": []
        }
      ]
    }
  ],
  "variable": [
    {
      "key": "baseUrl",
      "value": "",
      "description": "The TruckerTech host your connection is issued for. Sandbox access: request access on the TruckerTech developer site."
    },
    {
      "key": "connection",
      "value": "",
      "description": "The connection (account binding) id the delivery is for."
    },
    {
      "key": "x-tt-nexus-signature",
      "value": "",
      "description": "`hmac-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."
    },
    {
      "key": "coreId",
      "value": "",
      "description": "The Core id (`core_id`)."
    }
  ]
}
