Skip to content
Last updated

API Reference

Complete reference documentation for all NovaMed Partner API endpoints.

Base URLs

EnvironmentURL
Developmenthttps://novamed-feapidev.nimbushealthcaretest.com
Productionhttps://feapi.novamed.care

Authentication

All API requests require an API key in the x-api-key header:

curl https://novamed-feapidev.nimbushealthcaretest.com/api/external/practitioner \
  -H "x-api-key: your-api-key-here" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json"

Required Headers

HeaderValueRequired
x-api-keyYour API keyYes
Content-Typeapplication/jsonYes
Acceptapplication/jsonYes

Practitioners

Manage practitioners (doctors, veterinarians) in the NovaMed platform.

MethodEndpointDescription
POST/api/external/practitionerCreate a new practitioner

Create Practitioner

curl -X POST https://novamed-feapidev.nimbushealthcaretest.com/api/external/practitioner \
  -H "x-api-key: your-api-key-here" \
  -H "Content-Type: application/json" \
  -d '{
    "first_name": "John",
    "last_name": "Doe",
    "email": "john.doe@example.com",
    "npi": "1234567890",
    "is_veterinarian": true,
    "assigned_clinic": "550e8400-e29b-41d4-a716-446655440001",
    "phone": "1234567890",
    "address_line_1": "123 Main St",
    "address_line_2": "Apt 1",
    "city": "San Antonio",
    "state_code": "TX",
    "zip_code": "78201"
  }'

View full Practitioner documentation →


Patients

Register and manage patients in the NovaMed platform.

MethodEndpointDescription
POST/api/external/patientCreate a new patient

Create Patient

curl -X POST https://novamed-feapidev.nimbushealthcaretest.com/api/external/patient \
  -H "x-api-key: your-api-key-here" \
  -H "Content-Type: application/json" \
  -d '{
    "first_name": "John",
    "middle_name": "Michael",
    "last_name": "Doe",
    "gender": "male",
    "dob": "1985-03-15",
    "species": "human",
    "status": "active",
    "practitioner_id": "550e8400-e29b-41d4-a716-446655440001",
    "assigned_clinic": "550e8400-e29b-41d4-a716-446655440002",
    "contacts": [
      { "key": "email", "value": "john.doe@example.com" },
      { "key": "phone", "value": "5551234567" }
    ],
    "addresses": [
      {
        "addressLine1": "123 Main Street",
        "addressLine2": "Apt 4B",
        "city": "New York",
        "state": "NY",
        "postalCode": "10001"
      }
    ]
  }'

View full Patient documentation →


Medication Requests

Create medication orders for patients.

MethodEndpointDescription
POST/api/external/medication-orderCreate a new medication request

Create Medication Request

curl -X POST https://novamed-feapidev.nimbushealthcaretest.com/api/external/medication-order \
  -H "x-api-key: your-api-key-here" \
  -H "Content-Type: application/json" \
  -d '{
    "patient_id": "550e8400-e29b-41d4-a716-446655440001",
    "practitioner_id": "550e8400-e29b-41d4-a716-446655440002",
    "clinic_id": "550e8400-e29b-41d4-a716-446655440003",
    "carrier_id": "se-3818360",
    "service_id": "fedex_ground",
    "is_refrigerated": true,
    "medication_requests": [
      {
        "medication": "Testosterone Cypionate",
        "dose": "200mg/ml",
        "unit_of_measure": "mg",
        "quantity": 1,
        "refills": "3",
        "direction": "Inject 0.5ml (100mg) intramuscularly twice weekly",
        "days_supply": 30
      }
    ]
  }'

View full Medication Request documentation →


Refills

Request prescription refills for existing medication orders.

MethodEndpointDescription
POST/api/external/refill-requestRequest a prescription refill

Create Refill Request

curl -X POST https://novamed-feapidev.nimbushealthcaretest.com/api/external/refill-request \
  -H "x-api-key: your-api-key-here" \
  -H "Content-Type: application/json" \
  -d '{
    "clinic_id": "550e8400-e29b-41d4-a716-446655440000",
    "medication_request_id": "990e8400-e29b-41d4-a716-446655440004",
    "shipping_address": {
      "line1": "123 Main Street",
      "city": "San Francisco",
      "state": "CA",
      "zip": "94102",
      "country": "US"
    },
    "shipment_service_code": "usps_priority",
    "payment_method_id": "pm_card_visa_1234"
  }'

