Partner API

Patient-authorized access for approved institutions. Keys are issued by Chewie and can be suspended instantly.

Scope aware
Create request

Send NIN or mobile with an allowed purpose. Chewie notifies the patient when a match can receive requests.

Patient approves

The patient reviews the request on id.chewie.care and can approve, deny, or later revoke access.

Open profile

Use the same identifier to match the approved grant, then fetch the profile while the grant is active.

API sequences

Read access uses patient dashboard approval. Record append uses a patient OTP sent by email and SMS.

Create an access request
curl -X POST https://chewie-backend.brimble.app/api/patient-access/partner/access-requests \
  -H "X-Partner-Key: $CHEWIE_PARTNER_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "mode": "mobile",
    "mobile": "+2348000000000",
    "purpose": "insurance_eligibility",
    "requested_scope": "full_profile"
  }'
Find an approved match
curl -X POST https://chewie-backend.brimble.app/api/patient-access/partner/match \
  -H "X-Partner-Key: $CHEWIE_PARTNER_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "mode": "mobile",
    "mobile": "+2348000000000",
    "purpose": "insurance_eligibility"
  }'
Fetch the consented profile
curl "https://chewie-backend.brimble.app/api/patient-access/partner/patients/{patient_id}/profile?purpose=insurance_eligibility" \
  -H "X-Partner-Key: $CHEWIE_PARTNER_KEY"
Submit a record contribution
curl -X POST https://chewie-backend.brimble.app/api/patient-access/partner/record-contributions \
  -H "X-Partner-Key: $CHEWIE_PARTNER_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "mode": "mobile",
    "mobile": "+2348000000000",
    "purpose": "direct_care",
    "contribution_type": "clinical_encounter",
    "title": "Outpatient visit summary",
    "summary_text": "Diagnosis, treatment, referral, or medication summary"
  }'
Verify contribution OTP
curl -X POST https://chewie-backend.brimble.app/api/patient-access/partner/record-contributions/{contribution_id}/verify \
  -H "X-Partner-Key: $CHEWIE_PARTNER_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "code": "000000" }'

Protection rails

Provider-neutral eligibility, authorization, claims, settlement, and monthly commission flows. Every write accepts an idempotency key.

Load the provider operating position
curl "https://chewie-backend.brimble.app/api/protection/partner/overview" \
  -H "X-Partner-Key: $CHEWIE_PARTNER_KEY"
Search the claims queue
curl "https://chewie-backend.brimble.app/api/protection/partner/claims?status=under_review&q=MEMBER-001&limit=100" \
  -H "X-Partner-Key: $CHEWIE_PARTNER_KEY"
Check member eligibility
curl -X POST https://chewie-backend.brimble.app/api/protection/partner/eligibility \
  -H "X-Partner-Key: $CHEWIE_PARTNER_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "member_number": "AXA-PILOT-0001",
    "care_provider_id": "<network-provider-id>",
    "benefit_rule_id": "<benefit-rule-id>"
  }'
Request prior authorization
curl -X POST https://chewie-backend.brimble.app/api/protection/partner/authorizations \
  -H "X-Partner-Key: $CHEWIE_PARTNER_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "idempotency_key": "auth-AXA-PILOT-0001-001",
    "member_number": "AXA-PILOT-0001",
    "care_provider_id": "<network-provider-id>",
    "benefit_rule_id": "<benefit-rule-id>",
    "requested_amount_minor": 400000,
    "clinical_summary": "Acute primary-care episode"
  }'
Submit a treatment event
curl -X POST https://chewie-backend.brimble.app/api/protection/partner/encounters \
  -H "X-Partner-Key: $CHEWIE_PARTNER_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "idempotency_key": "encounter-AXA-PILOT-0001-001",
    "member_number": "AXA-PILOT-0001",
    "care_provider_id": "<network-provider-id>",
    "benefit_rule_id": "<benefit-rule-id>",
    "authorization_id": "<authorization-id>",
    "service_date": "2026-08-09",
    "event_time": "2026-08-09T12:00:00Z",
    "billed_amount_minor": 400000,
    "services": [{"code": "consultation", "quantity": 1}]
  }'
Submit a claim
curl -X POST https://chewie-backend.brimble.app/api/protection/partner/claims \
  -H "X-Partner-Key: $CHEWIE_PARTNER_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "encounter_id": "<encounter-id>",
    "idempotency_key": "claim-AXA-PILOT-0001-001"
  }'
Submit monthly commission statement
curl -X POST https://chewie-backend.brimble.app/api/protection/partner/commission/statements \
  -H "X-Partner-Key: $CHEWIE_PARTNER_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "agreement_id": "<compensation-agreement-id>",
    "period_start": "2026-08-01",
    "period_end": "2026-08-31",
    "provider_statement_ref": "AUG-2026-CHEWIE-001",
    "lines": [{
      "member_number": "AXA-PILOT-0001",
      "line_type": "earned",
      "member_status": "active",
      "premium_paid_minor": 250000,
      "line_date": "2026-08-31",
      "idempotency_key": "commission-AXA-PILOT-0001-2026-08"
    }]
  }'