Smokeball Matter Types API

The Matter Types API from Smokeball — 3 operation(s) for matter types.

OpenAPI Specification

smokeball-matter-types-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Smokeball Activity Codes Matter Types API
  version: '1.0'
  description: REST API for integrating with Smokeball legal practice management software. Supports matters, contacts, documents, time entries, billing, trust accounting, staff, webhooks, and law firm workflows across US, AU, and UK regions. Uses OAuth 2.0 (client credentials) authentication.
  contact:
    name: Smokeball Developer Support
    url: https://docs.smokeball.com/docs/api-docs/1e13a13124aee-introduction
  x-api-id: smokeball
  x-audience: external-public
servers:
- url: https://api.smokeball.com
- url: https://api.smokeball.com.au
- url: https://api.smokeball.co.uk
- url: https://stagingapi.smokeball.com
- url: https://stagingapi.smokeball.com.au
- url: https://stagingapi.smokeball.co.uk
security:
- api-key: []
  token: []
tags:
- name: Matter Types
paths:
  /mattertypes:
    get:
      tags:
      - Matter Types
      summary: Get matter types
      description: "Returns a paginated list of matter types based on search criteria. Deleted matter types are not included.\r\n\r\nNote: If no `Location` is provided, all matter types from all locations will be returned."
      operationId: GetMatterTypes
      parameters:
      - name: Offset
        in: query
        schema:
          maximum: 2147483647
          minimum: 0
          type: integer
          format: int32
      - name: Limit
        in: query
        schema:
          maximum: 500
          minimum: 1
          type: integer
          format: int32
      - name: Name
        in: query
        description: Searches for partial match on matter type name
        schema:
          type: string
      - name: Location
        in: query
        description: Return matter types from a specific location. In the US API this is the ANSI 2 letter state code (e.g. IL, NY). In the AU API this is shorthand state code (e.g. NSW, ACT, etc)
        schema:
          type: string
      - name: Category
        in: query
        description: Return matter types from a specific category.
        schema:
          type: string
      - name: Type
        in: query
        description: "Return matter types by category type (i.e. MatterType or LeadType).\r\n            \r\nPossible values: Matter Type = 0, Lead Type = 1."
        schema:
          allOf:
          - $ref: '#/components/schemas/TypeCategory'
          example: 0
        example: 0
      responses:
        '200':
          description: When request is successful. Returns a paged collection of 'MatterTypeInfo' objects.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MatterTypeInfoPagedCollection'
        '400':
          description: When an unsupported request is made.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
  /mattertypes/{id}:
    get:
      tags:
      - Matter Types
      summary: Get a matter type
      description: Retrieves a specified matter type.
      operationId: GetMatterTypeById
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: When request is successful. Returns a 'MatterType' object.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MatterType'
        '400':
          description: When an unsupported request is made.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '404':
          description: When matter type with specified id does not exist.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
  /mattertypes/categories:
    get:
      tags:
      - Matter Types
      summary: Get matter types categories
      description: Returns a list of all the possible matter type categories.
      operationId: GetCategories
      responses:
        '200':
          description: When request is successful. Returns a collection of 'Categories'.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StringCollection'
        '400':
          description: When an unsupported request is made.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
