---
title: "Create"
method: POST
path: "/v1/teams/{team_id}/portal/grants"
tags: ["portal access"]
---

# Create

`POST /v1/teams/{team_id}/portal/grants`

## Path parameters

- `team_id` string, uuid, required

## Headers

- `authorization` string, nullable
- `x-darwin-token` string, nullable
- `x-darwin-run-id` string, nullable

## Request body

- PortalGrantRequest
  - `contact_id` string, uuid, required
  - `contact_point_id` string, uuid, required
  - `channel` 'sms' | 'email', required
  - `sender_id` string, uuid, required
  - `audience` string, required
  - `resource` string, required
  - `entry_path` string
  - `visit_hook_id` string, uuid, required
  - `ttl_seconds` integer
  - `idempotency_key` string, required

## Response `202`

Successful Response

- unknown

## Other responses

- `422` — Validation Error

## Changes

> 32 revisions in range; 1 not diffed.

- **2026-09-13** `33afbf889154` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/stormy/apis/stormy-control-plane/changes/v1/teams/:team_id/portal/grants/post.md)

---

[API](https://skmtc.dev/stormy/apis/stormy-control-plane.md) · [All operations](https://skmtc.dev/stormy/apis/stormy-control-plane/llms.txt) · [OpenAPI document](https://skmtc.dev/stormy/apis/stormy-control-plane/revisions/b09e3c4ee2af?raw)
