---
title: "Create service product"
method: POST
path: "/v1/ServiceProduct"
tags: ["ServiceProduct"]
---

# Create service product

`POST /v1/ServiceProduct`

Create a new service product.

## Request body

- RevAppPostModelsServiceProductPostModel
  - `effective_date` string, date-time — Date when this change will take effect in the billing cycle. If not set, Effective Date will be the date of the change.
  - `generate_proration` boolean, required — Indicates whether billing should take into account the exact effective date and create prorated charges if applicable.
  - `service_product_id` integer — Primary identifier for this service product.
  - `customer_id` integer — ID of associated customer account.
  - `product_id` integer, required — ID of source product from catalog.
  - `package_id` integer — ID of the package of which this product is a member.
  - `service_id` integer, required — ID of the associated service.
  - `description` string — Contains the description of the product that will display on the bill.
  - `code_1` string — Supports provisioning codes for electronic ordering and provisioning with providers (i.e. USOC). This will be different for all electronic provisioning integrations.
  - `code_2` string — Used for ordering and provisioning with providers (i.e. FID). This will be different for all electronic provisioning integrations.
  - `rate` number, double — Rate that will be passed on to the customer. Please use only positive numbers. Use the credit_flag field to pass a credit product.
  - `billed_through_date` string, date-time — The last day a customer was billed for this product.
  - `canceled_date` string, date-time — The effective day of cancellation.
  - `status` 'PENDING' | 'ACTIVE' | 'DENIED' | 'DISCONNECTED' — The current status of the service product.
  - `status_date` string, date-time — The date this service product entered its current status.
  - `status_user_id` integer — ID of the user responsible for the product's current status.
  - `activated_date` string, date-time — Date this product became active or billable.
  - `cost` number, double — Your company's cost for this service product. Used in relation to Rate to calculate margin.
  - `wholesale_description` string — A secondary description of the product, typically related to provider-side naming. Not visible to end users through typical means, but may be exposed via reporting at your discretion.
  - `free_start_date` string, date-time — Notes the start of a time frame for which this product is free.
  - `free_end_date` string, date-time — Notes the end of a time frame for which this product is free.
  - `quantity` integer — Number of this type of product provided to end user. This is multiplied by the Rate field when calculating a recurring charge.
  - `contract_start_date` string, date-time — Beginning date for a contract to provide this service product.
  - `contract_end_date` string, date-time — Ending date for a contract to provide this service product.
  - `automatic_expiration_end_date` string, date-time — Ending date for the automatic expiration for this service product.
  - `created_date` string, date-time — The date this service product was added to the system.
  - `tax_included` boolean — Indicates total amount of charge should not exceed the value in rate. The base amount is adjusted dynamically on charges produced each month, to ensure base + tax = rate.
  - `group_on_bill` boolean — Applicable only to products that are a part of a package. Indicates this product's rate should be grouped into a sum package amount when displayed on a bill.
  - `itemized` boolean — Applicable only to products that are a part of a package and grouped. Indicates that, although their price is grouped, the name of the product will still show indented underneath on the bill, but with no individual price displayed.
  - `credit_flag` boolean — Determines the type of service product.
  - `fields` RevAppModelsFieldValue[] — List of custom fields and their values.
    - `field_id` integer — Primary identifier for this custom field.
    - `label` string — User-defined identifier representing the custom field.
    - `value` string — Value of the custom field.
    - `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.net/rev-io/apis/rev-io-api.md) · [All operations](https://skmtc.net/rev-io/apis/rev-io-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/rev-io/rev-io-api/versions/135571434f6c/schema)
