> ## Documentation Index
> Fetch the complete documentation index at: https://apidocs.specurate.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Assign Seats



## OpenAPI

````yaml /openapi.json post /v1/workspaces/{workspaceId}/licenses/{licenseId}/seats
openapi: 3.1.0
info:
  title: Specurate API
  description: ''
  version: 1.0.0
  contact: {}
servers:
  - url: https://app.specurate.com/api
    description: API Server
security: []
tags: []
paths:
  /v1/workspaces/{workspaceId}/licenses/{licenseId}/seats:
    post:
      tags:
        - License Seats
      summary: Assign Seats
      operationId: LicenseSeatsController_assignSeats_v1
      parameters:
        - name: workspaceId
          required: true
          in: path
          schema:
            type: string
            pattern: ^\d+$
        - name: licenseId
          required: true
          in: path
          schema:
            type: string
            pattern: ^\d+$
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AssignSeatsDto'
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/LicenseSeatResponseDto'
components:
  schemas:
    AssignSeatsDto:
      type: object
      properties:
        userIds:
          minItems: 1
          maxItems: 50
          type: array
          items:
            type: string
            pattern: ^\d+$
      required:
        - userIds
      additionalProperties: false
    LicenseSeatResponseDto:
      type: object
      properties:
        activatedAt:
          type: string
        memberTags:
          type: array
          items:
            type: string
        grants:
          type: array
          items:
            $ref: '#/components/schemas/SeatGrantDto'
        userId:
          type: string
        email:
          type: string
        firstName:
          type: string
          nullable: true
        lastName:
          type: string
          nullable: true
      required:
        - activatedAt
        - memberTags
        - grants
        - userId
        - email
        - firstName
        - lastName
    SeatGrantDto:
      type: object
      properties:
        source:
          type: string
          enum:
            - owner
            - team
            - direct
            - request
            - invitation
        teamId:
          type: string
        teamName:
          type: string
        teamViewOnlyFeatureKeys:
          type: array
          items:
            type: string
            enum:
              - collaboration
              - brand_standard
              - catalog
              - specifications
              - procurement_finance
              - logistics
              - budget_analysis
              - ai_assistant
      required:
        - source

````