---
title: "Adds existed platform user as a member to the specified contract."
method: POST
path: "/contracts/{contract_id}/members"
tags: ["contracts"]
---

# Adds existed platform user as a member to the specified contract.

`POST /contracts/{contract_id}/members`

You have to be a user with `TenantAdmin` role to access this resource.

## Path parameters

- `contract_id` string, required

## Request body

- object
  - `data` object, required
    - `id` string, required — The identifier of an already registered user
    - `type` 'contract-member', required — A value should be `contract-member`
    - `attributes` object, required
      - `roles` string[], required — Set of roles of the specified user in this contract

## Response `201`

Created

- object
  - `data` object, required
    - `id` string, required
    - `type` 'contract-member', required
    - `attributes` object, required
      - `first_name` string, required
      - `last_name` string, required
      - `roles` string[], required
      - `email` string, required

## Other responses

- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not Found
- `409` — Conflict

---

[API](https://skmtc.net/elastic/apis/elastic-io-rest-api-documentation-v2.md) · [All operations](https://skmtc.net/elastic/apis/elastic-io-rest-api-documentation-v2/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/elastic/elastic-io-rest-api-documentation-v2/revisions/411f9f98c01e/schema)
