---
title: "RPC services"
description: "Complete index of Connect RPC services by package family, with the auth mode each one requires."
---

> Documentation Index
> Fetch the complete documentation index at: https://docs.pug.sh/llms.txt
> Use this file to discover all available pages before exploring further.

# RPC services

Complete index of Connect RPC services in the Pug API, grouped by package family. Each family shares an auth mode; see the [API overview](/api) for request headers and the base URL.

Endpoint pattern: `POST https://api.pugs.dev/{package}.{Service}/{Method}`

## `public.*` — no authentication

Open endpoints. No API key or JWT required.

| Package | Service | Purpose |
|---------|---------|---------|
| `public.auth.v1` | `AuthService` | Dashboard sign-in: email/password, magic link request and completion |
| `public.dashboards.v1` | `SharedDashboardsService` | Read a publicly-shared dashboard (`Query`). Authorized by the unguessable **share token** in the request, not by a credential |

## `sdk.*` — SDK key (`x-api-key`)

Client-side write access. Safe to embed in browsers and mobile apps. Use your project's **public** API key.

| Package | Service | Purpose | Docs |
|---------|---------|---------|------|
| `sdk.events.v1` | `EventsService` | Ingest event batches (`BatchCreate`) | [Events API](/api/events) |
| `sdk.profiles.v1` | `ProfilesSDKService` | Create or update profiles, merge anonymous IDs (`Identify`) | [Profiles API](/api/profiles) |
| `sdk.devices.v1` | `DevicesService` | Push-notification device registration (`Subscribe`, `UpdateStatus`, `UpdateToken`) | _out of scope for these docs_ |

## `shared.*` — private API key or JWT (`x-api-key: prv_…` or `Authorization: Bearer`)

Server-side or trusted integrations. Accepts either a **private** API key or a dashboard JWT.

| Package | Service | Purpose | Docs |
|---------|---------|---------|------|
| `shared.insights.v1` | `InsightsService` | Run analytics queries (`Query`, `SegmentUsers`, `GetFilterSchema`, `GetPropertyValues`) | [Insights API](/api/insights) |
| `shared.profiles.v1` | `ProfilesService` | Read, list, and delete profiles (`Get`, `GetByExternalId`, `List`, `Delete`), plus GDPR/DPDP data-subject erasure (`DeleteDataSubject`, `GetDeletionRequest`) | [Profiles API](/api/profiles) |
| `shared.activity.v1` | `ActivityService` | Per-profile activity feed, event explorer, heatmap, and profile stats | — |
| `shared.campaigns.v1` | `CampaignService` | Push-campaign management (`BatchGet`, `Create`, `Get`, `Update`, `Delete`) | _out of scope for these docs_ |
| `shared.delivery.v1` | `DeliveryService` | Push-delivery event recording (`RecordEvent`) | _out of scope for these docs_ |

## `dashboard.*` — JWT (`Authorization: Bearer`)

Browser sessions for the Pug dashboard. Not intended for programmatic API access. Scoping headers (e.g. `x-project-id`) are described in [Authentication](/get-started/authentication).

| Package | Service | Purpose |
|---------|---------|---------|
| `dashboard.orgs.v1` | `OrgsService` | Organization CRUD and member management |
| `dashboard.projects.v1` | `ProjectsService` | Project CRUD and settings |
| `dashboard.customers.v1` | `CustomersService` | Caller's own account (`GetMe`, `SetPassword`) |
| `dashboard.dashboards.v1` | `DashboardsService` | Dashboard and tile management, dashboard query execution |
| `dashboard.orgemailproviders.v1` | `OrgEmailProvidersService` | Organization email provider configuration (`Get`, `Set`, `Remove`, `SendTest`) |

## `common.*` — shared message types only

These packages define reusable message and enum types imported by the service packages above. They do **not** define any RPC services.

| Package | Contents |
|---------|---------|
| `common.v1` | `PropertyValue`, `TimeRange`, `TimeRangePreset`, filter types, filter schema types |
| `common.events.v1` | Well-known event schemas (navigation, auth, commerce, media, and more) |

## `workers.*` — internal only

These packages define NATS message envelopes used between internal backend workers. They are not Connect RPC services and are not client-facing.

| Package | Contents |
|---------|---------|
| `workers.email.v1` | Email job message types (`OrgMemberInvitePayload`, `MagicLinkPayload`) |
| `workers.profiles.v1` | Profile worker message types (`ProfileAliasMessage`, `ProfileUpsertMessage`) |
| `workers.compliance.v1` | Data-subject erasure job (`EraseMessage`) — drives the compliance worker behind `DeleteDataSubject` |

## Further reading

- [API overview](/api)
- [Authentication](/get-started/authentication)
- [Events API](/api/events)
- [Profiles API](/api/profiles)
- [Insights API](/api/insights)

Source: https://docs.pug.sh/reference/rpc-services/index.mdx
