---
title: "Assign product"
method: POST
path: "/appReseller/v1/subscriptionAssignments"
tags: ["AppResellerAssignment"]
---

# Assign product

`POST /appReseller/v1/subscriptionAssignments`

## Request

- Base URL: `https://marketplace.appdirect.com/api`
- URL: `https://marketplace.appdirect.com/api/appReseller/v1/subscriptionAssignments`
- Auth: none declared
- TypeScript: <https://skmtc.dev/appdirect/apis/companies/docs/appReseller/v1/subscriptionAssignments/post.ts> (a function with typed inputs; its response is checked against the schema)

Assign a seat of a purchased product to a user who is a member of a linked marketplace company

## Request body

- AppResellerSubscriptionAssignmentRequestWS: Request to assign a product to a user
  - `userId` string, required: ID of the user to whom the product will be assigned
  - `subscriptionId` string, required: ID of the product subscription to assign to the user

## Response `200`

Assignment created

- AppResellerSubscriptionAssignmentWS: Assignment of a product to a user
  - `id` string, required: Assignment ID
  - `status` 'PENDING_REQUIRED_DATA' | 'PENDING_SEAT_AVAILABILITY' | 'PENDING_USER_ACTIVATION' | 'PENDING_REMOTE_CREATION' | 'SUBSCRIPTION_SUSPENDED_FREE_TRIAL_EXPIRED' | 'SUBSCRIPTION_SUSPENDED_RENEW_CONTRACT' | 'SUBSCRIPTION_SUSPENDED_PAY_INVOICE' | 'SUBSCRIPTION_SUSPENDED_MANUAL_SUSPENSION' | 'FAILED' | 'ACTIVE' | 'PENDING_REMOTE_CANCELLATION' | 'CANCELLED', required
  - `createdOn` number, required: Assignment creation date, in timestamp format
  - `user` UserAssociation, required: A minimum version of a user: includes only the user ID, first name, and last name
    - `id` string, required: User ID
    - `firstName` string, required: User first name
    - `lastName` string, required: User last name
  - `subscriptionId` string, required: ID of the subscription assigned to the user

## Other responses

- `401`: Unauthorized
- `409`: Conflict

## Changes

- **2026-11-06** `1fc240f06971`: 5 breaking, 8 info
  - added the new required request property `subscriptionId`
  - added the new required request property `userId`
  - the request's body type changed from no type to `object`
  - the response's body type changed from no type to `object` for status `200`
  - …9 more

[Operation history](https://skmtc.dev/appdirect/apis/companies/changes/appReseller/v1/subscriptionAssignments/post.md)

---

[API](https://skmtc.dev/appdirect/apis/companies.md) - [All operations](https://skmtc.dev/appdirect/apis/companies/llms.txt) - [OpenAPI document](https://skmtc.dev/appdirect/apis/companies/revisions/1fc240f06971?raw)