View full Refill documentation →


Carriers

Retrieve available shipment carriers and their services.

MethodEndpointDescription
GET/api/external/carriersGet list of available carriers
GET/api/external/carriers/{carrierId}/servicesGet carrier services for a patient

Get Carriers

curl -X GET https://novamed-feapidev.nimbushealthcaretest.com/api/external/carriers \
  -H "x-api-key: your-api-key-here" \
  -H "Accept: application/json"

Response:

{
  "success": true,
  "data": {
    "carriers": [
      {
        "id": "ameriship",
        "name": "Ameriship"
      },
      {
        "id": "se-3818360",
        "name": "FedEx"
      },
      {
        "id": "se-11225",
        "name": "Stamps.com"
      },
      {
        "id": "se-11226",
        "name": "UPS"
      }
    ]
  }
}

Get Carrier Services

Get available shipping services for a specific carrier based on the patient's location.

curl -X GET "https://novamed-feapidev.nimbushealthcaretest.com/api/external/carriers/se-3818360/services?patientId=01aabf3a-51cd-4180-be17-8ac9446e9ace" \
  -H "x-api-key: your-api-key-here" \
  -H "Accept: application/json"

Response (Free Shipping):

{
  "success": true,
  "data": [
    {
      "id": "fedex_ground",
      "name": "FedEx Ground®",
      "totalCost": 0,
      "originalCost": 32.44
    },
    {
      "id": "fedex_2day",
      "name": "FedEx 2Day®",
      "totalCost": 0,
      "originalCost": 56.43
    },
    {
      "id": "fedex_priority_overnight",
      "name": "FedEx Priority Overnight®",
      "totalCost": 0,
      "originalCost": 118.10
    }
  ],
  "isFreeShipment": true,
  "freeShipmentType": "clinic_specific",
  "patientState": "Alabama"
}

Response (Paid Shipping):

{
  "success": true,
  "data": [
    {
      "id": "fedex_ground",
      "name": "FedEx Ground®",
      "totalCost": 32.44,
      "originalCost": 32.44
    },
    {
      "id": "fedex_2day",
      "name": "FedEx 2Day®",
      "totalCost": 56.43,
      "originalCost": 56.43
    }
  ],
  "isFreeShipment": false,
  "freeShipmentType": null,
  "patientState": "California"
}

View full Carriers documentation →


Webhooks

Register webhook endpoints to receive real-time event notifications.

MethodEndpointDescription
POST/api/external/webhookRegister a webhook endpoint
DELETE/api/external/webhookDelete a webhook endpoint

Register Webhook

curl -X POST https://novamed-feapidev.nimbushealthcaretest.com/api/external/webhook \
  -H "x-api-key: your-api-key-here" \
  -H "Content-Type: application/json" \
  -d '{
    "clinic_id": "550e8400-e29b-41d4-a716-446655440000",
    "webhook_url": "https://your-domain.com/webhooks/nimbus"
  }'

Delete Webhook

curl -X DELETE https://novamed-feapidev.nimbushealthcaretest.com/api/external/webhook \
  -H "x-api-key: your-api-key-here" \
  -H "Content-Type: application/json" \
  -d '{
    "clinic_id": "550e8400-e29b-41d4-a716-446655440000",
    "webhook_id": "aa0e8400-e29b-41d4-a716-446655440005"
  }'

View full Webhook documentation →


Response Format

All successful responses follow this structure:

{
  "success": true,
  "data": {
    // Response-specific data
  },
  "message": "Operation completed successfully"
}

Error Handling

Error responses include a standardized error object:

{
  "success": false,
  "error": {
    "code": "VALIDATION_ERROR",
    "message": "Invalid request parameters",
    "details": {
      "field": "email",
      "reason": "Invalid email format"
    }
  }
}

Common Error Codes

CodeHTTP StatusDescription
VALIDATION_ERROR400Invalid request parameters
UNAUTHORIZED401Missing or invalid API key
FORBIDDEN403Insufficient permissions
NOT_FOUND404Resource not found
RATE_LIMIT_EXCEEDED429Too many requests
INTERNAL_ERROR500Server error

Interactive API Documentation

For interactive API documentation with "Try it" functionality, explore the OpenAPI endpoints:

External Resources