Smokeball Layout Designs API

The Layout Designs API from Smokeball — 2 operation(s) for layout designs.

OpenAPI Specification

smokeball-layout-designs-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Smokeball Activity Codes Layout Designs 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: Layout Designs
paths:
  /layouts:
    get:
      tags:
      - Layout Designs
      summary: Get layout designs
      description: Returns a list of layout designs.
      operationId: GetLayoutDesigns
      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
      responses:
        '200':
          description: When request is successful. Returns a paged collection of 'LayoutDesignInfo' objects.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LayoutDesignInfoPagedCollection'
  /layouts/{id}:
    get:
      tags:
      - Layout Designs
      summary: Get a layout design
      description: Retrieves a specified layout design.
      operationId: GetLayoutDesignById
      parameters:
      - name: id
        in: path
        description: Layout design Id
        required: true
        schema:
          type: string
      - name: matterTypeId
        in: query
        description: Matter type identifier (optional)
        schema:
          type: string
      - name: state
        in: query
        description: State identifier (optional)
        schema:
          type: string
      responses:
        '200':
          description: When request is successful. Returns a 'LayoutDesign' object.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LayoutDesign'
        '404':
          description: When layout design with specified id does not exist.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
components:
  schemas:
    LayoutDesignInfoPagedCollection:
      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/LayoutDesignInfo'
          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
    LayoutDesignField:
      type: object
      properties:
        name:
          type: string
          description: Name (mapping) of the layout design field.
          nullable: true
          example: PinAndLotSizes[]/AccountNumber
        type:
          type: string
          description: "Type of the layout design field.\r\n            \r\nPossible values: 'Text','Combobox','Checkbox','Date','Role','Number'.\r\n            \r\n'Role' type can represent a matter role (for a top-level layout item) or a matter relationship (for a sublayout item)."
          example: Combobox
        possibleValues:
          type: array
          items:
            type: string
          description: List of possible values (e.g. for Combobox field).
          nullable: true
          example:
          - Residence
          - Commercial
          - Factory
          - Office
      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
    LayoutDesignInfo:
      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 layout design.
          nullable: true
          example: 763c3857-2ed9-4c5d-bee0-c48d48a7543e
        name:
          type: string
          description: Name of the layout design.
          nullable: true
          example: Case Details
        lastUpdated:
          type: integer
          description: Last updated timestamp.
          format: int64
          example: 637847425252027400
      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: {}
    LayoutDesign:
      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 layout design.
          nullable: true
          example: 763c3857-2ed9-4c5d-bee0-c48d48a7543e
        name:
          type: string
          description: Name of the layout design.
          nullable: true
          example: Case Details
        lastUpdated:
          type: integer
          description: Last updated timestamp.
          format: int64
          example: 637847425252027400
        description:
          type: string
          description: Brief description of the layout design.
          nullable: true
          example: Property and title details
        fields:
          type: array
          items:
            $ref: '#/components/schemas/LayoutDesignField'
          description: Collection of layout design fields.
          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