For the complete documentation index, see llms.txt. This page is also available as Markdown.

Partner API

APIs available for the Registry Partner ecosystem

Every partner API call must be signed. POST /dci/registry/sync/search, POST /partner/ingest_data, POST /partner/activity/append_activities, POST /partner/activity/correct_activities and POST /partner/data_scopes carry a detached JWS made with the partner's key, which the registry verifies against Partner Management. The unsigned GET /partner/data_scopes is off by default. Only /ping and the API description are open. REGISTRY_PARTNER_API_SIGNATURE_VALIDATION_ENABLED (on by default) switches the check off for testing only. See Authentication and signature verification.

Ingest Data

post
Query parameters
data_modelstring · nullableOptional
Responses
200

Successful Response

application/json
post/partner/ingest_data
POST /partner/ingest_data HTTP/1.1
Accept: */*
{
  "response_header": {
    "request_id": "text",
    "response_status": "ERROR",
    "response_error_code": "text",
    "response_error_message": "text",
    "response_timestamp": "2026-01-01T00:00:00.000Z"
  },
  "response_body": {
    "pagination_response": {
      "number_of_items": 1,
      "number_of_pages": 1
    },
    "response_payload": {
      "correlation_id": "text"
    }
  }
}

Search

post
Body
signaturestringRequired
Other propertiesanyOptional
Responses
200

Successful Response

application/json

Envelope for POST /registry/on-search

{ "signature": "...", "header": { ... }, "message": { ...SearchResponse... } | { ...EncryptedMessage... } }

signaturestringRequired

Signature of {header}+{message}

messageany ofRequired
or
Other propertiesanyOptional
post/dci/registry/sync/search
POST /dci/registry/sync/search HTTP/1.1
Content-Type: application/json
Accept: */*
Content-Length: 1043

{
  "signature": "text",
  "header": {
    "version": "text",
    "message_id": "text",
    "message_ts": "text",
    "action": "text",
    "sender_id": "text",
    "sender_uri": "text",
    "receiver_id": "text",
    "total_count": 1,
    "is_msg_encrypted": false,
    "meta": {
      "ANY_ADDITIONAL_PROPERTY": "anything"
    }
  },
  "message": {
    "transaction_id": "text",
    "search_request": [
      {
        "reference_id": "text",
        "timestamp": "text",
        "search_criteria": {
          "version": "1.0.0",
          "reg_type": "text",
          "reg_record_type": "text",
          "query_type": "text",
          "query": {
            "type": "text",
            "value": "text"
          },
          "sort": [
            {
              "attribute_name": "text",
              "sort_order": "asc"
            }
          ],
          "pagination": {
            "page_size": 1,
            "page_number": 1
          },
          "consent": {
            "@context": "text",
            "@type": "text",
            "ts": "text",
            "purpose": {
              "text": null,
              "code": null,
              "ref_uri": null,
              "ANY_ADDITIONAL_PROPERTY": "anything"
            },
            "ANY_ADDITIONAL_PROPERTY": "anything"
          },
          "authorize": {
            "@context": "text",
            "@type": "text",
            "ts": "text",
            "purpose": {
              "text": null,
              "code": null,
              "ref_uri": null,
              "ANY_ADDITIONAL_PROPERTY": "anything"
            },
            "ANY_ADDITIONAL_PROPERTY": "anything"
          },
          "ANY_ADDITIONAL_PROPERTY": "anything"
        },
        "locale": "eng"
      }
    ]
  },
  "ANY_ADDITIONAL_PROPERTY": "anything"
}
{
  "signature": "text",
  "header": {
    "version": "1.0.0",
    "message_id": "text",
    "message_ts": "text",
    "action": "text",
    "status": "text",
    "status_reason_code": "text",
    "status_reason_message": "text",
    "total_count": 1,
    "completed_count": 1,
    "sender_id": "text",
    "receiver_id": "text",
    "sender_uri": "text",
    "is_msg_encrypted": false,
    "meta": {
      "ANY_ADDITIONAL_PROPERTY": "anything"
    },
    "ANY_ADDITIONAL_PROPERTY": "anything"
  },
  "message": {
    "transaction_id": "text",
    "correlation_id": "text",
    "search_response": [
      {
        "reference_id": "text",
        "timestamp": "text",
        "status": "text",
        "status_reason_code": "text",
        "status_reason_message": "text",
        "data": {
          "version": "1.0.0",
          "reg_type": "text",
          "reg_record_type": "text",
          "reg_records": [
            {
              "ANY_ADDITIONAL_PROPERTY": "anything"
            }
          ],
          "ANY_ADDITIONAL_PROPERTY": "anything"
        },
        "pagination": {
          "page_size": 1,
          "page_number": 1,
          "total_count": 1
        },
        "locale": "text",
        "ANY_ADDITIONAL_PROPERTY": "anything"
      }
    ]
  },
  "ANY_ADDITIONAL_PROPERTY": "anything"
}

Get Ping

get

Returns "pong" always, if the service is healthy. This can also used for service health checks.

Responses
200

Successful Response

application/json
anyOptional
get/ping
GET /ping HTTP/1.1
Accept: */*

No content

Last updated

Was this helpful?