openapi: 3.0.1 info: title: IO.Common Accounts ExtendedProperties API version: '1.0' security: - OAuth2: [] tags: - name: ExtendedProperties paths: /v1/ExtendedProperties/{affinity}: get: tags: - ExtendedProperties summary: Get global extended properties that are not attached to any object operationId: Get global extended properties parameters: - name: affinity in: path description: '' required: true schema: type: string - name: Filter in: query schema: type: string - name: Page in: query schema: type: integer format: int32 - name: PageSize in: query schema: type: integer format: int32 - name: SortColumn in: query schema: type: string - name: SortOrder in: query schema: type: string - name: Account in: query description: Account schema: title: Account type: int responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/ExtendedPropertyPagedResult' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ApiErrorResponse' '401': description: Unauthorized '403': description: Forbidden security: - OAuth2: - io.common /v1/ExtendedProperties/{affinity}/{ownerId}: get: tags: - ExtendedProperties summary: Get extended properties for an extendable object operationId: Get extended properties for the object parameters: - name: affinity in: path description: '' required: true schema: type: string - name: ownerId in: path description: '' required: true schema: type: integer format: int32 - name: Filter in: query schema: type: string - name: Page in: query schema: type: integer format: int32 - name: PageSize in: query schema: type: integer format: int32 - name: SortColumn in: query schema: type: string - name: SortOrder in: query schema: type: string - name: Account in: query description: Account schema: title: Account type: int responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/ExtendedPropertyPagedResult' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ApiErrorResponse' '401': description: Unauthorized '403': description: Forbidden security: - OAuth2: - io.common post: tags: - ExtendedProperties summary: Create an extended property for an extendable object operationId: Create extended property for the object parameters: - name: affinity in: path description: '' required: true schema: type: string - name: ownerId in: path description: '' required: true schema: type: integer format: int32 - name: Account in: query description: Account schema: title: Account type: int requestBody: description: '' content: application/json-patch+json; x-api-version=1.0: schema: $ref: '#/components/schemas/CreateExtendedPropertyRequest' application/json; x-api-version=1.0: schema: $ref: '#/components/schemas/CreateExtendedPropertyRequest' text/json; x-api-version=1.0: schema: $ref: '#/components/schemas/CreateExtendedPropertyRequest' application/*+json; x-api-version=1.0: schema: $ref: '#/components/schemas/CreateExtendedPropertyRequest' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/Door' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ApiErrorResponse' '401': description: Unauthorized '403': description: Forbidden security: - OAuth2: - io.common /v1/ExtendedProperties/{affinity}/{ownerId}/{key}: put: tags: - ExtendedProperties summary: Update an extended property for an extendable object operationId: Update extended property for the object parameters: - name: affinity in: path description: '' required: true schema: type: string - name: ownerId in: path description: '' required: true schema: type: integer format: int32 - name: key in: path description: '' required: true schema: type: string - name: Account in: query description: Account schema: title: Account type: int requestBody: description: '' content: application/json-patch+json; x-api-version=1.0: schema: $ref: '#/components/schemas/UpdateExtendedPropertyRequest' application/json; x-api-version=1.0: schema: $ref: '#/components/schemas/UpdateExtendedPropertyRequest' text/json; x-api-version=1.0: schema: $ref: '#/components/schemas/UpdateExtendedPropertyRequest' application/*+json; x-api-version=1.0: schema: $ref: '#/components/schemas/UpdateExtendedPropertyRequest' responses: '200': description: Success '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ApiErrorResponse' '401': description: Unauthorized '403': description: Forbidden security: - OAuth2: - io.common delete: tags: - ExtendedProperties summary: Delete an extended property for an extendable object operationId: Delete extended property for the object parameters: - name: affinity in: path description: '' required: true schema: type: string - name: ownerId in: path description: '' required: true schema: type: integer format: int32 - name: key in: path description: '' required: true schema: type: string - name: Account in: query description: Account schema: title: Account type: int responses: '200': description: Success '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ApiErrorResponse' '401': description: Unauthorized '403': description: Forbidden security: - OAuth2: - io.common components: schemas: ExtendedProperty: type: object properties: affinity: $ref: '#/components/schemas/ExtendedPropertyAffinity' ownerId: type: integer format: int32 key: type: string nullable: true value: type: string nullable: true additionalProperties: false CreateExtendedPropertyRequest: type: object properties: key: type: string nullable: true value: type: string nullable: true additionalProperties: false ExtendedPropertyAffinity: enum: - 0 - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 14 - 15 - 20 - 21 - 22 - 23 - 24 - 25 - 26 - 27 - 31 - 33 - 34 - 35 - 81 - 100 - 101 - 102 - 103 - 104 - 105 - 200 - 201 - 210 - 211 - 220 - 230 - 240 - 241 - 300 - 310 - 311 - 400 - 401 type: integer format: int32 Door: type: object properties: id: type: string nullable: true name: type: string nullable: true additionalProperties: false Error: type: object properties: code: type: string nullable: true message: type: string nullable: true additionalProperties: false ApiErrorResponse: type: object properties: errors: type: array items: $ref: '#/components/schemas/Error' nullable: true additionalProperties: false UpdateExtendedPropertyRequest: type: object properties: value: type: string nullable: true additionalProperties: false ExtendedPropertyPagedResult: type: object properties: pageSize: type: integer format: int32 readOnly: true page: type: integer format: int32 readOnly: true totalCount: type: integer format: int32 readOnly: true filteredCount: type: integer format: int32 readOnly: true data: type: array items: $ref: '#/components/schemas/ExtendedProperty' nullable: true readOnly: true additionalProperties: false securitySchemes: OAuth2: type: oauth2 flows: authorizationCode: authorizationUrl: https://identity.scanbro.com/connect/authorize tokenUrl: https://identity.scanbro.com/connect/token scopes: io.common: default scope