{
  "info": {
    "_postman_id": "solia-direct-partner-api",
    "name": "Solia Partner API v1",
    "description": "Generated from the canonical Solia Partner OpenAPI document (https://docs.soliadirect.com/api-reference/openapi). Do not edit by hand. Set base_url to the Partner API base URL shown in your Control Plane and api_key to a Sandbox key.",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
  },
  "auth": {
    "type": "bearer",
    "bearer": [
      {
        "key": "token",
        "value": "{{api_key}}",
        "type": "string"
      }
    ]
  },
  "variable": [
    {
      "key": "base_url",
      "value": ""
    },
    {
      "key": "api_key",
      "value": ""
    },
    {
      "key": "idempotency_key",
      "value": ""
    }
  ],
  "item": [
    {
      "name": "Health",
      "item": [
        {
          "name": "Verify credentials and environment",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/health",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "health"
              ]
            }
          }
        }
      ]
    },
    {
      "name": "Laboratory",
      "item": [
        {
          "name": "Retrieve the laboratory capability profile",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/lab",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "lab"
              ]
            },
            "description": "Canonical, non-secret capability truth for the laboratory this key belongs to. Certification identifiers (CLIA, CAP) are not modeled in Solia today and are therefore reported as `not_modeled` rather than claimed, and the identity state is a laboratory self-declaration, never a verification."
          }
        }
      ]
    },
    {
      "name": "Locations",
      "item": [
        {
          "name": "List externally serviceable collection locations",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/locations",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "locations"
              ]
            },
            "description": "Only active locations in the service geography of the active programs this key is granted, in the current environment. Street address, telephone and internal operational detail are never returned."
          }
        }
      ]
    },
    {
      "name": "Programs",
      "item": [
        {
          "name": "List programs this key may order from",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/programs",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "programs"
              ]
            }
          }
        },
        {
          "name": "Retrieve one program",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/programs/:programId",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "programs",
                ":programId"
              ],
              "variable": [
                {
                  "key": "programId",
                  "value": "",
                  "description": "Program identifier."
                }
              ]
            }
          }
        },
        {
          "name": "List orderable tests in a program",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/programs/:programId/catalog",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "programs",
                ":programId",
                "catalog"
              ],
              "variable": [
                {
                  "key": "programId",
                  "value": "",
                  "description": "Program identifier."
                }
              ]
            }
          }
        },
        {
          "name": "Discover what an order must carry",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/programs/:programId/requirements",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "programs",
                ":programId",
                "requirements"
              ],
              "query": [
                {
                  "key": "item_id",
                  "value": "",
                  "disabled": true
                },
                {
                  "key": "region",
                  "value": "",
                  "disabled": true
                }
              ],
              "variable": [
                {
                  "key": "programId",
                  "value": "",
                  "description": "Program identifier."
                }
              ]
            },
            "description": "Reports the laboratory's governed ordering requirements. A facet the laboratory has not configured is reported as `not_configured` and requires nothing."
          }
        }
      ]
    },
    {
      "name": "Serviceability",
      "item": [
        {
          "name": "Check whether a location and test can be fulfilled",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/serviceability",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "serviceability"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"program_id\": \"…\",\n  \"item_id\": \"…\",\n  \"region\": \"CA\",\n  \"collection\": \"Mobile\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        }
      ]
    },
    {
      "name": "Subjects",
      "item": [
        {
          "name": "Register or update your opaque subject reference",
          "request": {
            "method": "PUT",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/subjects/:externalSubjectId",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "subjects",
                ":externalSubjectId"
              ],
              "variable": [
                {
                  "key": "externalSubjectId",
                  "value": ""
                }
              ]
            },
            "description": "Send only your own opaque identifier. Do not send names, dates of birth or clinical detail."
          }
        }
      ]
    },
    {
      "name": "Orders",
      "item": [
        {
          "name": "Create an order",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Idempotency-Key",
                "value": "{{idempotency_key}}"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/orders",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "orders"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"external_order_id\": \"string\",\n  \"program_id\": \"00000000-0000-0000-0000-000000000000\",\n  \"item_id\": \"00000000-0000-0000-0000-000000000000\",\n  \"external_subject_id\": \"string\",\n  \"collection\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "Send `Idempotency-Key`; a repeat with the same key returns the same order."
          }
        },
        {
          "name": "Retrieve order status",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/orders/:orderId",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "orders",
                ":orderId"
              ],
              "variable": [
                {
                  "key": "orderId",
                  "value": "",
                  "description": "Order identifier."
                }
              ]
            }
          }
        },
        {
          "name": "Cancel an order while cancellation is still possible",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/orders/:orderId/cancel",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "orders",
                ":orderId",
                "cancel"
              ],
              "variable": [
                {
                  "key": "orderId",
                  "value": "",
                  "description": "Order identifier."
                }
              ]
            }
          }
        },
        {
          "name": "Read canonical specimen, sample and result exceptions",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/orders/:orderId/exceptions",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "orders",
                ":orderId",
                "exceptions"
              ],
              "variable": [
                {
                  "key": "orderId",
                  "value": "",
                  "description": "Order identifier."
                }
              ]
            },
            "description": "Normalized through the same canonical operational-exception architecture the laboratory operations surface uses — there is no second exception model. Structural fields only: operator notes, evidence and resolution text are never returned, and a laboratory-native vendor code is never guessed."
          }
        }
      ]
    },
    {
      "name": "Results",
      "item": [
        {
          "name": "Retrieve released structured results",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/orders/:orderId/results",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "orders",
                ":orderId",
                "results"
              ],
              "variable": [
                {
                  "key": "orderId",
                  "value": "",
                  "description": "Order identifier."
                }
              ]
            },
            "description": "Released results only. An unreleased or in-progress result version is reported as pending and is never returned, whatever its internal status. Versions are append-only: a partial version stays retrievable after the final version is released, and a corrected or amended version supersedes rather than replaces the version before it. `version_lineage` states the current authoritative version and every superseded version. Observation values, units and reference intervals are exactly as the laboratory supplied them; LOINC is reported as `not_modeled` because Core holds no observation-level LOINC authority, and no code is ever derived."
          }
        },
        {
          "name": "Retrieve one released result version in full",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/orders/:orderId/results/:resultId",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "orders",
                ":orderId",
                "results",
                ":resultId"
              ],
              "variable": [
                {
                  "key": "orderId",
                  "value": "",
                  "description": "Order identifier."
                },
                {
                  "key": "resultId",
                  "value": "",
                  "description": "Released result version identifier."
                }
              ]
            },
            "description": "The same released-only boundary as the collection endpoint. An unreleased version is reported as not found rather than acknowledged."
          }
        },
        {
          "name": "Retrieve the governed laboratory report for a released result",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/orders/:orderId/results/:resultId/report",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "orders",
                ":orderId",
                "results",
                ":resultId",
                "report"
              ],
              "variable": [
                {
                  "key": "orderId",
                  "value": "",
                  "description": "Order identifier."
                },
                {
                  "key": "resultId",
                  "value": "",
                  "description": "Released result version identifier."
                }
              ]
            },
            "description": "Authorization is identical to the result itself: the same key, client, Program, environment, order and released version. Retrieval is always server-authorized per request — there is no permanent public link, no signed document URL, and no document URL is ever placed in a webhook delivery or a log. When no canonical laboratory report document exists the response is an explicit refusal carrying `report_not_modeled`; a report is never fabricated."
          }
        }
      ]
    },
    {
      "name": "Events",
      "item": [
        {
          "name": "Read the event stream for reconciliation",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/events",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "events"
              ],
              "query": [
                {
                  "key": "cursor",
                  "value": "",
                  "disabled": true
                },
                {
                  "key": "limit",
                  "value": "",
                  "disabled": true
                }
              ]
            }
          }
        }
      ]
    },
    {
      "name": "Sandbox",
      "item": [
        {
          "name": "List synthetic order-request fixtures",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/sandbox/order-fixtures",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "sandbox",
                "order-fixtures"
              ]
            },
            "description": "Clearly synthetic request templates for the minimal, provider, patient and ask-at-order-entry contracts. Never real data."
          }
        },
        {
          "name": "List deterministic sandbox scenarios",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/sandbox/scenarios",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "sandbox",
                "scenarios"
              ]
            }
          }
        },
        {
          "name": "Advance a synthetic sandbox order through a scenario",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/sandbox/orders/:orderId/simulate",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "sandbox",
                "orders",
                ":orderId",
                "simulate"
              ],
              "variable": [
                {
                  "key": "orderId",
                  "value": "",
                  "description": "Sandbox order identifier."
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"scenario\": \"happy_path\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "Sandbox only. A production key or a non-synthetic order is refused."
          }
        }
      ]
    }
  ]
}
