---
title: "Update a customer article"
method: PUT
path: "/customerarticles/{id}"
tags: ["CustomerArticles"]
---

# Update a customer article

`PUT /customerarticles/{id}`

## Request

- Base URL: `https://api.c1st.com/api`
- URL: `https://api.c1st.com/api/customerarticles/{id}`
- Auth: HTTP bearer

## Request body

- SetCustomerArticle: The body of the request used for creating / updating CustomerArticles
  - `content` CustomerArticle
    - `id` integer, nullable: A unique CustomerArticle ID
    - `dateadded` string, nullable: The date the customertarticle was created
    - `customerid` integer: The ID of the customer the customerarticle belongs to
    - `customer` Customer: The representation of a customer.
      - `id` integer: A unique customer ID
      - `storeid` integer: ID for the store for which the customer is associated
      - `createddate` string, nullable
      - `name` string, nullable: The name of the customer.
      - `phone` string, nullable: The phone number of the customer. Should start with country code, like +45. If not, assume +45.
      - `phone_e164` string, nullable: Phone number in E.164 format, might sometimes be the same as "phone" but this field is guaranteed to be in E.164 format
      - `country` string, nullable: The country of the phone number. Must be in format ISO 3166-1 alpha-2.
      - `email` string, nullable: The email of the customer.
      - `barcode` string, nullable: Barcode used for POS customer lookup via barcode scanning.
      - `address` string, nullable: The address of the customer.
      - `city` string, nullable: The city of the customer.
      - `zipcode` string, nullable: The zip code of the customer.
      - `addr_country` string, nullable: The country of the customers address.
      - `lat` number, double, nullable: The latitude of the customer.
      - `lng` number, double, nullable: The longitude of the customer.
      - `birthdate` string, nullable
      - `ean` string, nullable: The EAN number associated with the customer. Must be a valid EAN.
      - `vat` string, nullable: The VAT/CVR number associated with the customer.
      - `customerno` string, nullable: The customer-number associated with the customer.
      - `economic_customernumber` integer, nullable: The e-conomic number of the customer.
      - `balance` number, nullable: The customer's balance
      - `note` string, nullable: A note about the customer.
      - `draft` integer: Whether or not the customer is in draft mode
      - `deleted` integer: Whether or not the customer is deleted
      - `tags` CustomerTag[], nullable: Tags associated with the customer.
        - `title` string, required: The title of the tag
        - `id` integer, nullable: The id of the tag
        - `handle` string, nullable: Unique handle for the produttag. Will be set automatically if not set. This value cannot be changed once set.
        - `color` string, nullable: The color used when displaying the tag in the app
      - `permission_marketing` string, nullable: Timestamp for if when the permission has been granted. `null` if permission hasn't been granted.
      - `updated_at` string, nullable: Timestamp for when the last time the customer is updated.
      - `deleted_at` string, nullable: Timestamp for when the last time the customer is deleted.
      - `loyaltypointsbalance` number, nullable: The customers loyalty point balance
      - `loyalty_member_since` string, nullable: Datetime of when the customer joined the loyalty club. If null, the customer is not part of the loyalty club
      - `loyalty_member_id` number, nullable: Assigned loyalty membership ID when the customer joined the loyalty club. If null, the customer is not part of the loyalty club
      - `shopify_customer_id` number, nullable: The corresponding ShopifyCustomerId if customer is syncronized with Shopify
      - `store` object: Name of partner store that customer is registered in. requires scope 'customerlookup'
        - `id` integer: Store id
        - `title` string: Store title
    - `title` string
    - `serieno` string, nullable
    - `color` string, nullable
    - `size` string, nullable
    - `customfield1` string, nullable
    - `customfield2` string, nullable
    - `customfield3` string, nullable
    - `customfield4` string, nullable
    - `storeid` integer: ID of the owning store
    - `servicesubscription` ServiceSubscription
      - `id` integer, nullable: A unique service id
      - `customerarticleid` integer: Which customer article that has been assigned to this subcription
      - `serviceplanid` integer, nullable: The id of the serviceplan it is attached to.
      - `serviceplan` ServicePlan
        - `id` integer, nullable: A unique service id
        - `title` string: title for service
        - `handle` string, nullable: Unique handle for service. Will be set automatically if not set
        - `servicecallgroupid` integer, nullable: Which servicegroup should automatically be selected, if the service is on a customerarticle
        - `servicecallgroupids` integer[], nullable: An array of which servicegroup should automatically be selected, if the service is on a customerarticle
        - `servicecallgroup` ServiceNotificationTemplateGroup: A group of service notification templates
          - `id` integer: Id of the group
          - `title` string, required: Title of the group
          - `enabled` boolean, required: Boolean determening whether the group will be selected by default
          - `producttags` ProductTag[], nullable: Product tags assoicated with the group
            - `title` string: The title of the tag
            - `id` integer, nullable: The ID of the tag
            - `accountno` integer, nullable: The accountno used for book keeping
            - `promotionfilter` PromotionTagFilter, nullable
              - …
            - `handle` string, nullable: Unique handle for the produttag. Will be set automatically if not set. The handle is write once, and can not be changed after the tag is created.
            - `position` number, nullable: Number used to determine order of product tags.
            - `positionafterid` number, nullable: If this is set, the position of this product tag will be between positionafterid and the tag below if it exists.
            - `positionbeforeid` number, nullable: If this is set, the position of this product tag will be between positionbeforeid and the tag above if it exists.
          - `vatmode` string, nullable: VAT associated with the group
          - `templates` ServiceNotificationTemplate[], nullable: Array of templates associated with this group
            - `id` integer: Id of the template
            - `title` string, nullable: The title of the template
            - `enabled` boolean: Boolean determening whether the call should be selected by default in the modal
            - `days` integer: If the template is absolute, this is how many days has to pass from "NOW()" till when the sms is sent out
            - `template` string, nullable: The template of which the sms text will be generated from
            - `absolute` boolean: Boolean that determines if the template is absolute, meaning the date of when the call is sent out is determind in "days" instead of a specific month, day and year
            - `noticedate` string, nullable: The exact date and time of when the service call will be sent out, this is relative to when the service call template is requested
            - `day` integer, nullable: If absolute == false. Specific date of the month of when call is sent out
            - `month` string, nullable: If absolute == false. Specific month of when call is sent out
            - `year` integer, nullable: If absolute == false. Specify the number of year that must pass before the notification is sent
            - `includeinprint` boolean: Whether or not to include notices generated from this template in servicecard print
            - `task_service_group_id` integer: The id of the group of which this call template belongs to
            - `deleted_at` string, nullable: The date and time this ServiceNotificationTemplate was deleted. Null if it is not deleted
          - `deleted_at` string, nullable: The date and time this ServiceNotificationTemplateGroup was deleted. Null if it is not deleted
        - `servicecallgroups` ServiceNotificationTemplateGroup[], nullable
          - `id` integer: Id of the group
          - `title` string, required: Title of the group
          - `enabled` boolean, required: Boolean determening whether the group will be selected by default
          - `producttags` ProductTag[], nullable: Product tags assoicated with the group
            - `title` string: The title of the tag
            - `id` integer, nullable: The ID of the tag
            - `accountno` integer, nullable: The accountno used for book keeping
            - `promotionfilter` PromotionTagFilter, nullable
              - …
            - `handle` string, nullable: Unique handle for the produttag. Will be set automatically if not set. The handle is write once, and can not be changed after the tag is created.
            - `position` number, nullable: Number used to determine order of product tags.
            - `positionafterid` number, nullable: If this is set, the position of this product tag will be between positionafterid and the tag below if it exists.
            - `positionbeforeid` number, nullable: If this is set, the position of this product tag will be between positionbeforeid and the tag above if it exists.
          - `vatmode` string, nullable: VAT associated with the group
          - `templates` ServiceNotificationTemplate[], nullable: Array of templates associated with this group
            - `id` integer: Id of the template
            - `title` string, nullable: The title of the template
            - `enabled` boolean: Boolean determening whether the call should be selected by default in the modal
            - `days` integer: If the template is absolute, this is how many days has to pass from "NOW()" till when the sms is sent out
            - `template` string, nullable: The template of which the sms text will be generated from
            - `absolute` boolean: Boolean that determines if the template is absolute, meaning the date of when the call is sent out is determind in "days" instead of a specific month, day and year
            - `noticedate` string, nullable: The exact date and time of when the service call will be sent out, this is relative to when the service call template is requested
            - `day` integer, nullable: If absolute == false. Specific date of the month of when call is sent out
            - `month` string, nullable: If absolute == false. Specific month of when call is sent out
            - `year` integer, nullable: If absolute == false. Specify the number of year that must pass before the notification is sent
            - `includeinprint` boolean: Whether or not to include notices generated from this template in servicecard print
            - `task_service_group_id` integer: The id of the group of which this call template belongs to
            - `deleted_at` string, nullable: The date and time this ServiceNotificationTemplate was deleted. Null if it is not deleted
          - `deleted_at` string, nullable: The date and time this ServiceNotificationTemplateGroup was deleted. Null if it is not deleted
        - `producttagidsrestriction` integer[], nullable: Array of producttag ids where this service can be applied to. If tagid 1 and 2 is set as restriction, the product have to at least one of them in order to be included in the search
        - `producttaghandlesrestriction` string[], nullable: Array of producttag handles where this service can be applied to. If handle bike and mountainbike is set as restriction, the product have to at least one of them in order to be included in the search.
        - `producttagsrestriction` ProductTag[], nullable: Array of producttags where this service can be applied to.
          - `title` string: The title of the tag
          - `id` integer, nullable: The ID of the tag
          - `accountno` integer, nullable: The accountno used for book keeping
          - `promotionfilter` PromotionTagFilter, nullable
            - `amount` integer, nullable: minimum amount of products in order to apply promotion
            - `date` object, nullable: date of when the promotion should be applied
              - …
          - `handle` string, nullable: Unique handle for the produttag. Will be set automatically if not set. The handle is write once, and can not be changed after the tag is created.
          - `position` number, nullable: Number used to determine order of product tags.
          - `positionafterid` number, nullable: If this is set, the position of this product tag will be between positionafterid and the tag below if it exists.
          - `positionbeforeid` number, nullable: If this is set, the position of this product tag will be between positionbeforeid and the tag above if it exists.
        - `visibility` 'all' | 'secondhandvat' | 'normalvat': Determines what types of products this plan is visible for. All makes the plan visible for products with normalvat and secondhandvat
        - `price` number, nullable: If set, when adding a serviceplan to a serial product, it will create a material with the given price, and set the type of the material as "serivceplan"
        - `terms` integer, nullable: If set, when adding a serviceplan, an enddate is set to be x months from startdate for a subscription
        - `updated_at` string, date-time, nullable: When the service was last updated
        - `created_at` string, date-time, nullable: When the service was created
        - `deleted_at` string, date-time, nullable: When the service was soft deleted
        - `followproductno` string, nullable: When adding a service to a customerarticle, the product with the given followproductno will added as an additional material.
      - `draft` integer, nullable: Whether or not the subscription is in draft mode or not.
      - `updated_at` string, date-time, nullable: When the service was last updated
      - `created_at` string, date-time, nullable: When the service was created
      - `deleted_at` string, date-time, nullable: When the service was deleted
      - `startdate` string, nullable: When the service has started
      - `enddate` string, nullable: When the service is supposed to end. Set if the serviceplan has terms
      - `price` number, nullable: The price of the serviceplan when the service was activated
      - `permission` Permission
        - `read` boolean
        - `write` boolean
      - `active` boolean, nullable: Whether or not the subscription is active, by looking at start- and enddate compared to today
    - `hasservicenotices` boolean: Whether or not the customer article has any service notices, check servicenotices_count instead
    - `servicenotices_count` integer: Amount of service notices
    - `permission` 'none' | 'readonly' | 'full'
    - `deleted` integer, nullable: If 1 this means that the customerarticle is deleted, 0 is not deleted.
    - `updated_at` string, nullable: Timestamp for when the last time the customer is updated.
    - `last_sold_at` string, nullable: Timestamp of when the customerarticle was last sold on a payment (this does not include return payments)
  - `createsubscription` ServiceSubscription
    - `id` integer, nullable: A unique service id
    - `customerarticleid` integer: Which customer article that has been assigned to this subcription
    - `serviceplanid` integer, nullable: The id of the serviceplan it is attached to.
    - `serviceplan` ServicePlan
      - `id` integer, nullable: A unique service id
      - `title` string: title for service
      - `handle` string, nullable: Unique handle for service. Will be set automatically if not set
      - `servicecallgroupid` integer, nullable: Which servicegroup should automatically be selected, if the service is on a customerarticle
      - `servicecallgroupids` integer[], nullable: An array of which servicegroup should automatically be selected, if the service is on a customerarticle
      - `servicecallgroup` ServiceNotificationTemplateGroup: A group of service notification templates
        - `id` integer: Id of the group
        - `title` string, required: Title of the group
        - `enabled` boolean, required: Boolean determening whether the group will be selected by default
        - `producttags` ProductTag[], nullable: Product tags assoicated with the group
          - `title` string: The title of the tag
          - `id` integer, nullable: The ID of the tag
          - `accountno` integer, nullable: The accountno used for book keeping
          - `promotionfilter` PromotionTagFilter, nullable
            - `amount` integer, nullable: minimum amount of products in order to apply promotion
            - `date` object, nullable: date of when the promotion should be applied
              - …
          - `handle` string, nullable: Unique handle for the produttag. Will be set automatically if not set. The handle is write once, and can not be changed after the tag is created.
          - `position` number, nullable: Number used to determine order of product tags.
          - `positionafterid` number, nullable: If this is set, the position of this product tag will be between positionafterid and the tag below if it exists.
          - `positionbeforeid` number, nullable: If this is set, the position of this product tag will be between positionbeforeid and the tag above if it exists.
        - `vatmode` string, nullable: VAT associated with the group
        - `templates` ServiceNotificationTemplate[], nullable: Array of templates associated with this group
          - `id` integer: Id of the template
          - `title` string, nullable: The title of the template
          - `enabled` boolean: Boolean determening whether the call should be selected by default in the modal
          - `days` integer: If the template is absolute, this is how many days has to pass from "NOW()" till when the sms is sent out
          - `template` string, nullable: The template of which the sms text will be generated from
          - `absolute` boolean: Boolean that determines if the template is absolute, meaning the date of when the call is sent out is determind in "days" instead of a specific month, day and year
          - `noticedate` string, nullable: The exact date and time of when the service call will be sent out, this is relative to when the service call template is requested
          - `day` integer, nullable: If absolute == false. Specific date of the month of when call is sent out
          - `month` string, nullable: If absolute == false. Specific month of when call is sent out
          - `year` integer, nullable: If absolute == false. Specify the number of year that must pass before the notification is sent
          - `includeinprint` boolean: Whether or not to include notices generated from this template in servicecard print
          - `task_service_group_id` integer: The id of the group of which this call template belongs to
          - `deleted_at` string, nullable: The date and time this ServiceNotificationTemplate was deleted. Null if it is not deleted
        - `deleted_at` string, nullable: The date and time this ServiceNotificationTemplateGroup was deleted. Null if it is not deleted
      - `servicecallgroups` ServiceNotificationTemplateGroup[], nullable
        - `id` integer: Id of the group
        - `title` string, required: Title of the group
        - `enabled` boolean, required: Boolean determening whether the group will be selected by default
        - `producttags` ProductTag[], nullable: Product tags assoicated with the group
          - `title` string: The title of the tag
          - `id` integer, nullable: The ID of the tag
          - `accountno` integer, nullable: The accountno used for book keeping
          - `promotionfilter` PromotionTagFilter, nullable
            - `amount` integer, nullable: minimum amount of products in order to apply promotion
            - `date` object, nullable: date of when the promotion should be applied
              - …
          - `handle` string, nullable: Unique handle for the produttag. Will be set automatically if not set. The handle is write once, and can not be changed after the tag is created.
          - `position` number, nullable: Number used to determine order of product tags.
          - `positionafterid` number, nullable: If this is set, the position of this product tag will be between positionafterid and the tag below if it exists.
          - `positionbeforeid` number, nullable: If this is set, the position of this product tag will be between positionbeforeid and the tag above if it exists.
        - `vatmode` string, nullable: VAT associated with the group
        - `templates` ServiceNotificationTemplate[], nullable: Array of templates associated with this group
          - `id` integer: Id of the template
          - `title` string, nullable: The title of the template
          - `enabled` boolean: Boolean determening whether the call should be selected by default in the modal
          - `days` integer: If the template is absolute, this is how many days has to pass from "NOW()" till when the sms is sent out
          - `template` string, nullable: The template of which the sms text will be generated from
          - `absolute` boolean: Boolean that determines if the template is absolute, meaning the date of when the call is sent out is determind in "days" instead of a specific month, day and year
          - `noticedate` string, nullable: The exact date and time of when the service call will be sent out, this is relative to when the service call template is requested
          - `day` integer, nullable: If absolute == false. Specific date of the month of when call is sent out
          - `month` string, nullable: If absolute == false. Specific month of when call is sent out
          - `year` integer, nullable: If absolute == false. Specify the number of year that must pass before the notification is sent
          - `includeinprint` boolean: Whether or not to include notices generated from this template in servicecard print
          - `task_service_group_id` integer: The id of the group of which this call template belongs to
          - `deleted_at` string, nullable: The date and time this ServiceNotificationTemplate was deleted. Null if it is not deleted
        - `deleted_at` string, nullable: The date and time this ServiceNotificationTemplateGroup was deleted. Null if it is not deleted
      - `producttagidsrestriction` integer[], nullable: Array of producttag ids where this service can be applied to. If tagid 1 and 2 is set as restriction, the product have to at least one of them in order to be included in the search
      - `producttaghandlesrestriction` string[], nullable: Array of producttag handles where this service can be applied to. If handle bike and mountainbike is set as restriction, the product have to at least one of them in order to be included in the search.
      - `producttagsrestriction` ProductTag[], nullable: Array of producttags where this service can be applied to.
        - `title` string: The title of the tag
        - `id` integer, nullable: The ID of the tag
        - `accountno` integer, nullable: The accountno used for book keeping
        - `promotionfilter` PromotionTagFilter, nullable
          - `amount` integer, nullable: minimum amount of products in order to apply promotion
          - `date` object, nullable: date of when the promotion should be applied
            - `start` string, nullable
            - `end` string, nullable
        - `handle` string, nullable: Unique handle for the produttag. Will be set automatically if not set. The handle is write once, and can not be changed after the tag is created.
        - `position` number, nullable: Number used to determine order of product tags.
        - `positionafterid` number, nullable: If this is set, the position of this product tag will be between positionafterid and the tag below if it exists.
        - `positionbeforeid` number, nullable: If this is set, the position of this product tag will be between positionbeforeid and the tag above if it exists.
      - `visibility` 'all' | 'secondhandvat' | 'normalvat': Determines what types of products this plan is visible for. All makes the plan visible for products with normalvat and secondhandvat
      - `price` number, nullable: If set, when adding a serviceplan to a serial product, it will create a material with the given price, and set the type of the material as "serivceplan"
      - `terms` integer, nullable: If set, when adding a serviceplan, an enddate is set to be x months from startdate for a subscription
      - `updated_at` string, date-time, nullable: When the service was last updated
      - `created_at` string, date-time, nullable: When the service was created
      - `deleted_at` string, date-time, nullable: When the service was soft deleted
      - `followproductno` string, nullable: When adding a service to a customerarticle, the product with the given followproductno will added as an additional material.
    - `draft` integer, nullable: Whether or not the subscription is in draft mode or not.
    - `updated_at` string, date-time, nullable: When the service was last updated
    - `created_at` string, date-time, nullable: When the service was created
    - `deleted_at` string, date-time, nullable: When the service was deleted
    - `startdate` string, nullable: When the service has started
    - `enddate` string, nullable: When the service is supposed to end. Set if the serviceplan has terms
    - `price` number, nullable: The price of the serviceplan when the service was activated
    - `permission` Permission
      - `read` boolean
      - `write` boolean
    - `active` boolean, nullable: Whether or not the subscription is active, by looking at start- and enddate compared to today
  - `removesubscription` boolean, nullable

