---
title: "Add Graph Member"
method: POST
path: "/v1/graphs/{graph_id}/members"
tags: ["Graph Members"]
---

# Add Graph Member

`POST /v1/graphs/{graph_id}/members`

## Request

- Base URL: `https://api.robosystems.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.robosystems.ai/v1/graphs/{graph_id}/members`
- Auth: one of:
  - API key in header `X-API-Key`
  - HTTP bearer

Grant a member of the graph's organization access at a chosen role. Requires graph admin.

## Path parameters

- `graph_id` string, required: Graph identifier

## Request body

- AddGraphMemberRequest: Request to grant an org member access to a graph.
  - `user_id` string, required: User to grant access to (must belong to the graph's organization)
  - `role` 'viewer' | 'member' | 'admin': Ordered per-graph roles: viewer < member < admin.

## Response `201`

Successful Response

- GraphMemberResponse: A user with access to a graph.
  - `user_id` string, required
  - `name` string, required
  - `email` string, required
  - `role` 'viewer' | 'member' | 'admin', required: Ordered per-graph roles: viewer < member < admin.
  - `source` 'explicit' | 'org_role', required: 'explicit' for a direct grant; 'org_role' for implicit admin held by org owners/admins
  - `granted_at` string, date-time, nullable: When the explicit grant was created (null for implicit access)

## Other responses

- `400`: Invalid request
- `401`: Authentication required
- `403`: Access denied
- `404`: Resource not found
- `422`: Validation Error
- `429`: Rate limit exceeded
- `500`: Internal server error

---

[API](https://skmtc.dev/robosystems/apis/robosystems-api.md) · [All operations](https://skmtc.dev/robosystems/apis/robosystems-api/llms.txt) · [OpenAPI document](https://skmtc.dev/robosystems/apis/robosystems-api/revisions/e661e2d5ca6a?raw)
