# Ingestion Pipeline

The Base Registry supports ingesting data from external systems through a fully **asynchronous ingestion pipeline.** Partner systems may send registry-related events in different formats or interoperable standards. Incoming messages are validated for signature authenticity, stored as raw events without transformation, and then processed in stages using Celery workers. The pipeline separates raw persistence, semantic interpretation, and registry update operations, allowing each stage to run independently and at scale.

The registry integrates with subscription APIs defined by partner registries, allowing it to subscribe to events from other departments & registries.

#### 5.1 Multi-Standard Payload Support

The registry ingestion layer can receive and interpret payloads conforming to different interoperability standards such as SPDci, UNDP's DCI models, or national registry formats. Raw payloads are classified using metadata patterns, and domain-specific semantic meaning is extracted by applying JSONPaths. If the incoming payload contains only reference identifiers, the ingestion pipeline can automatically fetch the full record from the partner system using search APIs defined within the interoperability standard.

\
The incoming payloads are then transformed using Jinja templates and then applied as Change Requests. These change requests follow the same verification and approval rules as defined in the registry.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.openg2p.org/products/registry/registry/features/ingestion-pipeline.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
