---
title: "Create service type"
method: POST
path: "/v1/ServiceTypes"
tags: ["ServiceTypes"]
---

# Create service type

`POST /v1/ServiceTypes`

Create a new service type.

## Request body

- RevAppModelsServiceType — The Service Type DTO model object for Web Responses
  - `service_type_id` integer — Primary identifier for this service type.
  - `active` boolean — Indicates whether this type can be assigned.
  - `description` string, required — Short description of the type (i.e. the name).
  - `service_code` string, required — The unique code string representing the service
  - `fields` RevAppModelsServiceFieldModel[] — List of built-in and custom fields associated with the service type
    - `display_name` string, required — Display name for field
    - `field_id` integer — Field ID
    - `description` string — Field description
    - `tab_name` string — Name of tab to show field
    - `builtin_field` RevAppModelsServiceFieldBuiltinFieldModel
      - `field` 'Account_Group_ID' | 'Activated_Date' | 'AddressA_ID' | 'AddressZ_ID' | 'AddressZWeight' | 'AltBtnId' | 'Bounty_Eligible_Flag' | 'CallPlanID' | 'Carrier_Account_ID' | 'Carrier_Account_Number' | 'Carrier_ID' | 'Channels' | 'Channels_Data' | 'Channels_Voice' | 'Circuit_Completion_Date' | 'Circuit_FOC_Date' | 'Circuit_Number' | 'Circuit_Number2' | 'Circuit_Order_Date' | 'Circular_Hunt' | 'CLLI_Code' | 'Close_Reason_ID' | 'Contract_End' | 'Contract_Start' | 'Customer_ID' | 'd_Channel' | 'Description' | 'Digits_Outpulsed' | 'Disconnect_Date' | 'DNIS' | 'Hunt_Group' | 'Hunt_Identifier' | 'Hunt_Sequence' | 'International_Access' | 'IPIC' | 'IsCircuit' | 'isDataOnly' | 'IsPorting' | 'Line_ID' | 'Line_Type_ID' | 'LineOCN' | 'LPIC' | 'MAC' | 'Notes' | 'Override_Class' | 'Override_Class_Flag' | 'Package_ID' | 'Pair' | 'PBX_Make' | 'PBX_Model' | 'PIC' | 'Port' | 'Program_ID' | 'Protocol' | 'Rate_Center' | 'RDT_Equipment' | 'Router_DHCP' | 'Router_IP' | 'Router_Password' | 'Router_Protocol' | 'Router_Subnet' | 'Shelf' | 'Slot' | 'Switch' | 'TN' | 'TN_800' | 'TN_LD_Access' | 'TN_Reservation' | 'TN_VoiceMail' | 'WanRouter_DHCP' | 'WanRouter_IP' | 'WanRouter_Password' | 'WanRouter_Protocol' | 'WanRouter_Subnet' | 'Wireless_Device_ID' | 'Wireless_Device_Type' | 'Exchange_Key' | 'UNEL_Cut_Date' | 'Circuit_Reference' | 'Relay_Rack' | 'Transferred_From_Line_ID', required — The underlying built-in field that this field refers to
    - `custom_field` RevAppModelsServiceFieldCustomFieldModel
      - `type` 'TEXTBOX' | 'TEXTAREA' | 'DROPDOWNLIST' | 'RADIOBUTTONLIST' | 'CHECKBOX' | 'DATE' | 'REGEX', required — custom field type
      - `required` boolean — required flag
      - `options` string[] — options array
      - `default_value` string — custom field default value
      - `regex` string — custom field regex
      - `regex_validation_message` string — custom field regex message
    - `links` RevAppComponentsLink[]
      - `rel` string
      - `href` string
  - `links` RevAppComponentsLink[]
    - `rel` string
    - `href` string

## Response `201`

Created

- RevWebAPIModelsCreate
  - `ok` boolean
  - `id` integer

## Other responses

- `400` — BadRequest
- `500` — InternalServerError

---

[API](https://skmtc.dev/rev-io/apis/rev-io-api.md) · [All operations](https://skmtc.dev/rev-io/apis/rev-io-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/rev-io/rev-io-api/revisions/135571434f6c/schema)
