# harrison-jennings/api-reference-for-marketo-engage architecture

> Architecture diagram of the GitHub repository harrison-jennings/api-reference-for-marketo-engage, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-10-28). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/harrison-jennings/api-reference-for-marketo-engage
- Repository: https://github.com/harrison-jennings/api-reference-for-marketo-engage

## Overview

This repository is a generated Marketo Engage API reference and companion tooling, not an SDK. The main workflow is Adobe specifications → generated operation/model reference → browsable documentation or a generated Postman collection. The README documents these product-level relationships; the source excerpts additionally show the site hook loading and validating the reference manifest and the Postman generator reading reference data. Browser Request Builder internals and the generator’s full implementation were not sampled, so their internal wiring is not expanded.

Main entry points: [`scripts/build_marketo_api_reference.py`](https://github.com/harrison-jennings/api-reference-for-marketo-engage/blob/main/scripts/build_marketo_api_reference.py) (Reference Generator), [`scripts/build_postman_collection.mjs`](https://github.com/harrison-jennings/api-reference-for-marketo-engage/blob/main/scripts/build_postman_collection.mjs) (Postman Generator), [`docs-site/hooks/reference_site.py`](https://github.com/harrison-jennings/api-reference-for-marketo-engage/blob/main/docs-site/hooks/reference_site.py) (Reference Site Hook), [`reference`](https://github.com/harrison-jennings/api-reference-for-marketo-engage/tree/main/reference) (Operation Reference)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_reference["API Reference"]
  node_generator["Reference Generator"]
  node_operations["Operation Reference"]
  node_models["Data Models"]
  node_manifest["Reference Manifest"]
end

subgraph group_site["Documentation Site"]
  node_sitehook["Reference Site Hook<br/>[reference_site.py]"]
  node_site["Published Site"]
  node_builder["Request Builder"]
end

subgraph group_postman["Postman Tools"]
  node_collectiongen["Postman Generator"]
  node_collection["Postman Collection"]
  node_environment["Environment Template"]
  node_identityscript["Token Script"]
end

subgraph group_inputs["Source Data"]
  node_specs["Adobe Specifications"]
end

node_reader(("API User"))
node_operator(("Postman User"))

node_specs -->|"feeds"| node_generator
node_generator -->|"generates"| node_operations
node_generator -->|"generates"| node_models
node_generator -->|"generates"| node_manifest
node_manifest -->|"loads metadata"| node_sitehook
node_operations -->|"mounts reference"| node_sitehook
node_models -->|"builds navigation"| node_sitehook
node_sitehook -->|"publishes"| node_site
node_reader -->|"browses"| node_site
node_site -->|"provides"| node_builder
node_builder -->|"builds requests"| node_reader
node_manifest -->|"indexes operations"| node_collectiongen
node_operations -->|"provides operation data"| node_collectiongen
node_collectiongen -->|"generates"| node_collection
node_collectiongen -->|"generates"| node_environment
node_identityscript -->|"adds token handler"| node_collection
node_operator -->|"imports and sends"| node_collection

click node_specs "https://github.com/harrison-jennings/api-reference-for-marketo-engage/tree/main/specs"
click node_generator "https://github.com/harrison-jennings/api-reference-for-marketo-engage/blob/main/scripts/build_marketo_api_reference.py"
click node_operations "https://github.com/harrison-jennings/api-reference-for-marketo-engage/tree/main/reference"
click node_models "https://github.com/harrison-jennings/api-reference-for-marketo-engage/tree/main/reference/asset/models"
click node_manifest "https://github.com/harrison-jennings/api-reference-for-marketo-engage/tree/main/reference"
click node_sitehook "https://github.com/harrison-jennings/api-reference-for-marketo-engage/blob/main/docs-site/hooks/reference_site.py"
click node_site "https://github.com/harrison-jennings/api-reference-for-marketo-engage/tree/main/docs-site"
click node_builder "https://github.com/harrison-jennings/api-reference-for-marketo-engage/tree/main/docs-site/docs/assets/request-builder"
click node_collectiongen "https://github.com/harrison-jennings/api-reference-for-marketo-engage/blob/main/scripts/build_postman_collection.mjs"
click node_collection "https://github.com/harrison-jennings/api-reference-for-marketo-engage/blob/main/postman/marketo-engage.postman_collection.json"
click node_environment "https://github.com/harrison-jennings/api-reference-for-marketo-engage/blob/main/postman/marketo-engage.postman_environment.json"
click node_identityscript "https://github.com/harrison-jennings/api-reference-for-marketo-engage/blob/main/scripts/postman/identity-script.mjs"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_generator,node_operations,node_models,node_manifest,node_reader,node_operator toneBlue
class node_sitehook,node_site,node_builder toneAmber
class node_collectiongen,node_collection,node_environment,node_identityscript toneMint
class node_specs toneRose
```

## Components

### API Reference

- [Reference Generator](https://github.com/harrison-jennings/api-reference-for-marketo-engage/blob/main/scripts/build_marketo_api_reference.py): `scripts/build_marketo_api_reference.py`
- [Operation Reference](https://github.com/harrison-jennings/api-reference-for-marketo-engage/tree/main/reference): `reference`
- [Data Models](https://github.com/harrison-jennings/api-reference-for-marketo-engage/tree/main/reference/asset/models): `reference/asset/models`
- [Reference Manifest](https://github.com/harrison-jennings/api-reference-for-marketo-engage/tree/main/reference): `reference`

### Documentation Site

- [Reference Site Hook](https://github.com/harrison-jennings/api-reference-for-marketo-engage/blob/main/docs-site/hooks/reference_site.py): `docs-site/hooks/reference_site.py`
- [Published Site](https://github.com/harrison-jennings/api-reference-for-marketo-engage/tree/main/docs-site): `docs-site`
- [Request Builder](https://github.com/harrison-jennings/api-reference-for-marketo-engage/tree/main/docs-site/docs/assets/request-builder): `docs-site/docs/assets/request-builder`

### Postman Tools

- [Postman Generator](https://github.com/harrison-jennings/api-reference-for-marketo-engage/blob/main/scripts/build_postman_collection.mjs): `scripts/build_postman_collection.mjs`
- [Postman Collection](https://github.com/harrison-jennings/api-reference-for-marketo-engage/blob/main/postman/marketo-engage.postman_collection.json): `postman/marketo-engage.postman_collection.json`
- [Environment Template](https://github.com/harrison-jennings/api-reference-for-marketo-engage/blob/main/postman/marketo-engage.postman_environment.json): `postman/marketo-engage.postman_environment.json`
- [Token Script](https://github.com/harrison-jennings/api-reference-for-marketo-engage/blob/main/scripts/postman/identity-script.mjs): `scripts/postman/identity-script.mjs`

### Source Data

- [Adobe Specifications](https://github.com/harrison-jennings/api-reference-for-marketo-engage/tree/main/specs): `specs`

### Other components

- **API User**
- **Postman User**

## Connections

- Adobe Specifications → Reference Generator: feeds (evidence: `README.md`)
- Reference Generator → Operation Reference: generates (evidence: `README.md`)
- Reference Generator → Data Models: generates (evidence: `README.md`)
- Reference Generator → Reference Manifest: generates (evidence: `README.md`)
- Reference Manifest → Reference Site Hook: loads metadata (evidence: `docs-site/hooks/reference_site.py`)
- Operation Reference → Reference Site Hook: mounts reference (evidence: `docs-site/hooks/reference_site.py`)
- Data Models → Reference Site Hook: builds navigation (evidence: `README.md`)
- Reference Site Hook → Published Site: publishes (evidence: `README.md`)
- API User → Published Site: browses (evidence: `README.md`)
- Published Site → Request Builder: provides (evidence: `README.md`)
- Request Builder → API User: builds requests (evidence: `README.md`)
- Reference Manifest → Postman Generator: indexes operations (evidence: `scripts/build_postman_collection.mjs`)
- Operation Reference → Postman Generator: provides operation data (evidence: `scripts/build_postman_collection.mjs`)
- Postman Generator → Postman Collection: generates (evidence: `README.md`)
- Postman Generator → Environment Template: generates (evidence: `README.md`)
- Token Script → Postman Collection: adds token handler (evidence: `scripts/postman/identity-script.mjs`)
- Postman User → Postman Collection: imports and sends (evidence: `README.md`)
