Skip to main content

Register a provider product

Before you can prescribe a medication, request a pre-authorization for a lab, or claim a procedure, the product code must be registered against your provider. This is the one-off setup: once done, that code is available for all downstream operations.

When to run this

  • Provider onboarding: sweep the global catalogues and register everything you actually stock/perform.
  • New inventory: when a pharmacy adds a new SKU or a clinic starts offering a new procedure.
  • Never at runtime: if you find yourself calling registerProviderProduct inside a live pre-auth or dispensation flow, you've missed onboarding — cache the provider-products list and register in an ETL job instead.

1. Confirm the product exists in the global catalogue

Only codes present in Osigu's global catalogues can be registered. List them:

# Medications
curl "https://sandbox.osigu.com/medical-catalogs/v1/medications?query=paracetamol" \
-H "Authorization: Bearer $TOKEN"

# Procedures / labs / imaging
curl "https://sandbox.osigu.com/arc/v1/products?product_type=LAB" \
-H "Authorization: Bearer $TOKEN"

Persist the product_code.

2. Register it against your provider

curl -X POST "https://sandbox.osigu.com/arc/v1/providers/products" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"product_code": "MED-042"
}'

Response (201):

{
"product_code": "MED-042",
"registered_at": "2026-06-25T18:00:00Z"
}

That's it. MED-042 can now appear in prescriptions, pre-authorization requests, and claim line items filed by your provider.

3. Verify

Read back your provider-product list:

curl "https://sandbox.osigu.com/arc/v1/providers/products" \
-H "Authorization: Bearer $TOKEN"

Paginated. Use product_type and query filters to search.

4. Remove a product

If you drop a SKU or discontinue a service:

curl -X DELETE "https://sandbox.osigu.com/arc/v1/providers/products/MED-042" \
-H "Authorization: Bearer $TOKEN"

Response (204). Removing a product does not invalidate historical prescriptions, authorizations, or claims that referenced it — it only stops future ones.

Bulk onboarding tip

If you have thousands of codes to register, don't hammer the endpoint synchronously in a tight loop. Two better patterns:

  • Batch with concurrency: 5–10 concurrent requests, respecting the 50 req/min rate limit.
  • Idempotency: the endpoint is idempotent — registering the same code twice returns 409 with error_code: 071-102 (Product already registered). Ignore that error and continue.

Errors

StatusMeaning
404 Not FoundThe product_code isn't in Osigu's global catalogue. Contact support@osigu.com to have it added, or double-check the code.
409 ConflictAlready registered. Safe to ignore.
422 Validation errorBody missing product_code.