API ReferenceapiclinicalPOST /v1/physicians

POST /v1/physicians

Service: clinical · operationId: (none)

Register a CLEP-permitted physician with Junction and persist the row. Unlocks ordering for the Big-4 reference labs in the physician’s licensed state.

Required scopes

(no scope declared — review service config)

Request body

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "minLength": 1
    },
    "email": {
      "type": "string",
      "format": "email"
    },
    "npi": {
      "type": "string",
      "pattern": "^\\d{10}$"
    },
    "license_state": {
      "type": "string",
      "minLength": 2,
      "maxLength": 2
    },
    "state_license": {
      "type": "string",
      "minLength": 1
    },
    "clep_permit_number": {
      "type": "string",
      "minLength": 1
    }
  },
  "required": [
    "name",
    "email",
    "npi",
    "license_state",
    "state_license"
  ]
}

Responses

201 Physician registered

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid"
    },
    "name": {
      "type": "string"
    },
    "email": {
      "type": "string"
    },
    "npi": {
      "type": "string"
    },
    "license_state": {
      "type": "string"
    },
    "state_license": {
      "type": "string"
    },
    "clep_permit_number": {
      "type": [
        "string",
        "null"
      ]
    },
    "junction_physician_id": {
      "type": [
        "string",
        "null"
      ]
    },
    "status": {
      "type": "string",
      "enum": [
        "active",
        "inactive",
        "pending"
      ]
    },
    "created_at": {
      "type": "string"
    }
  },
  "required": [
    "id",
    "name",
    "email",
    "npi",
    "license_state",
    "state_license",
    "clep_permit_number",
    "junction_physician_id",
    "status",
    "created_at"
  ]
}

400 Validation error

{
  "type": "object",
  "properties": {
    "error": {
      "type": "string"
    },
    "message": {
      "type": "string"
    }
  },
  "required": [
    "error",
    "message"
  ]
}

409 Physician already exists for this NPI / state

{
  "type": "object",
  "properties": {
    "error": {
      "type": "string"
    },
    "message": {
      "type": "string"
    }
  },
  "required": [
    "error",
    "message"
  ]
}

502 Junction API error

{
  "type": "object",
  "properties": {
    "error": {
      "type": "string"
    },
    "message": {
      "type": "string"
    }
  },
  "required": [
    "error",
    "message"
  ]
}

Example

curl -X POST https://clinical.platform.loop.health/v1/physicians \
  -H "Authorization: Bearer $ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ ... }'