{
  "opencollection": "1.0.0",
  "info": {
    "name": "Wove External Authentication TMS Organizations API",
    "version": "1.0.0"
  },
  "request": {
    "auth": {
      "type": "bearer",
      "token": "{{bearerToken}}"
    }
  },
  "items": [
    {
      "info": {
        "name": "TMS Organizations",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "List TMS organizations",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.wove.com/api/v1/external/tms/organizations",
            "params": [
              {
                "name": "page",
                "value": "",
                "type": "query",
                "description": "Page number"
              },
              {
                "name": "limit",
                "value": "",
                "type": "query",
                "description": "Items per page"
              },
              {
                "name": "source",
                "value": "",
                "type": "query",
                "description": "Filter by TMS source"
              },
              {
                "name": "type",
                "value": "",
                "type": "query",
                "description": "Filter by organization type (e.g. consignee, shipper, carrier)"
              },
              {
                "name": "active",
                "value": "",
                "type": "query",
                "description": "Filter by active status"
              },
              {
                "name": "search",
                "value": "",
                "type": "query",
                "description": "Search by name, code, city, state, country, or email"
              }
            ],
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Retrieve a paginated list of TMS organizations for your customer."
        },
        {
          "info": {
            "name": "Create a TMS organization",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.wove.com/api/v1/external/tms/organizations",
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Create a new TMS organization. The combination of (source, code) must be unique."
        },
        {
          "info": {
            "name": "Get a TMS organization",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.wove.com/api/v1/external/tms/organizations/:organizationId",
            "params": [
              {
                "name": "organizationId",
                "value": "",
                "type": "path"
              }
            ],
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Retrieve a specific TMS organization by ID."
        },
        {
          "info": {
            "name": "Update a TMS organization",
            "type": "http"
          },
          "http": {
            "method": "PUT",
            "url": "https://api.wove.com/api/v1/external/tms/organizations/:organizationId",
            "params": [
              {
                "name": "organizationId",
                "value": "",
                "type": "path"
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Update an existing TMS organization. Only provided fields are updated."
        },
        {
          "info": {
            "name": "Delete a TMS organization",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "https://api.wove.com/api/v1/external/tms/organizations/:organizationId",
            "params": [
              {
                "name": "organizationId",
                "value": "",
                "type": "path"
              }
            ],
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Delete a TMS organization by ID."
        },
        {
          "info": {
            "name": "Import organizations from JSONL file",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.wove.com/api/v1/external/tms/organizations/import",
            "params": [
              {
                "name": "source",
                "value": "",
                "type": "query",
                "description": "TMS source for the imported organizations"
              },
              {
                "name": "mode",
                "value": "",
                "type": "query",
                "description": "Import mode: `merge` (upsert), `skip` (skip existing), `replace` (delete all then insert)\n"
              }
            ],
            "body": {
              "type": "multipart-form",
              "data": [
                {
                  "name": "file",
                  "type": "text",
                  "value": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Upload a JSONL file to bulk import TMS organizations. Each line must be a JSON object\nwith at least `code` and `name` fields. Processing is asynchronous — returns a job ID\nthat can be polled for status. A `bulk_upload.completed` or `bulk_upload.failed` webhook\nis fired when the job finishes, including row-level stats (totalRows, successfulRows, failedRows).\n"
        },
        {
          "info": {
            "name": "Get import job status",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.wove.com/api/v1/external/tms/organizations/import/:jobId",
            "params": [
              {
                "name": "jobId",
                "value": "",
                "type": "path"
              }
            ],
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Check the status and progress of an organization import job."
        }
      ]
    }
  ],
  "bundled": true
}