## Response `200`

Ok

- CustomerArticleResponse: Response when requesting a customer article
  - `content` CustomerArticle
    - `id` integer, nullable: A unique CustomerArticle ID
    - `dateadded` string, nullable: The date the customertarticle was created
    - `customerid` integer: The ID of the customer the customerarticle belongs to
    - `customer` Customer: The representation of a customer.
      - `id` integer: A unique customer ID
      - `storeid` integer: ID for the store for which the customer is associated
      - `createddate` string, nullable
      - `name` string, nullable: The name of the customer.
      - `phone` string, nullable: The phone number of the customer. Should start with country code, like +45. If not, assume +45.
      - `phone_e164` string, nullable: Phone number in E.164 format, might sometimes be the same as "phone" but this field is guaranteed to be in E.164 format
      - `country` string, nullable: The country of the phone number. Must be in format ISO 3166-1 alpha-2.
      - `email` string, nullable: The email of the customer.
      - `barcode` string, nullable: Barcode used for POS customer lookup via barcode scanning.
      - `address` string, nullable: The address of the customer.
      - `city` string, nullable: The city of the customer.
      - `zipcode` string, nullable: The zip code of the customer.
      - `addr_country` string, nullable: The country of the customers address.
      - `lat` number, double, nullable: The latitude of the customer.
      - `lng` number, double, nullable: The longitude of the customer.
      - `birthdate` string, nullable
      - `ean` string, nullable: The EAN number associated with the customer. Must be a valid EAN.
      - `vat` string, nullable: The VAT/CVR number associated with the customer.
      - `customerno` string, nullable: The customer-number associated with the customer.
      - `economic_customernumber` integer, nullable: The e-conomic number of the customer.
      - `balance` number, nullable: The customer's balance
      - `note` string, nullable: A note about the customer.
      - `draft` integer: Whether or not the customer is in draft mode
      - `deleted` integer: Whether or not the customer is deleted
      - `tags` CustomerTag[], nullable: Tags associated with the customer.
        - `title` string, required: The title of the tag
        - `id` integer, nullable: The id of the tag
        - `handle` string, nullable: Unique handle for the produttag. Will be set automatically if not set. This value cannot be changed once set.
        - `color` string, nullable: The color used when displaying the tag in the app
      - `permission_marketing` string, nullable: Timestamp for if when the permission has been granted. `null` if permission hasn't been granted.
      - `updated_at` string, nullable: Timestamp for when the last time the customer is updated.
      - `deleted_at` string, nullable: Timestamp for when the last time the customer is deleted.
      - `loyaltypointsbalance` number, nullable: The customers loyalty point balance
      - `loyalty_member_since` string, nullable: Datetime of when the customer joined the loyalty club. If null, the customer is not part of the loyalty club
      - `loyalty_member_id` number, nullable: Assigned loyalty membership ID when the customer joined the loyalty club. If null, the customer is not part of the loyalty club
      - `shopify_customer_id` number, nullable: The corresponding ShopifyCustomerId if customer is syncronized with Shopify
      - `store` object: Name of partner store that customer is registered in. requires scope 'customerlookup'
        - `id` integer: Store id
        - `title` string: Store title
    - `title` string
    - `serieno` string, nullable
    - `color` string, nullable
    - `size` string, nullable
    - `customfield1` string, nullable
    - `customfield2` string, nullable
    - `customfield3` string, nullable
    - `customfield4` string, nullable
    - `storeid` integer: ID of the owning store
    - `servicesubscription` ServiceSubscription
      - `id` integer, nullable: A unique service id
      - `customerarticleid` integer: Which customer article that has been assigned to this subcription
      - `serviceplanid` integer, nullable: The id of the serviceplan it is attached to.
      - `serviceplan` ServicePlan
        - `id` integer, nullable: A unique service id
        - `title` string: title for service
        - `handle` string, nullable: Unique handle for service. Will be set automatically if not set
        - `servicecallgroupid` integer, nullable: Which servicegroup should automatically be selected, if the service is on a customerarticle
        - `servicecallgroupids` integer[], nullable: An array of which servicegroup should automatically be selected, if the service is on a customerarticle
        - `servicecallgroup` ServiceNotificationTemplateGroup: A group of service notification templates
          - `id` integer: Id of the group
          - `title` string, required: Title of the group
          - `enabled` boolean, required: Boolean determening whether the group will be selected by default
          - `producttags` ProductTag[], nullable: Product tags assoicated with the group
            - `title` string: The title of the tag
            - `id` integer, nullable: The ID of the tag
            - `accountno` integer, nullable: The accountno used for book keeping
            - `promotionfilter` PromotionTagFilter, nullable
              - …
            - `handle` string, nullable: Unique handle for the produttag. Will be set automatically if not set. The handle is write once, and can not be changed after the tag is created.
            - `position` number, nullable: Number used to determine order of product tags.
            - `positionafterid` number, nullable: If this is set, the position of this product tag will be between positionafterid and the tag below if it exists.
            - `positionbeforeid` number, nullable: If this is set, the position of this product tag will be between positionbeforeid and the tag above if it exists.
          - `vatmode` string, nullable: VAT associated with the group
          - `templates` ServiceNotificationTemplate[], nullable: Array of templates associated with this group
            - `id` integer: Id of the template
            - `title` string, nullable: The title of the template
            - `enabled` boolean: Boolean determening whether the call should be selected by default in the modal
            - `days` integer: If the template is absolute, this is how many days has to pass from "NOW()" till when the sms is sent out
            - `template` string, nullable: The template of which the sms text will be generated from
            - `absolute` boolean: Boolean that determines if the template is absolute, meaning the date of when the call is sent out is determind in "days" instead of a specific month, day and year
            - `noticedate` string, nullable: The exact date and time of when the service call will be sent out, this is relative to when the service call template is requested
            - `day` integer, nullable: If absolute == false. Specific date of the month of when call is sent out
            - `month` string, nullable: If absolute == false. Specific month of when call is sent out
            - `year` integer, nullable: If absolute == false. Specify the number of year that must pass before the notification is sent
            - `includeinprint` boolean: Whether or not to include notices generated from this template in servicecard print
            - `task_service_group_id` integer: The id of the group of which this call template belongs to
            - `deleted_at` string, nullable: The date and time this ServiceNotificationTemplate was deleted. Null if it is not deleted
          - `deleted_at` string, nullable: The date and time this ServiceNotificationTemplateGroup was deleted. Null if it is not deleted
        - `servicecallgroups` ServiceNotificationTemplateGroup[], nullable
          - `id` integer: Id of the group
          - `title` string, required: Title of the group
          - `enabled` boolean, required: Boolean determening whether the group will be selected by default
          - `producttags` ProductTag[], nullable: Product tags assoicated with the group
            - `title` string: The title of the tag
            - `id` integer, nullable: The ID of the tag
            - `accountno` integer, nullable: The accountno used for book keeping
            - `promotionfilter` PromotionTagFilter, nullable
              - …
            - `handle` string, nullable: Unique handle for the produttag. Will be set automatically if not set. The handle is write once, and can not be changed after the tag is created.
            - `position` number, nullable: Number used to determine order of product tags.
            - `positionafterid` number, nullable: If this is set, the position of this product tag will be between positionafterid and the tag below if it exists.
            - `positionbeforeid` number, nullable: If this is set, the position of this product tag will be between positionbeforeid and the tag above if it exists.
          - `vatmode` string, nullable: VAT associated with the group
          - `templates` ServiceNotificationTemplate[], nullable: Array of templates associated with this group
            - `id` integer: Id of the template
            - `title` string, nullable: The title of the template
            - `enabled` boolean: Boolean determening whether the call should be selected by default in the modal
            - `days` integer: If the template is absolute, this is how many days has to pass from "NOW()" till when the sms is sent out
            - `template` string, nullable: The template of which the sms text will be generated from
            - `absolute` boolean: Boolean that determines if the template is absolute, meaning the date of when the call is sent out is determind in "days" instead of a specific month, day and year
            - `noticedate` string, nullable: The exact date and time of when the service call will be sent out, this is relative to when the service call template is requested
            - `day` integer, nullable: If absolute == false. Specific date of the month of when call is sent out
            - `month` string, nullable: If absolute == false. Specific month of when call is sent out
            - `year` integer, nullable: If absolute == false. Specify the number of year that must pass before the notification is sent
            - `includeinprint` boolean: Whether or not to include notices generated from this template in servicecard print
            - `task_service_group_id` integer: The id of the group of which this call template belongs to
            - `deleted_at` string, nullable: The date and time this ServiceNotificationTemplate was deleted. Null if it is not deleted
          - `deleted_at` string, nullable: The date and time this ServiceNotificationTemplateGroup was deleted. Null if it is not deleted
        - `producttagidsrestriction` integer[], nullable: Array of producttag ids where this service can be applied to. If tagid 1 and 2 is set as restriction, the product have to at least one of them in order to be included in the search
        - `producttaghandlesrestriction` string[], nullable: Array of producttag handles where this service can be applied to. If handle bike and mountainbike is set as restriction, the product have to at least one of them in order to be included in the search.
        - `producttagsrestriction` ProductTag[], nullable: Array of producttags where this service can be applied to.
          - `title` string: The title of the tag
          - `id` integer, nullable: The ID of the tag
          - `accountno` integer, nullable: The accountno used for book keeping
          - `promotionfilter` PromotionTagFilter, nullable
            - `amount` integer, nullable: minimum amount of products in order to apply promotion
            - `date` object, nullable: date of when the promotion should be applied
              - …
          - `handle` string, nullable: Unique handle for the produttag. Will be set automatically if not set. The handle is write once, and can not be changed after the tag is created.
          - `position` number, nullable: Number used to determine order of product tags.
          - `positionafterid` number, nullable: If this is set, the position of this product tag will be between positionafterid and the tag below if it exists.
          - `positionbeforeid` number, nullable: If this is set, the position of this product tag will be between positionbeforeid and the tag above if it exists.
        - `visibility` 'all' | 'secondhandvat' | 'normalvat': Determines what types of products this plan is visible for. All makes the plan visible for products with normalvat and secondhandvat
        - `price` number, nullable: If set, when adding a serviceplan to a serial product, it will create a material with the given price, and set the type of the material as "serivceplan"
        - `terms` integer, nullable: If set, when adding a serviceplan, an enddate is set to be x months from startdate for a subscription
        - `updated_at` string, date-time, nullable: When the service was last updated
        - `created_at` string, date-time, nullable: When the service was created
        - `deleted_at` string, date-time, nullable: When the service was soft deleted
        - `followproductno` string, nullable: When adding a service to a customerarticle, the product with the given followproductno will added as an additional material.
      - `draft` integer, nullable: Whether or not the subscription is in draft mode or not.
      - `updated_at` string, date-time, nullable: When the service was last updated
      - `created_at` string, date-time, nullable: When the service was created
      - `deleted_at` string, date-time, nullable: When the service was deleted
      - `startdate` string, nullable: When the service has started
      - `enddate` string, nullable: When the service is supposed to end. Set if the serviceplan has terms
      - `price` number, nullable: The price of the serviceplan when the service was activated
      - `permission` Permission
        - `read` boolean
        - `write` boolean
      - `active` boolean, nullable: Whether or not the subscription is active, by looking at start- and enddate compared to today
    - `hasservicenotices` boolean: Whether or not the customer article has any service notices, check servicenotices_count instead
    - `servicenotices_count` integer: Amount of service notices
    - `permission` 'none' | 'readonly' | 'full'
    - `deleted` integer, nullable: If 1 this means that the customerarticle is deleted, 0 is not deleted.
    - `updated_at` string, nullable: Timestamp for when the last time the customer is updated.
    - `last_sold_at` string, nullable: Timestamp of when the customerarticle was last sold on a payment (this does not include return payments)

---

[API](https://skmtc.dev/c1st/apis/customers-1st-api.md) - [All operations](https://skmtc.dev/c1st/apis/customers-1st-api/llms.txt) - [OpenAPI document](https://skmtc.dev/c1st/apis/customers-1st-api/revisions/4250bb326f2a?raw)
