openapi: 3.0.1 info: title: Smokeball Activity Codes Matter Items 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 Items paths: /matters/{matterId}/items: get: tags: - Matter Items summary: Get items on a matter description: Returns a list of items on the specified matter. operationId: GetMatterItems parameters: - name: matterId in: path required: true schema: type: string responses: '200': description: When request is successful. Returns a 'MatterItems' object containing a list of 'MatterItem' objects. content: application/json: schema: $ref: '#/components/schemas/MatterItems' '400': description: When an unsupported request is made. content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' '403': description: When the matter is not associated with the authenticated client. content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' '404': description: When matter with specified id does not exist. content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' /matters/{matterId}/items/{id}: get: tags: - Matter Items summary: Get an item on a matter description: Returns an item on the specified matter. operationId: GetMatterItem parameters: - name: matterId in: path required: true schema: type: string - name: id in: path required: true schema: type: string responses: '200': description: When request is successful. Returns a 'MatterItem' object. content: application/json: schema: $ref: '#/components/schemas/MatterItem' '400': description: When an unsupported request is made. content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' '403': description: When the matter is not associated with the authenticated client. content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' '404': description: When the specified matter or item does not exist. content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' components: schemas: 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: {} MatterItems: 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 versionId: type: string description: Version id of the record. nullable: true example: 832e778f-83df-454a-b344-768a862a7e67 items: type: array items: $ref: '#/components/schemas/MatterItem' description: List of items on a matter. nullable: true additionalProperties: false MatterItem: 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 for the item on a matter. nullable: true example: 009f778f-83df-454a-b344-768a862a7e55 name: type: string description: Name of the item. nullable: true example: Client index: type: integer description: Zero based number of this item in the list. format: int32 example: 0 visible: type: boolean description: Boolean flag indicating if the item is visible. example: false subItems: type: array items: $ref: '#/components/schemas/MatterItem' description: List of child items associated with the item. nullable: true additionalProperties: false 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