Resources / IngestAPI Documentation

IngestAPI Reference

Ship JSON logs from any runtime, shipper, or sidecar to one HTTPS endpoint. We tie them back to entities and incidents so SREs see what actually happened, not just lines in a file.

JSON over HTTPSFluent Bit · Vector · Node.js · FilebeatEntity-aware, incident-focused logs
Where to get ingest keys

Ingest API keys are managed inside your Tech Guys 2 Go portal. Use separate keys per service or environment and rotate immediately if exposed.

  • Portal → Settings → Ingest / Logs
  • Create a key per app or pipeline
  • Use it as your X-TG2G-Api-Key header
Sign in to manage ingest keys

Endpoint, headers & basic JSON shape

Logs are sent in batches. Each request can optionally describe the entity (service, host, function, etc.) the logs belong to, plus an array of individual log records.

HTTP details

POST to:

https://ingest.techguys2go.com/v1/logs

Required headers:

X-TG2G-Api-Key: <YOUR_INGEST_API_KEY>
Content-Type: application/json

Use a different ingest key per service or environment so you can rotate quickly without impacting everything.

Basic payload (with entity + batched logs)
{
  "source": "checkout-service",
  "entity": {
    "name": "checkout-service",
    "kind": "service",
    "tags": ["prod", "payments"]
  },
  "logs": [
    {
      "timestamp": "2024-01-01T12:00:00Z",
      "level": "error",
      "message": "Payment gateway timeout",
      "requestId": "abc-123",
      "region": "us-east-1"
    },
    {
      "timestamp": "2024-01-01T12:00:03Z",
      "level": "info",
      "message": "Retry succeeded",
      "requestId": "abc-123"
    }
  ]
}

Required: message on each log record. Optional: timestamp, level, and any other fields (stored as metadata and searchable later).

Field reference

FieldTypeRequiredDescription
sourcestringRecommendedLogical source of logs (e.g. checkout-service, fluent-bit, node-sidecar).
entityobjectOptionalTies logs to a specific entity in your estate (service, host, job, function). Helps correlate logs with incidents.
entity.namestringRecommendedThe name of the service / component, e.g. checkout-service.
entity.kindstringOptionalFree-form type like service, host, job, etc.
entity.tagsstring[]OptionalTags that help slice logs (env, team, region, feature).
logsarrayRequiredArray of individual log records for this request.
logs[].messagestringRequiredHuman-readable message. This is the only required field per log record.
logs[].timestampISO 8601 stringOptionalWhen the event occurred. If omitted, the ingest time is used.
logs[].levelstringOptionalAny level you use (e.g. info, warn, error).
logs[].anything_elseanyOptionalAny custom fields (requestId, region, userId, featureFlag, etc.). Stored in metadata and available for search/filters.

You don't need to reshape your entire schema — send what you have today. We'll preserve extra fields and make them queryable.

Plug in your existing log shippers

No special agent required. Point your existing log forwarder at our HTTPS endpoint with the header X-TG2G-Api-Key, and wrap records in the source /logs shape shown above.

Replace <YOUR_INGEST_API_KEY> with a key from your portal. You can also swap source / entity names to match your services.

POST https://ingest.techguys2go.com/v1/logs
X-TG2G-Api-Key: <YOUR_INGEST_API_KEY>
Content-Type: application/json

{
  "source": "checkout-service",
  "entity": {
    "name": "checkout-service",
    "kind": "service",
    "tags": ["prod", "payments"]
  },
  "logs": [
    {
      "timestamp": "2024-01-01T12:00:00Z",
      "level": "error",
      "message": "Payment gateway timeout",
      "requestId": "abc-123",
      "region": "us-east-1"
    },
    {
      "timestamp": "2024-01-01T12:00:03Z",
      "level": "info",
      "message": "Retry succeeded",
      "requestId": "abc-123"
    }
  ]
}

For more complex shapes, you can use filters (Lua, remap, processors) at the shipper layer to emit { "source": "...", "logs": [ ... ] } per request. Everything else stays the same: POST to https://ingest.techguys2go.com/v1/logs with your ingest key.

Want to pair on wiring logs into incidents?

We can help you go from "logs in a bucket" to incident-aware logging — tied to entities, SLOs, and real SRE workflows.

Tech Guys 2 Go : SRE as a Service