HTTP Ingester API

There are three RESTful endpoints within the HTTP Ingester which are described in detail below:

POST /documents/{route}/upload

Where {route} should be replaced with the appropriate route name configured in the application.

This endpoint accepts a content type of multipart/form-data allowing multiple native documents to be uploaded at once.

A number of headers can also be added to the request which will be passed on to the Kafka message and propagate through the document pipeline. These headers include:

  • Request-ID: A unique ID for the request.
  • Distribution-Id: The distribution ID for the documents being uploaded.
  • Security-Label: The default security label that applies to the documents being uploaded.
  • Policy-Information: The EDH or IDH policy information for the documents being uploaded.

On successful upload the endpoint will return a JSON response like the example below with an HTTP status code of 202.

{
  "documents": [
    {
      "successful": true,
      "filename": "example.pdf",
      "id": "33002c05-a04e-4915-9bf8-9fdf6e9096e6",
      "status": "Accepted by route local"
    }
  ]
}

In the event of an error during upload, a response code of 400 will be returned together with a response such as the following:

{
  "documents": [
    {
      "successful": false,
      "filename": "example_too_large.pdf",
      "id": "46c52572-ef6d-4ca2-81db-e8c280be32af",
      "status": "Exceeds maximum permitted document size 681574"
    }
  ]
}

GET /healthz

This endpoint returns the health status of the service as well as information the current configuration being used. An example response is shown below:

{
  "healthy": true,
  "config": {
    "local": {
      "name": "local",
      "topic": "ingested_content",
      "namespace": "https://example.org/ns#",
      "securityLabel": null,
      "headers": [
        {
          "name": "Owner",
          "defaultValue": "Platform Team",
          "priority": "CONFIGURATION"
        },
        {
          "name": "Distribution-Id",
          "defaultValue": "13bce3bf-7edb-4efb-a54f-574327458dd7",
          "priority": "REQUEST"
        },
        {
          "name": "Policy-Information",
          "defaultValue": "{\"EDH\":{\"classification\":\"O\",\"permittedNats\":[\"GBR\"],\"permittedOrgs\":[\"Telicent\"],\"orGroups\":[],\"andGroups\":[]}}",
          "priority": "REQUEST"
        }
      ]
    }
  }
}

GET /version-info

This endpoint returns version for the HTTP Ingester as well as some of its internal dependencies. An example response is shown below:

{
  "http-ingester": {
    "buildEnv": "Mac OS X 15.6 (aarch64)",
    "groupId": "io.telicent.smart-caches.documents",
    "name": "Telicent Smart Caches - Documents - Services - HTTP Ingester",
    "artifactId": "http-ingester",
    "version": "0.1.0-SNAPSHOT",
    "revision": "fd0fd8bab309ccb4a6669c9a4f5ff1f18bf46d29",
    "timestamp": "2025-08-07 12:19:44"
  },
  "projectors-core": {
    "buildEnv": "Linux 6.11.0-1018-azure (amd64)",
    "groupId": "io.telicent.smart-caches",
    "name": "Telicent Smart Caches - Projectors - Core API",
    "artifactId": "projectors-core",
    "version": "0.29.3",
    "timestamp": "2025-07-29 13:35:57",
    "revision": "01f67817b76766a8d5fe2f6825361122fcb0eb58"
  },
  "routes-api": {
    "buildEnv": "Mac OS X 15.6 (aarch64)",
    "groupId": "io.telicent.smart-caches.documents",
    "name": "Telicent Smart Caches - Documents - Routes API",
    "artifactId": "routes-api",
    "version": "0.1.0-SNAPSHOT",
    "revision": "fd0fd8bab309ccb4a6669c9a4f5ff1f18bf46d29",
    "timestamp": "2025-08-07 12:19:42"
  },
  "jaxrs-base-server": {
    "buildEnv": "Linux 6.11.0-1018-azure (amd64)",
    "groupId": "io.telicent.smart-caches",
    "name": "Telicent Smart Caches - JAX-RS Base Server",
    "artifactId": "jaxrs-base-server",
    "version": "0.29.3",
    "timestamp": "2025-07-29 13:36:53",
    "revision": "01f67817b76766a8d5fe2f6825361122fcb0eb58"
  },
  "event-source-kafka": {
    "buildEnv": "Linux 6.11.0-1018-azure (amd64)",
    "groupId": "io.telicent.smart-caches",
    "name": "Telicent Smart Caches - Event Sources - Kafka",
    "artifactId": "event-source-kafka",
    "version": "0.29.3",
    "timestamp": "2025-07-29 13:36:24",
    "revision": "01f67817b76766a8d5fe2f6825361122fcb0eb58"
  }
}

[EARLY DRAFT RELEASE] Copyright 2020-2025 Telicent Limited. All rights reserved