---
search:
  tags:
    - Pyroscope ingest
    - POST
seo:
  description: >-
    Accept a Pyroscope PushRequest or raw pprof profile. With name, the payload
    is raw pprof… Reference for the POST /ingest endpoint in the sigiro API
    Reference.
sidebar:
  label: Ingest Pyroscope profiles
  badge: POST
title: Ingest Pyroscope profiles
type: openapi-operation
---
Accept a Pyroscope PushRequest or raw pprof profile. With `name`, the payload is raw pprof and the service name is the part before the first `{`; without `name`, the payload is a PushRequest whose series require a `service_name` label. Binary bodies may be gzip-compressed. Multipart bodies must carry the payload in the `profile` field. A missing Content-Type is also accepted as a binary body. See the [profile ingest guide](https://sigiro.com/docs/how-to/send-profiles).

`POST /ingest`

**Request body** (`application/octet-stream`, required)

Pyroscope PushRequest or raw pprof bytes. For multipart/form-data, put the binary payload in the \`profile\` field.

Request body example:

```json
"string"
```

**Responses**

- `200` — Profile accepted
- `400` — Unsupported media type, malformed payload, missing service name, or empty profile
- `401` — Missing, expired, revoked or invalid credential; the plain-text body says which
- `403` — The credential lacks telemetry:ingest
- `413` — Request body exceeds the configured ingest limit
- `429` — Ingest rate limit exceeded
- `500` — Ingest failed
- `507` — Storage cannot currently accept ingest
