● Case spine
Relationships
Exchange, issuer, counsel, vendor, and counterparty relationships.
| POST | /v1/relationships | Create relationship |
| GET | /v1/relationships | List relationships |
| GET | /v1/relationships/{relationship_id} | Get relationship |
| PATCH | /v1/relationships/{relationship_id} | Update relationship |
| POST | /v1/relationships/{relationship_id}/contact-log | Add contact log |
| GET | /v1/relationships/counterparties/{counterparty_id} | Get counterparty relationships |
POST/v1/relationships
Create relationship
Creates an exchange, issuer, counsel, vendor, LE-only channel, receiver, special master, claimant, or counterparty relationship object.
scope · relationships:writeidempotent · Idempotency-Key
§ Body parameters
| Field | Type |
|---|---|
| counterparty_type | string |
| counterparty_name | string |
| channel_type | string |
| usable_by_meridian | boolean |
| usable_by_counsel | boolean |
| usable_by_law_enforcement | boolean |
| authorized_submitter_required | boolean |
| packet_types_supported | array |
# sandbox: full surface, no production data curl -X POST https://sandbox.api.microndelta.com/v1/relationships \ -H "Authorization: Bearer md_test_xxxxxxxxxxxxxxxx" \ -H "MD-Version: 2026-06-11" \ -H "Content-Type: application/json" \ -H "Idempotency-Key: 4f8a-bd31" \ -d '{ "counterparty_type": "string", "counterparty_name": "string", "channel_type": "string", "usable_by_meridian": true, "usable_by_counsel": true, "usable_by_law_enforcement": true, "authorized_submitter_required": true, "packet_types_supported": [ "string" ] }'
import requests
resp = requests.post(
"https://sandbox.api.microndelta.com/v1/relationships",
headers={
"Authorization": "Bearer md_test_xxxxxxxxxxxxxxxx",
"MD-Version": "2026-06-11",
"Idempotency-Key": "4f8a-bd31",
},
json={
"counterparty_type": "string",
"counterparty_name": "string",
"channel_type": "string",
"usable_by_meridian": True,
"usable_by_counsel": True,
"usable_by_law_enforcement": True,
"authorized_submitter_required": True,
"packet_types_supported": [
"string"
]
},
)
print(resp.json())const resp = await fetch("https://sandbox.api.microndelta.com/v1/relationships", { method: "POST", headers: { "Authorization": "Bearer md_test_xxxxxxxxxxxxxxxx", "MD-Version": "2026-06-11", "Content-Type": "application/json", "Idempotency-Key": "4f8a-bd31", }, body: JSON.stringify({ "counterparty_type": "string", "counterparty_name": "string", "channel_type": "string", "usable_by_meridian": true, "usable_by_counsel": true, "usable_by_law_enforcement": true, "authorized_submitter_required": true, "packet_types_supported": [ "string" ] }), }); console.log(await resp.json());
● 200MD-Request-Id: req_01J…
201 Response
{
"relationship_id": "string",
"counterparty_type": "exchange",
"counterparty_name": "string",
"channel_type": "string",
"usable_by_meridian": true,
"usable_by_counsel": true,
"usable_by_law_enforcement": true,
"authorized_submitter_required": true
}GET/v1/relationships
List relationships
Lists relationship registry objects.
scope · relationships:read
# sandbox: full surface, no production data curl https://sandbox.api.microndelta.com/v1/relationships \ -H "Authorization: Bearer md_test_xxxxxxxxxxxxxxxx" \ -H "MD-Version: 2026-06-11"
import requests
resp = requests.get(
"https://sandbox.api.microndelta.com/v1/relationships",
headers={
"Authorization": "Bearer md_test_xxxxxxxxxxxxxxxx",
"MD-Version": "2026-06-11",
},
)
print(resp.json())const resp = await fetch("https://sandbox.api.microndelta.com/v1/relationships", { method: "GET", headers: { "Authorization": "Bearer md_test_xxxxxxxxxxxxxxxx", "MD-Version": "2026-06-11", }, }); console.log(await resp.json());
● 200MD-Request-Id: req_01J…
200 Response
{
"object": "list",
"data": [
{
"relationship_id": "...",
"counterparty_type": "...",
"counterparty_name": "...",
"channel_type": "...",
"usable_by_meridian": "...",
"usable_by_counsel": "...",
"usable_by_law_enforcement": "...",
"authorized_submitter_required": "..."
}
],
"has_more": false
}GET/v1/relationships/{relationship_id}
Get relationship
Gets channel type, allowed users, packet support, and contact history.
scope · relationships:read
§ Path parameters
| Parameter | Type |
|---|---|
| relationship_id required · path | string |
# sandbox: full surface, no production data curl https://sandbox.api.microndelta.com/v1/relationships/rel_91Lk \ -H "Authorization: Bearer md_test_xxxxxxxxxxxxxxxx" \ -H "MD-Version: 2026-06-11"
import requests
resp = requests.get(
"https://sandbox.api.microndelta.com/v1/relationships/rel_91Lk",
headers={
"Authorization": "Bearer md_test_xxxxxxxxxxxxxxxx",
"MD-Version": "2026-06-11",
},
)
print(resp.json())const resp = await fetch("https://sandbox.api.microndelta.com/v1/relationships/rel_91Lk", { method: "GET", headers: { "Authorization": "Bearer md_test_xxxxxxxxxxxxxxxx", "MD-Version": "2026-06-11", }, }); console.log(await resp.json());
● 200MD-Request-Id: req_01J…
200 Response
{
"relationship_id": "string",
"counterparty_type": "exchange",
"counterparty_name": "string",
"channel_type": "string",
"usable_by_meridian": true,
"usable_by_counsel": true,
"usable_by_law_enforcement": true,
"authorized_submitter_required": true
}PATCH/v1/relationships/{relationship_id}
Update relationship
Updates channel metadata, allowed use, and risk levels.
scope · relationships:writeidempotent · Idempotency-Key
§ Path parameters
| Parameter | Type |
|---|---|
| relationship_id required · path | string |
§ Body parameters
| Field | Type |
|---|---|
| channel_type | string |
| packet_types_supported | array |
| risk_level | string |
| notes | string |
# sandbox: full surface, no production data curl -X PATCH https://sandbox.api.microndelta.com/v1/relationships/rel_91Lk \ -H "Authorization: Bearer md_test_xxxxxxxxxxxxxxxx" \ -H "MD-Version: 2026-06-11" \ -H "Content-Type: application/json" \ -H "Idempotency-Key: 4f8a-bd31" \ -d '{ "channel_type": "string", "packet_types_supported": [ "string" ], "risk_level": "string", "notes": "string" }'
import requests
resp = requests.patch(
"https://sandbox.api.microndelta.com/v1/relationships/rel_91Lk",
headers={
"Authorization": "Bearer md_test_xxxxxxxxxxxxxxxx",
"MD-Version": "2026-06-11",
"Idempotency-Key": "4f8a-bd31",
},
json={
"channel_type": "string",
"packet_types_supported": [
"string"
],
"risk_level": "string",
"notes": "string"
},
)
print(resp.json())const resp = await fetch("https://sandbox.api.microndelta.com/v1/relationships/rel_91Lk", { method: "PATCH", headers: { "Authorization": "Bearer md_test_xxxxxxxxxxxxxxxx", "MD-Version": "2026-06-11", "Content-Type": "application/json", "Idempotency-Key": "4f8a-bd31", }, body: JSON.stringify({ "channel_type": "string", "packet_types_supported": [ "string" ], "risk_level": "string", "notes": "string" }), }); console.log(await resp.json());
● 200MD-Request-Id: req_01J…
200 Response
{
"relationship_id": "string",
"counterparty_type": "exchange",
"counterparty_name": "string",
"channel_type": "string",
"usable_by_meridian": true,
"usable_by_counsel": true,
"usable_by_law_enforcement": true,
"authorized_submitter_required": true
}POST/v1/relationships/{relationship_id}/contact-log
Add contact log
Records a relationship contact attempt, authorized sender, packet ID, outcome, and response state.
scope · relationships:writeidempotent · Idempotency-Key
§ Path parameters
| Parameter | Type |
|---|---|
| relationship_id required · path | string |
§ Body parameters
| Field | Type |
|---|---|
| matter_id | string |
| authorized_sender | string |
| contact_type | string |
| packet_id | string |
| outcome | string |
| notes | string |
# sandbox: full surface, no production data curl -X POST https://sandbox.api.microndelta.com/v1/relationships/rel_91Lk/contact-log \ -H "Authorization: Bearer md_test_xxxxxxxxxxxxxxxx" \ -H "MD-Version: 2026-06-11" \ -H "Content-Type: application/json" \ -H "Idempotency-Key: 4f8a-bd31" \ -d '{ "matter_id": "string", "authorized_sender": "string", "contact_type": "string", "packet_id": "string", "outcome": "string", "notes": "string" }'
import requests
resp = requests.post(
"https://sandbox.api.microndelta.com/v1/relationships/rel_91Lk/contact-log",
headers={
"Authorization": "Bearer md_test_xxxxxxxxxxxxxxxx",
"MD-Version": "2026-06-11",
"Idempotency-Key": "4f8a-bd31",
},
json={
"matter_id": "string",
"authorized_sender": "string",
"contact_type": "string",
"packet_id": "string",
"outcome": "string",
"notes": "string"
},
)
print(resp.json())const resp = await fetch("https://sandbox.api.microndelta.com/v1/relationships/rel_91Lk/contact-log", { method: "POST", headers: { "Authorization": "Bearer md_test_xxxxxxxxxxxxxxxx", "MD-Version": "2026-06-11", "Content-Type": "application/json", "Idempotency-Key": "4f8a-bd31", }, body: JSON.stringify({ "matter_id": "string", "authorized_sender": "string", "contact_type": "string", "packet_id": "string", "outcome": "string", "notes": "string" }), }); console.log(await resp.json());
● 200MD-Request-Id: req_01J…
201 Response
{
"contact_log_id": "string",
"relationship_id": "string",
"matter_id": "string",
"authorized_sender": "string",
"outcome": "string",
"created_at": "2026-06-01T12:00:00Z"
}GET/v1/relationships/counterparties/{counterparty_id}
Get counterparty relationships
Gets all relationships, packets, and response history for an exchange, issuer, vendor, or other counterparty.
scope · relationships:read
§ Path parameters
| Parameter | Type |
|---|---|
| counterparty_id required · path | string |
# sandbox: full surface, no production data curl https://sandbox.api.microndelta.com/v1/relationships/counterparties/cou_91Lk \ -H "Authorization: Bearer md_test_xxxxxxxxxxxxxxxx" \ -H "MD-Version: 2026-06-11"
import requests
resp = requests.get(
"https://sandbox.api.microndelta.com/v1/relationships/counterparties/cou_91Lk",
headers={
"Authorization": "Bearer md_test_xxxxxxxxxxxxxxxx",
"MD-Version": "2026-06-11",
},
)
print(resp.json())const resp = await fetch("https://sandbox.api.microndelta.com/v1/relationships/counterparties/cou_91Lk", { method: "GET", headers: { "Authorization": "Bearer md_test_xxxxxxxxxxxxxxxx", "MD-Version": "2026-06-11", }, }); console.log(await resp.json());
● 200MD-Request-Id: req_01J…
200 Response
{
"object": "list",
"data": [
{
"relationship_id": "...",
"counterparty_type": "...",
"counterparty_name": "...",
"channel_type": "...",
"usable_by_meridian": "...",
"usable_by_counsel": "...",
"usable_by_law_enforcement": "...",
"authorized_submitter_required": "..."
}
],
"has_more": false
}