components:
  schemas:
    MatterListItem:
      type: object
      properties:
        href:
          type: string
          nullable: true
        relation:
          type: string
          nullable: true
        method:
          type: string
          default: GET
          nullable: true
        self:
          allOf:
          - $ref: '#/components/schemas/Link'
          nullable: true
        id:
          type: string
          description: Unique provider-specific identifier of the item.
          nullable: true
          example: Plaintiff
        providerId:
          type: string
          description: Provider name of the item.
          nullable: true
          example: roles_provider
        itemId:
          type: string
          description: Unique identifier of the item.
          nullable: true
          example: 009f778f-83df-454a-b344-768a862a7e55
        name:
          type: string
          description: Name of the item.
          nullable: true
          example: Claimant
        subItems:
          type: array
          items:
            $ref: '#/components/schemas/MatterListItem'
          description: List of sub items belonging to the item.
          nullable: true
      additionalProperties: false
    MatterTypeInfo:
      type: object
      properties:
        href:
          type: string
          nullable: true
        relation:
          type: string
          nullable: true
        method:
          type: string
          default: GET
          nullable: true
        self:
          allOf:
          - $ref: '#/components/schemas/Link'
          nullable: true
        id:
          type: string
          description: Unique identifier of the matter type.
          nullable: true
          example: 009f778f-83df-454a-b344-768a862a7e55
        versionId:
          type: string
          description: Version id of the record.
          nullable: true
          example: 832e778f-83df-454a-b344-768a862a7e67
        name:
          type: string
          description: Name of the matter type.
          nullable: true
          example: Federal Litigation
        category:
          type: string
          description: Name of the category to which the matter type belongs.
          nullable: true
          example: Litigation
        type:
          allOf:
          - $ref: '#/components/schemas/TypeCategory'
          description: "Name of the category type to which the matter type belongs (i.e. MatterType or LeadType).\r\n            \r\nPossible values: Matter Type = 0, Lead Type = 1."
          example: 0
        representativeOptions:
          type: array
          items:
            type: string
          description: List of possible representative types for the matter type.
          nullable: true
          example:
          - Applicant
          - Respondent
        location:
          type: string
          description: State to which the matter type belongs.
          nullable: true
          example: Litigation
        isDeleted:
          type: boolean
          description: "Returns true if the matter type is deleted.\r\n\r\nDeleted matter types cannot be used when creating new leads/matters."
      additionalProperties: false
    MatterType:
      type: object
      properties:
        href:
          type: string
          nullable: true
        relation:
          type: string
          nullable: true
        method:
          type: string
          default: GET
          nullable: true
        self:
          allOf:
          - $ref: '#/components/schemas/Link'
          nullable: true
        id:
          type: string
          description: Unique identifier of the matter type.
          nullable: true
          example: 009f778f-83df-454a-b344-768a862a7e55
        versionId:
          type: string
          description: Version id of the record.
          nullable: true
          example: 832e778f-83df-454a-b344-768a862a7e67
        name:
          type: string
          description: Name of the matter type.
          nullable: true
          example: Federal Litigation
        category:
          type: string
          description: Name of the category to which the matter type belongs.
          nullable: true
          example: Litigation
        type:
          allOf:
          - $ref: '#/components/schemas/TypeCategory'
          description: "Name of the category type to which the matter type belongs (i.e. MatterType or LeadType).\r\n            \r\nPossible values: Matter Type = 0, Lead Type = 1."
          example: 0
        representativeOptions:
          type: array
          items:
            type: string
          description: List of possible representative types for the matter type.
          nullable: true
          example:
          - Applicant
          - Respondent
        location:
          type: string
          description: State to which the matter type belongs.
          nullable: true
          example: Litigation
        isDeleted:
          type: boolean
          description: "Returns true if the matter type is deleted.\r\n\r\nDeleted matter types cannot be used when creating new leads/matters."
        items:
          type: array
          items:
            $ref: '#/components/schemas/MatterListItem'
          nullable: true
      additionalProperties: false
    MatterTypeInfoPagedCollection:
      type: object
      properties:
        id:
          type: string
          nullable: true
        href:
          type: string
          nullable: true
        relation:
          type: string
          nullable: true
        method:
          type: string
          default: GET
          nullable: true
        self:
          allOf:
          - $ref: '#/components/schemas/Link'
          nullable: true
        value:
          type: array
          items:
            $ref: '#/components/schemas/MatterTypeInfo'
          nullable: true
        offset:
          type: integer
          format: int32
          nullable: true
        limit:
          type: integer
          format: int32
          nullable: true
        size:
          type: integer
          format: int64
        first:
          allOf:
          - $ref: '#/components/schemas/Link'
          nullable: true
        previous:
          allOf:
          - $ref: '#/components/schemas/Link'
          nullable: true
        next:
          allOf:
          - $ref: '#/components/schemas/Link'
          nullable: true
        last:
          allOf:
          - $ref: '#/components/schemas/Link'
          nullable: true
      additionalProperties: false
    Link:
      type: object
      properties:
        id:
          type: string
          nullable: true
        href:
          type: string
          nullable: true
        relation:
          type: string
          nullable: true
        method:
          type: string
          default: GET
          nullable: true
      additionalProperties: false
    ProblemDetails:
      type: object
      properties:
        type:
          type: string
          nullable: true
        title:
          type: string
          nullable: true
        status:
          type: integer
          format: int32
          nullable: true
        detail:
          type: string
          nullable: true
        instance:
          type: string
          nullable: true
      additionalProperties: {}
    StringCollection:
      type: object
      properties:
        id:
          type: string
          nullable: true
        href:
          type: string
          nullable: true
        relation:
          type: string
          nullable: true
        method:
          type: string
          default: GET
          nullable: true
        self:
          allOf:
          - $ref: '#/components/schemas/Link'
          nullable: true
        value:
          type: array
          items:
            type: string
          nullable: true
      additionalProperties: false
    TypeCategory:
      enum:
      - 0
      - 1
      type: integer
      description: "Name of the category type to which the matter type belongs (i.e. MatterType or LeadType).\r\n            \r\nPossible values: Matter Type = 0, Lead Type = 1."
      format: int32
  securitySchemes:
    api-key:
      type: apiKey
      name: x-api-key
      in: header
    token:
      type: apiKey
      name: Authorization
      in: header
      x-amazon-apigateway-authtype: cognito_user_pools