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

# List service types

> List the carrier's service types: what each charge is for, such as switching or storage. Accounting integrations map them to items or products in NetSuite or QuickBooks. Filter by IDs, code, or service type group.



## OpenAPI

````yaml /user-docs/api-reference/external-openapi.json post /rms/service_types/list
openapi: 3.1.0
info:
  title: ARMS External API
  version: 1.0.0
  description: >-
    OpenAPI specification generated from external API schemas. Endpoints require
    query parameter carrierId and headers x-arms-api-key and x-arms-assume-user.
  license:
    name: Proprietary
    url: https://cedarai.com
servers:
  - url: https://api-lg.arms.cedarai.com
    description: Production (US)
  - url: https://api-lg.arms.cedarai.se
    description: Production (EU)
security:
  - ApiKeyAuth: []
    AssumeUser: []
paths:
  /rms/service_types/list:
    post:
      summary: List service types
      description: >-
        List the carrier's service types: what each charge is for, such as
        switching or storage. Accounting integrations map them to items or
        products in NetSuite or QuickBooks. Filter by IDs, code, or service type
        group.
      operationId: listServiceTypes
      parameters:
        - $ref: '#/components/parameters/CarrierId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ListServiceTypesInput'
            examples:
              all:
                summary: All service types
                value: {}
              byCode:
                summary: By service type code
                value:
                  serviceTypeCode: LEASE
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListServiceTypesOutput'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized (bad key, carrier not permitted, or missing permission)
        '500':
          description: Internal Server Error
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  parameters:
    CarrierId:
      name: carrierId
      in: query
      required: true
      schema:
        type: integer
      description: Carrier identifier; required for all endpoints
  schemas:
    ListServiceTypesInput:
      type: object
      properties:
        carrierId:
          type: integer
          description: >-
            Carrier identifier. Defaults to the `carrierId` query parameter; if
            you send it, use the same value.
        serviceTypeIds:
          type: array
          items:
            type: string
            format: uuid
          description: Optional filter by service type IDs.
        serviceTypeCode:
          type: string
          description: Optional filter by exact service type code.
        serviceTypeGroupId:
          type: string
          format: uuid
          description: Optional filter by service type group.
        getDeleted:
          type: boolean
          default: false
          description: >-
            Also return service types that were deleted in ARMS (they have
            `deletedAt`).
    ListServiceTypesOutput:
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/ServiceType'
        contract:
          type: object
          properties:
            effect:
              type: string
              enum:
                - overwrite
            resourceType:
              type: string
              enum:
                - ServiceType
    Error:
      type: object
      properties:
        message:
          type: string
    ServiceType:
      type: object
      description: >-
        A service type: what a charge is for. Fields without a value are left
        out.
      properties:
        serviceTypeId:
          type: string
          format: uuid
        carrierId:
          type: integer
        serviceTypeName:
          type: string
        serviceTypeCode:
          type: string
        contextType:
          type: string
          enum:
            - INCIDENTAL
            - CYCLE
            - EXCESS
        serviceTypeGroupId:
          type: string
          format: uuid
        serviceTypeGroupName:
          type: string
        defaultTaxIds:
          type: array
          items:
            type: string
            format: uuid
        createdAt:
          type: string
          format: date-time
        createdById:
          type: string
          format: uuid
        updatedAt:
          type: string
          format: date-time
        updatedById:
          type: string
          format: uuid
        deletedAt:
          type: string
          format: date-time
        deletedById:
          type: string
          format: uuid
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-arms-api-key
      description: Your ARMS API key
    AssumeUser:
      type: apiKey
      in: header
      name: x-arms-assume-user
      description: Email of a user assigned to the appropriate user group

````

## Related topics

- [API Introduction](/user-docs/api-reference/introduction.md)
- [Create service type](/api-reference/create-service-type.md)
- [Update service type](/api-reference/update-service-type.md)
- [Get service type](/api-reference/get-service-type.md)
- [QuickBooks Online](/user-docs/accounting-integrations/quickbooks-online.md)
