<!--
SPDX-FileCopyrightText: 2025 diffo_example contributors <https://github.com/diffo-dev/diffo_example/graphs.contributors>

SPDX-License-Identifier: MIT

Auto-generated by `mix gen.api_docs`. Do not edit by hand.
Regenerate after changing any domain's `code_interface` defines.
-->

# Access Domain API

The Elixir function-call surface for each resource in the `DiffoExample.Access` domain. Generated from the `define` declarations in the domain's `resources do` block.

## Cable

| Function | Action | Arguments | Purpose |
|---|---|---|---|
| `assign_pair` | `:assign_pair` | `assignment` (struct) | relates the cable with an instance by assigning a pair |
| `build_cable` | `:build` | `id`, `name`, `type`, `which`, `relationships` (list of struct), `places` (list of struct), `parties` (list of struct) | creates a new Cable resource instance for build |
| `define_cable` | `:define` | `characteristic_value_updates` (list of term) | defines the cable |
| `get_cable_by_id` | `:read` | `id` | read a service or resource instance |
| `relate_cable` | `:relate` | `relationships` (list of struct) | relates the cable with other instances |

## Card

| Function | Action | Arguments | Purpose |
|---|---|---|---|
| `assign_port` | `:assign_port` | `assignment` (struct) | relates the card with an instance by assigning a port |
| `build_card` | `:build` | `id`, `name`, `type`, `which`, `relationships` (list of struct), `places` (list of struct), `parties` (list of struct) | creates a new Card resource instance for build |
| `define_card` | `:define` | `characteristic_value_updates` (list of term) | defines the card |
| `get_card_by_id` | `:read` | `id` | read a service or resource instance |
| `relate_card` | `:relate` | `relationships` (list of struct) | relates the card with other instances |

## DslAccess

| Function | Action | Arguments | Purpose |
|---|---|---|---|
| `design_dsl_result` | `:design_result` | `characteristic_value_updates` (list of term) | updates the DSL Access service with the design |
| `get_dsl_by_id` | `:read` | `id` | read a service or resource instance |
| `qualify_dsl` | `:qualify` | `id`, `name`, `type`, `which`, `places` (list of struct), `parties` (list of struct) | creates a new DSL Access service instance for qualification |
| `qualify_dsl_result` | `:qualify_result` | `operating_status`, `places` (list of struct) | updates the DSL Access service with qualification result |

## Path

| Function | Action | Arguments | Purpose |
|---|---|---|---|
| `build_path` | `:build` | `id`, `name`, `type`, `which`, `relationships` (list of struct), `places` (list of struct), `parties` (list of struct) | creates a new Path resource instance for build |
| `define_path` | `:define` | `characteristic_value_updates` (list of term) | defines the path |
| `get_path_by_id` | `:read` | `id` | read a service or resource instance |
| `relate_path` | `:relate` | `relationships` (list of struct) | relates the path with other instances |

## Shelf

| Function | Action | Arguments | Purpose |
|---|---|---|---|
| `assign_slot` | `:assign_slot` | `assignment` (struct) | relates the shelf with an instance by assigning a slot |
| `build_shelf` | `:build` | `id`, `name`, `type`, `which`, `relationships` (list of struct), `places` (list of struct), `parties` (list of struct) | creates a new Shelf resource instance for build |
| `define_shelf` | `:define` | `characteristic_value_updates` (list of term) | defines the shelf |
| `get_shelf_by_id` | `:read` | `id` | read a service or resource instance |
| `relate_shelf` | `:relate` | `relationships` (list of struct) | relates the shelf with cards |
