openapi: 3.0.3

info:
  title: Action Types (Matter Types)
  description: "For retrieving Matter types. For historical reasons Matters are referred to as *actions* in this version of the API. For information of how to construct requests utilising fieldsets, sorting, paging, filters, and '*includes*', please refer to the API Developer Portal. E&OE."
  version: "1.0"

externalDocs:
  description: API Developer Portal - Constructing API Requests
  url: https://docs.actionstep.com/api-requests/

paths:
  '/actiontypes':
    get:
      description: Returns a collection of Matter types. For information on how to construct requests filtering by various properties on a Matter type please refer to the API Developer Portal.
      tags:
        - ActionTypes
      responses:
        '200':
          description: OK.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PagedActionTypes'

components:
  schemas:
    PagedActionTypes:
      type: object
      properties:
        actions:
          type: array
          items:
            $ref: '#/components/schemas/ActionType'
        meta:
          $ref: '#/components/schemas/PageMetaData'

    PageMetaData:
      type: object
      properties:
        paging:
          $ref: '#/components/schemas/PagingData'

    PagingData:
      type: object
      properties:
        actions:
          $ref: '#/components/schemas/ActionTypePageData'

    ActionTypePageData:
      type: object
      properties:
        recordCount:
          description: The total number of Matter types returned by the underlying query.
          type: integer
          example: 360
        pageCount:
          description: The total number of pages generated by the underlying query.
          type: integer
          example: 8
        page:
          description: The page number for this page of Matter types.
          type: integer
          example: 2
        pageSize:
          description: Page size.
          type: integer
          example: 50
        prevPage:
          description: A URL to the previous page of Matter types.
          type: string
          example: https://ap-southeast-2.actionstep.com/api/rest/actiontypes?page=1
        nextPage:
          description: A URL to the next page of Matter types.
          type: string
          example: https://ap-southeast-2.actionstep.com/api/rest/actiontypes?page=3

    ActionType:
      type: object
      properties:
        id:
          description: Unique identifier for the Matter type.
          example: 113
          type: integer
        name:
          description: Name of the Matter type.
          example: Litigation.
          type: string
        description:
          description: Description for the Matter type.
          example: Covers all general litigation matters.
          type: string
        copyrightHolder:
          description: For third-party Matter type templates this shows the copyright owner.
          example: Xeon Legal Corp
          type: string
        copyrightContact:
          description: For third-party Matter type templates this shows the creator's contact name.
          example: James Wattenger
          type: string
        copyrightEmail:
          description: For third-party Matter type templates this shows the creator's email address.
          example: james.wattenger@xeonlegal.com
          type: string
        trackActualTime:
          description: Flag to indicate if the Matter type will track actual time, True (T) or False (F).
          example: T
          type: string
        trackBillableTime:
          description: Flag to indicate if the Matter type will track billable time, True (T) or False (F).
          example: T
          type: string
        isForMarketingCampaigns:
          description: Flag to indicate if the Matter type can be used for marketing campaigns, True (T) or False (F).
          example: F
          type: string
        isForMarketingEvents:
          description: Flag to indicate if the Matter type can be used for marketing events, True (T) or False (F).
          example: F
          type: string
        isForEmployees:
          description: Flag to indicate if the Matter type can be used by employees, True (T) or False (F).
          example: F
          type: string
        isForCrm:
          description: Flag to indicate if the Matter type can be used for CRM, True (T) or False (F).
          example: F
          type: string
        isForDebtCollection:
          description: Flag to indicate if the Matter type can be used for debt collection, True (T) or False (F).
          example: T
          type: string
        isDisabled:
          description: Flag to indicate if the Matter type is disabled, True (T) or False (F).
          example: F
          type: string
        isBillable:
          description: Flag to indicate if the Matter type is billable, True (T) or False (F).
          example: T
          type: string
        enableActionImage:
          description: Flag to indicate if the Matter type can display the default logo/image, True (T) or False (F).
          example: T
          type: string
        defaultEmailSubject:
          description: Default email subject when composing emails.
          example: Referencing current litigation matter
          type: string
        logoFilename:
          description: File name of the default logo/image for the Matter type.
          example: general_litigation_image.png
          type: string
        customLogoFilename:
          description: Override file name containing a custom logo/image.
          example: xeon_litigation.jpg
          type: string
        customLogoDirectory:
          description: Folder name containing the custom logo/image.
          example: logos
          type: string
        customLogoFilesize:
          description: Size in bytes of the custom logo/image.
          example: 1632
          type: integer
        customLogoModifiedTimestamp:
          description: Timestamp of when the custom logo/image was last modified.
          example: 2022-05-03T20:49:15+12:00
          format: timestamp
          type: string
        templateIdentifier:
          description: Unique identifier for the Matter type template.
          example: 6fc4839a01e526ccafbe78df01b588d1909302c9
          type: string
        allowCloseWithOpenInvoice:
          description: Flag to indicate if Matters created from the Matter type can closed with any open invoices, True (T) or False (F).
          example: F
          type: string
        allowInlineCustomizing:
          description: Flag to indicate if inline customization of the Matter type is permitted, True (T) or False (F).
          example:
          type: string
        canCreate:
          description: Flag to indicate if Matters can be created from the Matter type, True (T) or False (F).
          example:
          type: string
        links:
          $ref: '#/components/schemas/ActionTypeLinks'

    ActionTypeLinks:
      type: object
      properties:
        primaryParticipantType:
          description: Unique identifier of the primary participant type for the Matter type.
          example: 450
          type: integer
