Logik.io Configuration API
APIs to operate on Configuration blueprint to generate BOM
APIs to operate on Configuration blueprint to generate BOM
openapi: 3.0.3
info:
title: Logik.io Admin API - Blueprint Import/Export Blueprint > Export Configuration API
description: APIs with which to import and export Logik.io Blueprints. Useful for taking backups and executing migrations among environments.
version: 1.0.0
contact:
email: support@logik.io
servers:
- url: https://{tenant}.{sector}.logik.io
description: Logik Environment
variables:
tenant:
default: example
description: Logik.io tenant
sector:
default: test
description: Logik.io sector
security:
- bearerAuth: []
tags:
- name: Configuration
description: APIs to operate on Configuration blueprint to generate BOM
paths:
/:
post:
tags:
- Configuration
summary: Initialize a new Configuration
operationId: initConfig
requestBody:
description: Configurable Product Object to initialize
content:
application/json:
schema:
$ref: '#/components/schemas/InitConfig'
required: true
responses:
200:
description: Return initial state of fields, messages and products
content:
application/json:
schema:
$ref: '#/components/schemas/ApiResponse'
security:
- BearerAuth: []
x-codegen-request-body-name: body
/{uuid}:
get:
tags:
- Configuration
summary: Get Configuration with the given uuid
operationId: getConfig
parameters:
- name: uuid
in: path
description: Unique Configuration ID Value
required: true
schema:
type: string
responses:
200:
description: Return initial state of fields, messages and products
content:
application/json:
schema:
$ref: '#/components/schemas/ApiResponse'
400:
description: Returns Error Message from the server if invalid uuid
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
security:
- BearerAuth: []
patch:
tags:
- Configuration
summary: Update/Save Configuration with the given uuid
operationId: updateConfig
parameters:
- name: uuid
in: path
description: Unique Configuration ID Value
required: true
schema:
type: string
- name: delta
in: query
description: Delta true only retruns changed data. This is default behavior of the API
schema:
type: boolean
- name: save
in: query
description: Pass save parameter as true to save the Configuration and send BOM to connected application
schema:
type: boolean
requestBody:
description: Configurable Product Object to initialize
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateConfig'
required: true
responses:
200:
description: Return initial state of fields, messages and products
content:
application/json:
schema:
$ref: '#/components/schemas/ApiResponse'
400:
description: 'Returns Error Message from the server '
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
500:
description: 'Returns Error Message from the server '
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
security:
- BearerAuth: []
x-codegen-request-body-name: body
/{uuid}/sets/{setVariableName}:
get:
tags:
- Configuration
summary: Access fields in a given Set. Use if Set flagged in relatedChanges param
operationId: getSet
parameters:
- name: uuid
in: path
description: Unique Configuration ID Value
required: true
schema:
type: string
- name: setVariableName
in: path
description: Variable name of the Set defined in admin for which data is requested
required: true
schema:
type: string
- name: page
in: query
description: Page number of data to be returned in response
schema:
type: integer
- name: limit
in: query
description: Size of Paged Data
schema:
type: integer
- name: sort
in: query
description: Specify property and order{asc|desc} of sort in format field,asc[desc]
schema:
type: string
responses:
200:
description: Paginated details for a given Set variable name
content:
application/json:
schema:
$ref: '#/components/schemas/SetsResponse'
404:
description: Returns Error Message from the server if invalid uuid or set variable name
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
security:
- BearerAuth: []
components:
schemas:
Product:
type: object
properties:
id:
type: string
selectionType:
type: string
quantity:
type: integer
bomType:
type: string
level:
type: integer
parentProduct:
type: integer
notes:
type: string
uniqueIdentifier:
type: integer
description:
type: string
externalId:
type: string
name:
type: string
price:
type: number
extPrice:
type: number
FieldPayload:
type: object
properties:
variableName:
type: string
value:
type: string
SetsResponse:
type: object
properties:
content:
type: array
items:
$ref: '#/components/schemas/SetsContent'
pageable:
type: object
properties:
sort:
type: object
properties:
empty:
type: boolean
sorted:
type: boolean
unsorted:
type: boolean
offset:
type: integer
pageNumber:
type: integer
pageSize:
type: integer
paged:
type: boolean
unpaged:
type: boolean
totalPages:
type: integer
totalElements:
type: integer
last:
type: boolean
size:
type: integer
number:
type: integer
numberOfElements:
type: integer
first:
type: boolean
empty:
type: boolean
total:
type: integer
InitConfig:
type: object
properties:
sessionContext:
type: object
properties:
stateful:
type: boolean
partnerData:
required:
- product
type: object
properties:
product:
type: object
properties:
configuredProductId:
type: string
description: Product id of the Product linked to Logik Blueprint
configurationAttributes:
type: object
properties:
LGK__ConfigurationId__c:
type: string
description: Configuration Id which was generated for saved configuration
quote:
type: object
properties:
SBQQ__PricebookId__c:
type: string
fields:
type: array
items:
$ref: '#/components/schemas/FieldPayload'
ErrorResponse:
type: object
properties:
errorMessage:
type: string
relatedChangesValue:
type: object
properties:
key:
type: string
type:
type: string
description: Value of SET|PRODUCT which will return KEY value as variable name of set or static value products
Field:
type: object
properties:
value:
type: string
dataType:
type: string
visibilityState:
type: string
editable:
type: string
variableName:
type: string
optionSet:
required:
- options
type: object
properties:
options:
type: array
items:
required:
- label
- orderNumber
- state
- value
type: object
properties:
label:
type: string
state:
type: string
value:
type: string
imageUrl:
type: string
orderNumber:
type: integer
ApiResponse:
type: object
properties:
fields:
type: array
items:
$ref: '#/components/schemas/Field'
uuid:
type: string
revision:
type: integer
valid:
type: boolean
messages:
type: array
items:
$ref: '#/components/schemas/Message'
productChange:
type: boolean
products:
type: array
items:
$ref: '#/components/schemas/Product'
layouts:
type: array
items:
required:
- url
type: object
properties:
url:
type: string
relatedChanges:
type: array
items:
$ref: '#/components/schemas/relatedChangesValue'
SetsContent:
type: object
properties:
index:
type: integer
fields:
type: array
items:
$ref: '#/components/schemas/Field'
UpdateConfig:
type: object
properties:
fields:
type: array
items:
$ref: '#/components/schemas/FieldPayload'
Message:
required:
- error
- field
- message
- type
type: object
properties:
message:
type: string
type:
type: string
error:
type: boolean
field:
type: string
securitySchemes:
bearerAuth:
type: http
scheme: bearer
description: Admin API Bearer Token