Promtail ignoring tenant configurations for push API

I have a promtail config like

----
server:
    http_listen_port: 0
    grpc_listen_port: 0

clients:
  - url: https://...@logs-....grafana.net/loki/api/v1/push
    tenant_id: my-tenant

# This is used to keep track of last read position for each log file.
positions:
    filename: /tmp/positions.yaml

scrape_configs:
  - job_name: api
    pipeline_stages:
        - tenant:
            value: my-tenant
    loki_push_api:
        server:
            http_listen_address: localhost
            http_listen_port: 9081
            grpc_listen_address: localhost
            grpc_listen_port: 9082

And I am sending logs to localhost:9081/loki/api/v1/push and they are being set correctly, but for some reason the tenant is being comlpetely ignored.

I have a feeling that Promtail is just not setting the X-Scope-OrgID for some reason, even though I am setting it everywhere I found.

Is there any way to force this easily?

Your clients configuration indicates that you are sending logs to grafana cloud. I haven’t used Grafana Cloud extensively before, but perhaps the tenant ID is tied with your credentials instead of being set explicitly by header?

But I had a been sending the logs directly to Grafana Cloud’s Loki (exactly the same config I have for Promtail) and it was accepting tenant.

I am migrating from sending to Loki to using Promtail as a proxy, but this all worked before.