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