---
title: "Creates new Product Type entity in the system"
url: "https://developer.retailexpress.com.au/apis/retail-express-api-21-v2/versions/210b509a-613e-44ac-a87b-ef6c22c23a2c/operations/post-producttypes"
---

> Full API specification: https://developer.retailexpress.com.au/apis/retail-express-api-21-v2/versions/210b509a-613e-44ac-a87b-ef6c22c23a2c.md

# Creates new Product Type entity in the system

`POST` `/producttypes`

Operation ID: `post-producttypes`

Sample request: POST /producttypes { "name": "ProductTypeName" }

## Header parameters

- `x-api-key` (string, required) - Api subscription key
- `Cache-Control` (string, optional)
- `Authorization` (string, required) - Bearer token for authorization (e.g., Bearer <token>)

## Request body

Content types: `application/json`

## Responses

- `201` - New Product Type was created
- `400` - Bad request
- `401` - Unauthorized
- `403` - Forbidden

## OpenAPI definition

```yaml
openapi: 3.0.1
info:
  title: Retail Express API
  version: v2.1
servers:
  - url: https://api.retailexpress.com.au/v2.1
paths:
  /producttypes:
    post:
      tags:
        - producttypes
      summary: Creates new Product Type entity in the system
      description: "Sample request:\r

        \            \r

        \    POST /producttypes\r

        \    {\r

        \       \"name\": \"ProductTypeName\"\r

        \    }"
      operationId: post-producttypes
      parameters:
        - name: x-api-key
          in: header
          description: Api subscription key
          required: true
          schema:
            type: string
        - name: Cache-Control
          in: header
          required: false
          schema:
            type: string
            default: no-cache
        - name: Authorization
          in: header
          required: true
          description: Bearer token for authorization (e.g., Bearer <token>)
          schema:
            type: string
      requestBody:
        description: Type model
        content:
          application/json:
            schema:
              title: EmptyExample
              type: object
              additionalProperties: false
      responses:
        "201":
          description: New Product Type was created
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProductType"
              example:
                id: 0
                name: string
                modified_on: string
        "400":
          description: Bad request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
              example:
                type: string
                title: string
                status: 0
                detail: string
                instance: string
        "401":
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
              example:
                type: string
                title: string
                status: 0
                detail: string
                instance: string
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
              example:
                type: string
                title: string
                status: 0
                detail: string
                instance: string
security: []
components:
  schemas:
    ProductType:
      title: ""
      type: object
      properties:
        id:
          type: integer
          description: Product type Id.
          format: int32
          nullable: true
        name:
          maxLength: 50
          minLength: 0
          pattern: ^[a-zA-Z0-9\s./;:\-_+()*&^%$#@]+$
          type: string
          description: Product type description (Name)
          nullable: true
        modified_on:
          type: string
          description: Modified on
          format: date-time
      additionalProperties: false
      description: Product Type Model
    ProblemDetails:
      title: ""
      type: object
      properties:
        type:
          type: string
          nullable: true
        title:
          type: string
          nullable: true
        status:
          type: integer
          format: int32
          nullable: true
        detail:
          type: string
          nullable: true
        instance:
          type: string
          nullable: true
      additionalProperties: {}
```
