swagger: '2.0' info: description: >- MobileServicesManagement APIs --- ## [Source view](https://app.swaggerhub.com/apis/kpn/MobileServicesManagement-KPN/)
[Documentation view](https://app.swaggerhub.com/apis/kpn/MobileServicesManagement-KPN/) --- ## [KPN Developer](https://developer.kpn.com/)
[Getting Started](https://developer.kpn.com/getting-started) --- version: v11 title: MobileServicesManagement-KPN termsOfService: 'https://developer.kpn.com/legal' contact: name: API Support email: api_developer@kpn.com url: 'https://developer.kpn.com/support' host: api-prd.kpn.com basePath: /mobile/kpn/mobileservices schemes: - https tags: - name: rest-address-controller description: Rest Address Controller - name: rest-contract-controller description: Rest Contract Controller - name: rest-threshold-controller description: Rest Threshold Controller - name: rest-business-voice-mail-controller description: Rest Business Voice Mail Controller - name: rest-contracting-controller description: Rest Contracting Controller - name: rest-separate-fixed-mobile-controller description: Rest Separate Fixed Mobile Controller - name: rest-template-controller description: Rest Template Controller - name: rest-invoice-controller description: Rest Invoice Controller - name: rest-hierarchy-controller description: Rest Hierarchy Controller - name: rest-subscriber-controller description: Rest Subscriber Controller - name: rest-user-controller description: Rest User Controller - name: rest-block-sim-controller description: Rest Block Sim Controller - name: rest-contract-terminate-controller description: Rest Contract Terminate Controller - name: rest-hardware-enrollment-controller description: Rest Hardware Enrollment Controller - name: rest-order-controller description: Rest Order Controller - name: rest-track-and-trace-controller description: Rest Track And Trace Controller paths: /track-and-trace/orders: get: tags: - rest-track-and-trace-controller summary: Get order list description: Required privileges (one of the following): operationId: getOrdersUsingGET produces: - '*/*' parameters: - name: currentUserOrdersOnly in: query required: false type: boolean default: false x-example: false - name: from in: query description: Pagination parameter - start from (included). The elements are counted from 0. Default value is 0. required: false type: integer format: int32 x-example: 0 - name: order in: query required: false type: string enum: - ASC - DESC - name: patterns in: query required: false type: array items: type: string collectionFormat: multi - name: sortBy in: query required: false type: string enum: - CREATION_DATE - STATUS - KPN_REFERENCE - ORDERED_FOR - CUSTOMER_REFERENCE - name: status in: query required: true type: array items: type: string enum: - IN_PROGRESS - UNAUTHORIZED - NEW - CLOSED - CANCELED - REJECTED - DRAFT - THIRD_PARTY - HOLD_CUSTOMER - WAITING collectionFormat: multi - name: to in: query description: Pagination parameter - end element (exluded). Default value is 20. required: false type: integer format: int32 x-example: 20 - name: withRequiredActionFirst in: query required: false type: boolean default: true responses: '200': description: OK schema: $ref: '#/definitions/PagedResult_Order_' '400': description: Bad Request schema: $ref: '#/definitions/ErrorResponse' '401': description: Unauthorized schema: $ref: '#/definitions/ErrorResponse' '403': description: Forbidden schema: $ref: '#/definitions/ErrorResponse' '404': description: Not Found schema: $ref: '#/definitions/ErrorResponse' '429': description: Too Many Requests schema: $ref: '#/definitions/ErrorResponse' '500': description: Server Error schema: $ref: '#/definitions/ErrorResponse' '503': description: Service Unavailable schema: $ref: '#/definitions/ErrorResponse' security: - OAuth2: [] /track-and-trace/orders/{id}: get: tags: - rest-track-and-trace-controller summary: Get order details description: Required privileges (one of the following): operationId: getOrderDetailsUsingGET produces: - '*/*' parameters: - name: id in: path description: id required: true type: integer format: int64 responses: '200': description: OK schema: $ref: '#/definitions/OrderDetails1' '400': description: Bad Request schema: $ref: '#/definitions/ErrorResponse' '401': description: Unauthorized schema: $ref: '#/definitions/ErrorResponse' '403': description: Forbidden schema: $ref: '#/definitions/ErrorResponse' '404': description: Not Found schema: $ref: '#/definitions/ErrorResponse' '429': description: Too Many Requests schema: $ref: '#/definitions/ErrorResponse' '500': description: Server Error schema: $ref: '#/definitions/ErrorResponse' '503': description: Service Unavailable schema: $ref: '#/definitions/ErrorResponse' security: - OAuth2: [] /track-and-trace/orders/{id}/cancel: post: tags: - rest-track-and-trace-controller summary: Cancel order description: Required privileges (one of the following): operationId: cancelOrderUsingPOST consumes: - application/json produces: - '*/*' parameters: - name: id in: path description: id required: true type: integer format: int64 - name: note in: query description: note required: false type: string responses: '200': description: OK '400': description: Bad Request schema: $ref: '#/definitions/ErrorResponse' '401': description: Unauthorized schema: $ref: '#/definitions/ErrorResponse' '403': description: Forbidden schema: $ref: '#/definitions/ErrorResponse' '404': description: Not Found schema: $ref: '#/definitions/ErrorResponse' '429': description: Too Many Requests schema: $ref: '#/definitions/ErrorResponse' '500': description: Server Error schema: $ref: '#/definitions/ErrorResponse' '503': description: Service Unavailable schema: $ref: '#/definitions/ErrorResponse' security: - OAuth2: [] /track-and-trace/orders/{id}/hardware: get: tags: - rest-track-and-trace-controller summary: Get list of hardware which was ordered in the order with the given id description: Required privileges (one of the following): operationId: getHardwareForOrderUsingGET produces: - '*/*' parameters: - name: id in: path description: id required: true type: integer format: int64 responses: '200': description: OK schema: type: array items: $ref: '#/definitions/Hardware' '400': description: Bad Request schema: $ref: '#/definitions/ErrorResponse' '401': description: Unauthorized schema: $ref: '#/definitions/ErrorResponse' '403': description: Forbidden schema: $ref: '#/definitions/ErrorResponse' '404': description: Not Found schema: $ref: '#/definitions/ErrorResponse' '429': description: Too Many Requests schema: $ref: '#/definitions/ErrorResponse' '500': description: Server Error schema: $ref: '#/definitions/ErrorResponse' '503': description: Service Unavailable schema: $ref: '#/definitions/ErrorResponse' security: - OAuth2: [] /track-and-trace/orders/{id}/porting-data: post: tags: - rest-track-and-trace-controller summary: Change port in date or customer number description: |- Endpoint allows to change both : customer number and wish date in one request or change only one parameter. There are several possibility to set data: | newWishDate | asap | customerNumber | result | |-------------|--------|----------------|-------------------------------------| | date | false | null | change only wish date | | null | true | null | change only wish date to ASAP | | null | true | number | change customer number and wishDate | | date | false | number | change customer number and wishDate | | date | true | * | validation error | | null | false | null | validation error | Required privileges (one of the following): operationId: changePortingDataUsingPOST consumes: - application/json produces: - '*/*' parameters: - in: body name: data description: data required: true schema: $ref: '#/definitions/ChangePortingData' - name: id in: path description: id required: true type: integer format: int64 responses: '200': description: OK '400': description: Bad Request schema: $ref: '#/definitions/ErrorResponse' '401': description: Unauthorized schema: $ref: '#/definitions/ErrorResponse' '403': description: Forbidden schema: $ref: '#/definitions/ErrorResponse' '404': description: Not Found schema: $ref: '#/definitions/ErrorResponse' '429': description: Too Many Requests schema: $ref: '#/definitions/ErrorResponse' '500': description: Server Error schema: $ref: '#/definitions/ErrorResponse' '503': description: Service Unavailable schema: $ref: '#/definitions/ErrorResponse' security: - OAuth2: [] /track-and-trace/orders/{id}/pretty: get: tags: - rest-track-and-trace-controller summary: Get order details in pretty form description: Required privileges (one of the following): operationId: getPrettyOrderDetailsUsingGET produces: - '*/*' parameters: - name: id in: path description: id required: true type: integer format: int64 responses: '200': description: OK schema: $ref: '#/definitions/PrettyOrderDetails' '400': description: Bad Request schema: $ref: '#/definitions/ErrorResponse' '401': description: Unauthorized schema: $ref: '#/definitions/ErrorResponse' '403': description: Forbidden schema: $ref: '#/definitions/ErrorResponse' '404': description: Not Found schema: $ref: '#/definitions/ErrorResponse' '429': description: Too Many Requests schema: $ref: '#/definitions/ErrorResponse' '500': description: Server Error schema: $ref: '#/definitions/ErrorResponse' '503': description: Service Unavailable schema: $ref: '#/definitions/ErrorResponse' security: - OAuth2: [] /track-and-trace/overview: get: tags: - rest-track-and-trace-controller summary: Get number of orders grouped by orders type description: Required privileges (one of the following): operationId: getOverviewUsingGET produces: - '*/*' responses: '200': description: OK schema: type: object additionalProperties: type: integer format: int64 '400': description: Bad Request schema: $ref: '#/definitions/ErrorResponse' '401': description: Unauthorized schema: $ref: '#/definitions/ErrorResponse' '403': description: Forbidden schema: $ref: '#/definitions/ErrorResponse' '404': description: Not Found schema: $ref: '#/definitions/ErrorResponse' '429': description: Too Many Requests schema: $ref: '#/definitions/ErrorResponse' '500': description: Server Error schema: $ref: '#/definitions/ErrorResponse' '503': description: Service Unavailable schema: $ref: '#/definitions/ErrorResponse' security: - OAuth2: [] /track-and-trace/returned-hardware-service-requests: get: tags: - rest-track-and-trace-controller summary: Get return hardware service requests list description: Required privileges (one of the following): operationId: getReturnedHardwareServiceRequestUsingGET produces: - '*/*' parameters: - name: currentUserOrdersOnly in: query required: false type: boolean default: false x-example: false - name: from in: query description: Pagination parameter - start from (included). The elements are counted from 0. Default value is 0. required: false type: integer format: int32 x-example: 0 - name: order in: query required: false type: string enum: - ASC - DESC - name: patterns in: query required: false type: array items: type: string collectionFormat: multi - name: status in: query required: true type: array items: type: string enum: - IN_PROGRESS - UNAUTHORIZED - NEW - CLOSED - CANCELED - REJECTED - DRAFT - THIRD_PARTY - HOLD_CUSTOMER - WAITING collectionFormat: multi - name: to in: query description: Pagination parameter - end element (exluded). Default value is 20. required: false type: integer format: int32 x-example: 20 - name: withRequiredActionFirst in: query required: false type: boolean default: true responses: '200': description: OK schema: $ref: '#/definitions/PagedResult_ReturnedHardwareServiceRequests_' '400': description: Bad Request schema: $ref: '#/definitions/ErrorResponse' '401': description: Unauthorized schema: $ref: '#/definitions/ErrorResponse' '403': description: Forbidden schema: $ref: '#/definitions/ErrorResponse' '404': description: Not Found schema: $ref: '#/definitions/ErrorResponse' '429': description: Too Many Requests schema: $ref: '#/definitions/ErrorResponse' '500': description: Server Error schema: $ref: '#/definitions/ErrorResponse' '503': description: Service Unavailable schema: $ref: '#/definitions/ErrorResponse' security: - OAuth2: [] /track-and-trace/service-requests: get: tags: - rest-track-and-trace-controller summary: Get service requests list description: Required privileges (one of the following): operationId: getServiceRequestsUsingGET produces: - '*/*' parameters: - name: Content-Language in: header description: Content-Language required: false type: string - name: currentUserOrdersOnly in: query required: false type: boolean default: false x-example: false - name: from in: query description: Pagination parameter - start from (included). The elements are counted from 0. Default value is 0. required: false type: integer format: int32 x-example: 0 - name: order in: query required: false type: string enum: - ASC - DESC - name: patterns in: query required: false type: array items: type: string collectionFormat: multi - name: sortBy in: query required: false type: string enum: - CREATION_DATE - STATUS - KPN_REFERENCE - REQUEST_BY - REQUEST_FOR - TYPE - CUSTOMER_REFERENCE - name: status in: query required: true type: array items: type: string enum: - IN_PROGRESS - UNAUTHORIZED - NEW - CLOSED - CANCELED - REJECTED - DRAFT - THIRD_PARTY - HOLD_CUSTOMER - WAITING collectionFormat: multi - name: to in: query description: Pagination parameter - end element (exluded). Default value is 20. required: false type: integer format: int32 x-example: 20 - name: withRequiredActionFirst in: query required: false type: boolean default: true responses: '200': description: OK schema: $ref: '#/definitions/PagedResult_ServiceRequest_' '400': description: Bad Request schema: $ref: '#/definitions/ErrorResponse' '401': description: Unauthorized schema: $ref: '#/definitions/ErrorResponse' '403': description: Forbidden schema: $ref: '#/definitions/ErrorResponse' '404': description: Not Found schema: $ref: '#/definitions/ErrorResponse' '429': description: Too Many Requests schema: $ref: '#/definitions/ErrorResponse' '500': description: Server Error schema: $ref: '#/definitions/ErrorResponse' '503': description: Service Unavailable schema: $ref: '#/definitions/ErrorResponse' security: - OAuth2: [] /track-and-trace/service-requests/{id}: get: tags: - rest-track-and-trace-controller summary: Get service requests details description: |- The possible keys of `attributes` map in response object:
Attribute name
Meaning
login
Login
roles
Roles
firstName
First name
lastName
Last name
surnamePrefix
Surname prefix
email
E-mail
dateOfBirth
Date of birth
vip
VIP
employeeNumber
Employee number
gender
Gender
salutation
Salutation
preferredLanguage
Preferred language
comments
Comments
accesspointNameMSISDN
Mobile number
accesspointNameSIM
SIM card number
accesspointNameIMSI
IMSI
IMEI
IMEI
Hanset_IMEI_number
IMEI
accesspointNameFixedNumber
Fixed Number
activeTo
Active to
contractName
Subscription or device name
totalOnetimePrice
One time price
totalRecurrentPrice
Recurring price
deferredPrice
Deferred price
newUiccId
New SIM card number
movedGroupName
Moved account
subscriberAccountId
Old location
destinationAccount
New location
selectedDuoUiccid
Selected Duo SIM card number
projectId
Project ID
new_fixed_number
New fixed number
new_desk_number
New extension
oldUserGroupName
Previous user group
newUserGroupName
New user group
vpnName
VPN name
deskNumber
Extension
accesspointNameDeskNumber
Extension
mobileAddress
Mobile number
enterpriseName
Enterprise name
enterpriseID
Enterprise ID
mobilityGroupName
Fixed-Mobile PBX name
userGroupName
User group
enterpriseUserGroup
User group
initialUserPrincipalName
User Principal Name
sipAccountName
SIP account name
accessInstanceAttributeinitialUserPrincipalName
User Principal Name
accesspointNameQueuePhoneNumber
Queue phone number
accesspointNameSipAccountName
SIP account name
subscriptionAmount
New subscription amount
contract_contact_name
Contract contact person (name)
contract_contact_phone
Contract contact person (phone)
contract_contact_mail
Contract contact person (mail)
financial_contact_name
Financial contact person (name)
financial_contact_phone
Financial contact person (phone)
financial_contact_mail
Financial contact person (mail)
technical_contact_name
Technical contact Person (name)
technical_contact_phone
Technical contact Person (phone)
technical_contact_mail
Technical contact Person (mail)
deviceOption
Device option
deviceType_label
Device type
macAddress
Mac address
deviceName
Device name
sacGroupAccountId_label
Location account
groupId
Location
vGroupMovingToID
New location
pbxName
PBX
groupCitemId_label
Group
Fixed
Alternate fixed number
DeskNumber
Alternate extension
billing_retention_period
Financial data retention period (months)
managedGroupName
Authorized for
subscriptionType
Subscription type
CurrentNetworkOperator
Current network operator
CurrentServiceProvider
Current service provider
Customer_name_at_current_provider
Customer name at current provider
Current_contract_number
Customer number at current provider
UIccId
Current SIM card number
Initials
Initials
FamilyNamePrefix
Family name prefix
FamilyName
Family name
delivery_TT_id
Delivery Track&trace ID
IsAppleDEP
Apple DEP
IsSamsungKNOX
Samsung KNOX
keepCurrentSim
Keep existing SIM card
Note
Note
Porting_wish_date
Preferred transition date
returnReason
Reason for return
returnRemarks
Remarks
companyName
Company name
companyNamePronounciation
Comapny name pronounciation
businessVoiceMailMessageText
Chosen business voicemail message
Required privileges (one of the following): operationId: getServiceRequestDetailsUsingGET produces: - '*/*' parameters: - name: id in: path description: id required: true type: integer format: int64 responses: '200': description: OK schema: $ref: '#/definitions/ServiceRequestDetails' '400': description: Bad Request schema: $ref: '#/definitions/ErrorResponse' '401': description: Unauthorized schema: $ref: '#/definitions/ErrorResponse' '403': description: Forbidden schema: $ref: '#/definitions/ErrorResponse' '404': description: Not Found schema: $ref: '#/definitions/ErrorResponse' '429': description: Too Many Requests schema: $ref: '#/definitions/ErrorResponse' '500': description: Server Error schema: $ref: '#/definitions/ErrorResponse' '503': description: Service Unavailable schema: $ref: '#/definitions/ErrorResponse' security: - OAuth2: [] /track-and-trace/service-requests/{id}/attachments/{attachmentId}: get: tags: - rest-track-and-trace-controller summary: Get attachment with given id and serviceRequestId description: Required privileges (one of the following): operationId: getAttachmentUsingGET produces: - application/json parameters: - name: attachmentId in: path description: attachmentId required: true type: integer format: int64 - name: id in: path description: id required: true type: integer format: int64 responses: '200': description: OK schema: $ref: '#/definitions/Serializable' '400': description: Bad Request schema: $ref: '#/definitions/ErrorResponse' '401': description: Unauthorized schema: $ref: '#/definitions/ErrorResponse' '403': description: Forbidden schema: $ref: '#/definitions/ErrorResponse' '404': description: Not Found schema: $ref: '#/definitions/ErrorResponse' '429': description: Too Many Requests schema: $ref: '#/definitions/ErrorResponse' '500': description: Server Error schema: $ref: '#/definitions/ErrorResponse' '503': description: Service Unavailable schema: $ref: '#/definitions/ErrorResponse' security: - OAuth2: [] /track-and-trace/service-requests/{id}/cancel: post: tags: - rest-track-and-trace-controller summary: Cancel service request description: Required privileges (one of the following): operationId: cancelServiceReqestUsingPOST consumes: - application/json produces: - '*/*' parameters: - name: id in: path description: id required: true type: integer format: int64 - name: note in: query description: note required: false type: string responses: '200': description: OK '400': description: Bad Request schema: $ref: '#/definitions/ErrorResponse' '401': description: Unauthorized schema: $ref: '#/definitions/ErrorResponse' '403': description: Forbidden schema: $ref: '#/definitions/ErrorResponse' '404': description: Not Found schema: $ref: '#/definitions/ErrorResponse' '429': description: Too Many Requests schema: $ref: '#/definitions/ErrorResponse' '500': description: Server Error schema: $ref: '#/definitions/ErrorResponse' '503': description: Service Unavailable schema: $ref: '#/definitions/ErrorResponse' security: - OAuth2: [] /order/apple-dep: post: tags: - rest-hardware-enrollment-controller summary: Register Apple Dep description: Required privileges (one of the following): operationId: registerAppleDepUsingPOST consumes: - application/json produces: - '*/*' parameters: - in: body name: request description: request required: true schema: $ref: '#/definitions/HardwareEnrollmentRequest' responses: '200': description: OK schema: $ref: '#/definitions/OrderSummary' '400': description: Bad Request schema: $ref: '#/definitions/ErrorResponse' '401': description: Unauthorized schema: $ref: '#/definitions/ErrorResponse' '403': description: Forbidden schema: $ref: '#/definitions/ErrorResponse' '404': description: Not Found schema: $ref: '#/definitions/ErrorResponse' '429': description: Too Many Requests schema: $ref: '#/definitions/ErrorResponse' '500': description: Server Error schema: $ref: '#/definitions/ErrorResponse' '503': description: Service Unavailable schema: $ref: '#/definitions/ErrorResponse' security: - OAuth2: [] /order/authorize: post: tags: - rest-order-controller summary: Authorize order description: Required privileges (one of the following): operationId: authorizeUsingPOST consumes: - application/json produces: - '*/*' parameters: - in: body name: authorizeRequest description: authorizeRequest required: true schema: $ref: '#/definitions/AuthorizeRequest' responses: '200': description: OK schema: $ref: '#/definitions/OrderSummary' '400': description: Bad Request schema: $ref: '#/definitions/ErrorResponse' '401': description: Unauthorized schema: $ref: '#/definitions/ErrorResponse' '403': description: Forbidden schema: $ref: '#/definitions/ErrorResponse' '404': description: Not Found schema: $ref: '#/definitions/ErrorResponse' '429': description: Too Many Requests schema: $ref: '#/definitions/ErrorResponse' '500': description: Server Error schema: $ref: '#/definitions/ErrorResponse' '503': description: Service Unavailable schema: $ref: '#/definitions/ErrorResponse' security: - OAuth2: [] /order/block-sim: post: tags: - rest-block-sim-controller summary: Block sim for given contract description: Required privileges (one of the following): operationId: blockSimUsingPOST consumes: - application/json produces: - '*/*' parameters: - in: body name: blockSimRequest description: blockSimRequest required: true schema: $ref: '#/definitions/BlockSimRequest' responses: '200': description: OK schema: $ref: '#/definitions/OrderSummary' '400': description: Bad Request schema: $ref: '#/definitions/ErrorResponse' '401': description: Unauthorized schema: $ref: '#/definitions/ErrorResponse' '403': description: Forbidden schema: $ref: '#/definitions/ErrorResponse' '404': description: Not Found schema: $ref: '#/definitions/ErrorResponse' '429': description: Too Many Requests schema: $ref: '#/definitions/ErrorResponse' '500': description: Server Error schema: $ref: '#/definitions/ErrorResponse' '503': description: Service Unavailable schema: $ref: '#/definitions/ErrorResponse' security: - OAuth2: [] /order/move: post: tags: - rest-order-controller summary: Move contract with given contractId to group with given destinationGroupId description: |- Wish date should be empty, current or in the future. Reference number cannot exceed 25 character. When individualBundle field is set as true in ContractDetails, user is supposed to set moveAddonBundles to true or false.Otherwise it will be used as false by default. If individualBundle is false, the value of the field moveAddonBundles will not be used. Required privileges (one of the following): operationId: moveContractUsingPOST consumes: - application/json produces: - '*/*' parameters: - in: body name: moveContractRequest description: moveContractRequest required: true schema: $ref: '#/definitions/MoveContractRequest' responses: '200': description: OK schema: $ref: '#/definitions/OrderSummary' '400': description: Bad Request schema: $ref: '#/definitions/ErrorResponse' '401': description: Unauthorized schema: $ref: '#/definitions/ErrorResponse' '403': description: Forbidden schema: $ref: '#/definitions/ErrorResponse' '404': description: Not Found schema: $ref: '#/definitions/ErrorResponse' '429': description: Too Many Requests schema: $ref: '#/definitions/ErrorResponse' '500': description: Server Error schema: $ref: '#/definitions/ErrorResponse' '503': description: Service Unavailable schema: $ref: '#/definitions/ErrorResponse' security: - OAuth2: [] /order/operations: get: tags: - rest-order-controller summary: Get information about operations available for given contract. description: Required privileges (one of the following): operationId: getAvailableOperationsUsingGET produces: - '*/*' parameters: - name: contractId in: query description: contractId required: true type: integer format: int64 responses: '200': description: OK schema: $ref: '#/definitions/OperationsAvailability' '400': description: Bad Request schema: $ref: '#/definitions/ErrorResponse' '401': description: Unauthorized schema: $ref: '#/definitions/ErrorResponse' '403': description: Forbidden schema: $ref: '#/definitions/ErrorResponse' '404': description: Not Found schema: $ref: '#/definitions/ErrorResponse' '429': description: Too Many Requests schema: $ref: '#/definitions/ErrorResponse' '500': description: Server Error schema: $ref: '#/definitions/ErrorResponse' '503': description: Service Unavailable schema: $ref: '#/definitions/ErrorResponse' security: - OAuth2: [] /order/porting-out: post: tags: - rest-order-controller summary: Port out contract description: Required privileges (one of the following): operationId: portingOutUsingPOST consumes: - application/json produces: - '*/*' parameters: - in: body name: portingOutRequest description: portingOutRequest required: true schema: $ref: '#/definitions/PortingOutRequest' responses: '200': description: OK schema: $ref: '#/definitions/OrderSummary' '400': description: Bad Request schema: $ref: '#/definitions/ErrorResponse' '401': description: Unauthorized schema: $ref: '#/definitions/ErrorResponse' '403': description: Forbidden schema: $ref: '#/definitions/ErrorResponse' '404': description: Not Found schema: $ref: '#/definitions/ErrorResponse' '429': description: Too Many Requests schema: $ref: '#/definitions/ErrorResponse' '500': description: Server Error schema: $ref: '#/definitions/ErrorResponse' '503': description: Service Unavailable schema: $ref: '#/definitions/ErrorResponse' security: - OAuth2: [] /order/replace-sim: post: tags: - rest-order-controller summary: Replace sim for given contract description: |- If eSim is used email is mandatory. Required privileges (one of the following): operationId: replaceSimUsingPOST consumes: - application/json produces: - '*/*' parameters: - in: body name: replaceSimRequest description: replaceSimRequest required: true schema: $ref: '#/definitions/ReplaceSimRequest' responses: '200': description: OK schema: $ref: '#/definitions/OrderSummary' '400': description: Bad Request schema: $ref: '#/definitions/ErrorResponse' '401': description: Unauthorized schema: $ref: '#/definitions/ErrorResponse' '403': description: Forbidden schema: $ref: '#/definitions/ErrorResponse' '404': description: Not Found schema: $ref: '#/definitions/ErrorResponse' '429': description: Too Many Requests schema: $ref: '#/definitions/ErrorResponse' '500': description: Server Error schema: $ref: '#/definitions/ErrorResponse' '503': description: Service Unavailable schema: $ref: '#/definitions/ErrorResponse' security: - OAuth2: [] /order/replace-sim/validator: post: tags: - rest-order-controller summary: Validate if sim card number can be used in replace sim operation description: Required privileges (one of the following): operationId: validateUiccidUsingPOST consumes: - application/json produces: - '*/*' parameters: - in: body name: uiccidValidationData description: uiccidValidationData required: true schema: $ref: '#/definitions/UiccidValidationData' responses: '200': description: OK '400': description: Bad Request schema: $ref: '#/definitions/ErrorResponse' '401': description: Unauthorized schema: $ref: '#/definitions/ErrorResponse' '403': description: Forbidden schema: $ref: '#/definitions/ErrorResponse' '404': description: Not Found schema: $ref: '#/definitions/ErrorResponse' '429': description: Too Many Requests schema: $ref: '#/definitions/ErrorResponse' '500': description: Server Error schema: $ref: '#/definitions/ErrorResponse' '503': description: Service Unavailable schema: $ref: '#/definitions/ErrorResponse' security: - OAuth2: [] /order/return-hardware: post: tags: - rest-order-controller summary: Return hardware description: Required privileges (one of the following): operationId: returnHardwareUsingPOST consumes: - application/json produces: - '*/*' parameters: - in: body name: returnHardwareRequest description: returnHardwareRequest required: true schema: $ref: '#/definitions/ReturnHardwareRequest' responses: '200': description: OK schema: $ref: '#/definitions/OrderSummary' '400': description: Bad Request schema: $ref: '#/definitions/ErrorResponse' '401': description: Unauthorized schema: $ref: '#/definitions/ErrorResponse' '403': description: Forbidden schema: $ref: '#/definitions/ErrorResponse' '404': description: Not Found schema: $ref: '#/definitions/ErrorResponse' '429': description: Too Many Requests schema: $ref: '#/definitions/ErrorResponse' '500': description: Server Error schema: $ref: '#/definitions/ErrorResponse' '503': description: Service Unavailable schema: $ref: '#/definitions/ErrorResponse' security: - OAuth2: [] /order/samsung-knox: post: tags: - rest-hardware-enrollment-controller summary: Register Samsung Knox description: Required privileges (one of the following): operationId: registerSamsungKnoxUsingPOST consumes: - application/json produces: - '*/*' parameters: - in: body name: request description: request required: true schema: $ref: '#/definitions/HardwareEnrollmentRequest' responses: '200': description: OK schema: $ref: '#/definitions/OrderSummary' '400': description: Bad Request schema: $ref: '#/definitions/ErrorResponse' '401': description: Unauthorized schema: $ref: '#/definitions/ErrorResponse' '403': description: Forbidden schema: $ref: '#/definitions/ErrorResponse' '404': description: Not Found schema: $ref: '#/definitions/ErrorResponse' '429': description: Too Many Requests schema: $ref: '#/definitions/ErrorResponse' '500': description: Server Error schema: $ref: '#/definitions/ErrorResponse' '503': description: Service Unavailable schema: $ref: '#/definitions/ErrorResponse' security: - OAuth2: [] /order/terminate: post: tags: - rest-contract-terminate-controller summary: Terminate contract description: Required privileges (one of the following): operationId: terminateUsingPOST consumes: - application/json produces: - '*/*' parameters: - in: body name: terminateContractRequest description: terminateContractRequest required: true schema: $ref: '#/definitions/TerminateContractRequest' responses: '200': description: OK schema: $ref: '#/definitions/OrderSummary' '400': description: Bad Request schema: $ref: '#/definitions/ErrorResponse' '401': description: Unauthorized schema: $ref: '#/definitions/ErrorResponse' '403': description: Forbidden schema: $ref: '#/definitions/ErrorResponse' '404': description: Not Found schema: $ref: '#/definitions/ErrorResponse' '429': description: Too Many Requests schema: $ref: '#/definitions/ErrorResponse' '500': description: Server Error schema: $ref: '#/definitions/ErrorResponse' '503': description: Service Unavailable schema: $ref: '#/definitions/ErrorResponse' security: - OAuth2: [] /order/terminate/termination-fee: get: tags: - rest-contract-terminate-controller summary: Get termination fee for giver contract and termination date description: Required privileges (one of the following): operationId: getTerminationFeeUsingGET produces: - '*/*' parameters: - name: contractId in: query description: contractId required: true type: integer format: int64 - name: wishDate in: query description: wishDate required: true type: string format: date-time responses: '200': description: OK schema: $ref: '#/definitions/TerminationFee' '400': description: Bad Request schema: $ref: '#/definitions/ErrorResponse' '401': description: Unauthorized schema: $ref: '#/definitions/ErrorResponse' '403': description: Forbidden schema: $ref: '#/definitions/ErrorResponse' '404': description: Not Found schema: $ref: '#/definitions/ErrorResponse' '429': description: Too Many Requests schema: $ref: '#/definitions/ErrorResponse' '500': description: Server Error schema: $ref: '#/definitions/ErrorResponse' '503': description: Service Unavailable schema: $ref: '#/definitions/ErrorResponse' security: - OAuth2: [] /order/terminate/{contractId}/min-date: get: tags: - rest-contract-terminate-controller summary: Get first possible termination date for given contract description: Required privileges (one of the following): operationId: getMinFreeTerminationDateUsingGET produces: - '*/*' parameters: - name: contractId in: path description: contractId required: true type: integer format: int32 responses: '200': description: OK schema: type: string format: date-time '400': description: Bad Request schema: $ref: '#/definitions/ErrorResponse' '401': description: Unauthorized schema: $ref: '#/definitions/ErrorResponse' '403': description: Forbidden schema: $ref: '#/definitions/ErrorResponse' '404': description: Not Found schema: $ref: '#/definitions/ErrorResponse' '429': description: Too Many Requests schema: $ref: '#/definitions/ErrorResponse' '500': description: Server Error schema: $ref: '#/definitions/ErrorResponse' '503': description: Service Unavailable schema: $ref: '#/definitions/ErrorResponse' security: - OAuth2: [] /order/unblock-sim: post: tags: - rest-block-sim-controller summary: Unblock sim for given contract description: Required privileges (one of the following): operationId: unblockSimUsingPOST consumes: - application/json produces: - '*/*' parameters: - in: body name: unblockSimOrder description: unblockSimOrder required: true schema: $ref: '#/definitions/UnblockSimRequest' responses: '200': description: OK schema: $ref: '#/definitions/OrderSummary' '400': description: Bad Request schema: $ref: '#/definitions/ErrorResponse' '401': description: Unauthorized schema: $ref: '#/definitions/ErrorResponse' '403': description: Forbidden schema: $ref: '#/definitions/ErrorResponse' '404': description: Not Found schema: $ref: '#/definitions/ErrorResponse' '429': description: Too Many Requests schema: $ref: '#/definitions/ErrorResponse' '500': description: Server Error schema: $ref: '#/definitions/ErrorResponse' '503': description: Service Unavailable schema: $ref: '#/definitions/ErrorResponse' security: - OAuth2: [] /hierarchy/children: get: tags: - rest-hierarchy-controller summary: Get immediate children of given parent hierarchy entity description: |- Return all children of given hierarchy entity which user manages. If no parent id given it returns root entities.

When `operationType` is given API returns also information if operation is possible for each item. For some oprations possibilty information is returned in context of object or objects passed with `contextIds` or alternately a single `contextId` For example if user wants to check if he can move a hierarchy item , he should use `operationType=MOVE_GROUP`If user wants to check if he can move a chosen item to a different hierarchy entity, he should use `operationType=MOVE_GROUP` with `contextIds` set to ids of items to be moved. Up to 10 items can be passed using `contextIds`. Currently only MOVE_GROUP operation supports multiple context items, for others, only first item will be used
The request is validated. Possible validation errors: | HTTP code | Error code | Description | |-----------|----------------------------|-----------------------------------------------------------------------------------------------| | `400` | `MISSING_CONTEXT_ID` | `operationType` is given but `contextId` is null | | `400` | `OPERATION_NOT_POSSIBLE` | Given operation (`operationType`) not possible for all hierarchy entities | | `404` | `CONTEXT_OBJECT_NOT_FOUND` | Context object of given id (`contextId`) can not be found or current user has no access to it |
When operation can be performed for specific hierarchy entity in response there will be information like this below: ``` "operation": { "blocked": false, } ```
Otherwise, if operation can not be executed there will be information like below: ``` "operation": { "blocked": true, "reason": "" } ```
Possible values of reason for `operationType=MOVE_CONTRACT` (id of single chosen contract as context): | Reason | Description | |--------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------| | `FORBIDDEN_PARENT_FOR_PRODUCT` | This hierarchy entity type is not allowed to have contracts (only subscriber or debtor can have contracts). | | `CANNOT_MOVE_TO_OLD_PARENT` | Cannot move contract to the same hierarchy entity (like from subscriber to the same subscriber). | | `FIXED_NUMBER_CANNOT_BE_MOVED_TO_THIS_VGROUP` | Cannot move fix contract to hierarchy entity that already has fixed subscription (hierarchy entity may have contracted only one fix subscription) | | `ACCOUNT_BLOCKED` | Account is blocked for moving by a different order. |
Possible values of reason for `operationType=MOVE_GROUP` (without context): | Reason | Description | |--------------------------------------------------|-------------------------------------------------------------------| | `WRONG_GROUP_TYPE` | Item of this type cannot be moved (applies to customer). | | `CANNOT_MOVE_TEST_ACCOUNT` | Test employee accounts cannot be moved. | | `ACCOUNT_BLOCKED` | Moving operation is blocked by a different order |
Possible values of reason for `operationType=MOVE_GROUP` (ids of up to 10 moved item to move as context): | Reason | Description | |--------------------------------------------------|-------------------------------------------------------------------| | `CANNOT_MOVE_TO_OLD_PARENT` | New parent can't be the same as old one. | | `GROUP_CANNOT_HAVE_CHILDREN` | This type of group can not have children. | | `CANNOT_MOVE_TO_MOVED_GROUP` | Destination group can not be the same as group that is being move | | `CANNOT_MOVE_TO_THIS_TYPE_OF_GROUP` | Context group type can not be moved to this type of group. | | `ONLY_SINGLE_TYPE_ALLOWED_IN_PATH` | There can be only one entity of such type in path. | | `REQUIRE_DEBTOR_IN_PATH` | Context group requires debtor above it. | | `CANNOT_MOVE_DEBTOR_UNDER_DEBTOR` | Debtor can not be placed under another debtor. | | `CANNOT_MOVE_NON_SUBSCRIBER_BETWEEN_TWO_DEBTORS` | Only subscriber can be moved between debtors. | | `CANNOT_MOVE_TO_ANOTHER_IAM` | Can not move group between two differents company ids. |
Possible values of reason for `operationType=ASSIGN_TO_HIERARCHY` (single manager employee id as context): | Reason | Description | |--------------------------------------------------|--------------------------------------------------| | `SUBSCRIBER_CANNOT_BE_ASSIGNED` | Subscriber cannot be assigned as managed entity. | | `GROUP_IS_ALREADY_ASSIGNED` | This group is already managed by given user. |
Possible values of reason for `operationType=CREATE_COST_CENTER`: | Reason | Description | |--------------------------------------------------|-----------------------------------------------------| | `WRONG_GROUP_TYPE` | Cannot create cost center under this type of group. | | `REQUIRE_DEBTOR_IN_PATH` | Cost center requires debtor above it. | | `ONLY_SINGLE_TYPE_ALLOWED_IN_PATH` | There can be only one entity of such type in path. |
Possible values of reason for `operationType=CREATE_CUSTOM_GROUP`: | Reason | Description | |--------------------------------------------------|------------------------------------------------------------| | `WRONG_GROUP_TYPE` | Cannot create virtual group as a child of given group type |
Possible values of reason for `operationType=REMOVE_GROUP`: | Reason | Description | |--------------------------------------------------|-------------------------------------------------------------| | `WRONG_GROUP_TYPE` | Only custom group and cost center data can be modified. | | `FORBIDDEN_PATH_WHEN_REMOVING` | Entity cannot be removed because that will cause error in items hierarchy. Exception is thrown when path in hierarchy is: ... -> CUSTOM_GROUP -> COST_CENTER -> CUSTOM_GROUP ... -> and user try to remove COST_CENTER. CUSTOM_GROUP cannot be under CUSTOM_GROUP. |
Required privileges (one of the following):
  • privileges_un-authorized_orders_creation
  • privileges_orders_authorization
  • privileges_virtual_hierarchy_view
  • privileges_virtual_hierarchy_management
  • privileges_bulk_upload_data_of_end_user
operationId: getChildrenUsingGET produces: - '*/*' parameters: - name: contextId in: query required: false type: integer format: int64 - name: contextIds in: query required: false type: array items: type: integer format: int64 collectionFormat: multi - name: from in: query description: Pagination parameter - start from (included). The elements are counted from 0. Default value is 0. required: false type: integer format: int32 x-example: 0 - name: id in: query required: false type: integer format: int64 - name: includeCustomer in: query description: 'Information if it should include customer. Default value: false.' required: false type: boolean default: false x-example: false - name: includeGroups in: query description: 'Information if it should include pure virtual groups. Default value: true.' required: false type: boolean default: true x-example: true - name: operationType in: query required: false type: string enum: - MOVE_CONTRACT - MOVE_GROUP - ASSIGN_TO_HIERARCHY - CREATE_COST_CENTER - CREATE_CUSTOM_GROUP - REMOVE_GROUP - name: pattern in: query required: false type: string - name: to in: query description: Pagination parameter - end element (exluded). Default value is 20. required: false type: integer format: int32 x-example: 20 responses: '200': description: OK schema: $ref: '#/definitions/PagedResult_VirtualHierarchyItem_' '400': description: Bad Request schema: $ref: '#/definitions/ErrorResponse' '401': description: Unauthorized schema: $ref: '#/definitions/ErrorResponse' '403': description: Forbidden schema: $ref: '#/definitions/ErrorResponse' '404': description: Not Found schema: $ref: '#/definitions/ErrorResponse' '429': description: Too Many Requests schema: $ref: '#/definitions/ErrorResponse' '500': description: Server Error schema: $ref: '#/definitions/ErrorResponse' '503': description: Service Unavailable schema: $ref: '#/definitions/ErrorResponse' security: - OAuth2: [] /hierarchy/children/cost-center: post: tags: - rest-hierarchy-controller summary: Create cost center description: |- Create new cost center The request is validated. Possible validation errors: | HTTP code | Error code | Description | |-----------|------------------------------------|--------------------------------------------------------------| | `400` | `WRONG_GROUP_TYPE` | Cannot create cost center under this type of group | | `400` | `VALUE_NOT_UNIQUE` | `costCenterNumber` field must be unique | | `400` | `ONLY_SINGLE_TYPE_ALLOWED_IN_PATH` | Only one cost center can be in path | | `400` | `REQUIRE_DEBTOR_IN_PATH` | Cost center requires debtor above it. | | `404` | `VIRTUAL_HIERARCHY_ITEM_NOT_FOUND` | Hierarchy group with given `id` can not be found | Required privileges (one of the following):
  • privileges_un-authorized_orders_creation
  • privileges_orders_authorization
  • privileges_virtual_hierarchy_management
  • privileges_bulk_upload_data_of_end_user
operationId: createCostCenterUsingPOST consumes: - application/json produces: - '*/*' parameters: - in: body name: params description: params required: true schema: $ref: '#/definitions/CreateCostCenterRequestParams' responses: '200': description: OK schema: $ref: '#/definitions/CreateGroupResponse' '400': description: Bad Request schema: $ref: '#/definitions/ErrorResponse' '401': description: Unauthorized schema: $ref: '#/definitions/ErrorResponse' '403': description: Forbidden schema: $ref: '#/definitions/ErrorResponse' '404': description: Not Found schema: $ref: '#/definitions/ErrorResponse' '429': description: Too Many Requests schema: $ref: '#/definitions/ErrorResponse' '500': description: Server Error schema: $ref: '#/definitions/ErrorResponse' '503': description: Service Unavailable schema: $ref: '#/definitions/ErrorResponse' security: - OAuth2: [] /hierarchy/children/move: post: tags: - rest-hierarchy-controller summary: Move specified hierarchy items to the chosen location description: |- Returns ids and summaries of generated service requests, if any where created. Up to 10 items can be moved at the same time Wish date is applied only when moving employess between debtors. If part of the items are moved within the same debtor, wish date will be ignored for these. Reference number is only supported when moving emplyees or business location items. Otherwise no service requests are created The request is validated. Possible validation errors: | HTTP code | Error code | Description | |-----------|------------------------------------|-----------------------------------------------------------------------| | `403` | `ORDERING_IS_BLOCKED_FOR_CUSTOMER` | Current customer is frozen and can not order anything | | `404` | `VIRTUAL_HIERARCHY_ITEM_NOT_FOUND` | One of moved hierarchy items or destination location not found | | `400` | `OPERATION_NOT_POSSIBLE` | At least one of provided items cannot be moved to chosen destination. | | `400` | `WISH_DATE_NOT_SUPPORTED` | Wish date is only supported when moving emplyees between debtor. This must apply to at least one of the moved objects | | `400` | `REFERENCE_NUMBER_NOT_SUPPORTED` | Reference number is only supported when moving emplyees or business location items. | Required privileges (one of the following):
  • privileges_un-authorized_orders_creation
  • privileges_orders_authorization
  • privileges_virtual_hierarchy_view
  • privileges_virtual_hierarchy_management
  • privileges_bulk_upload_data_of_end_user
operationId: moveHierarchyItemsUsingPOST consumes: - application/json produces: - '*/*' parameters: - in: body name: params description: params required: true schema: $ref: '#/definitions/MoveGroupsParams' responses: '200': description: OK schema: $ref: '#/definitions/BulkOrderSummary' '400': description: Bad Request schema: $ref: '#/definitions/ErrorResponse' '401': description: Unauthorized schema: $ref: '#/definitions/ErrorResponse' '403': description: Forbidden schema: $ref: '#/definitions/ErrorResponse' '404': description: Not Found schema: $ref: '#/definitions/ErrorResponse' '429': description: Too Many Requests schema: $ref: '#/definitions/ErrorResponse' '500': description: Server Error schema: $ref: '#/definitions/ErrorResponse' '503': description: Service Unavailable schema: $ref: '#/definitions/ErrorResponse' security: - OAuth2: [] /hierarchy/children/operations: get: tags: - rest-hierarchy-controller summary: Get operations availability for logged user description: |- Return all operations with availability and reason if blocked. | Reason | Description | |------------------------------------------------|-------------------------------------------------------------------| | `NO_REQUIRED_PRIVILEGE` | User doesn't have required privilege | | `NO_ENTITIES_TO_USE` | There is no entity to execute this action on | Required privileges (one of the following):
  • privileges_un-authorized_orders_creation
  • privileges_orders_authorization
  • privileges_virtual_hierarchy_view
  • privileges_virtual_hierarchy_management
  • privileges_bulk_upload_data_of_end_user
operationId: getHierarchyOperationsUsingGET produces: - '*/*' responses: '200': description: OK schema: $ref: '#/definitions/HierarchyOperationsAvailability' '400': description: Bad Request schema: $ref: '#/definitions/ErrorResponse' '401': description: Unauthorized schema: $ref: '#/definitions/ErrorResponse' '403': description: Forbidden schema: $ref: '#/definitions/ErrorResponse' '404': description: Not Found schema: $ref: '#/definitions/ErrorResponse' '429': description: Too Many Requests schema: $ref: '#/definitions/ErrorResponse' '500': description: Server Error schema: $ref: '#/definitions/ErrorResponse' '503': description: Service Unavailable schema: $ref: '#/definitions/ErrorResponse' security: - OAuth2: [] /hierarchy/children/virtual-group: post: tags: - rest-hierarchy-controller summary: Create virtual group description: |- Create new virtual group The request is validated. Possible validation errors: | HTTP code | Error code | Description | |-----------|------------------------------------|------------------------------------------------------------| | `400` | `WRONG_GROUP_TYPE` | Cannot create virtual group as a child of given group type | | `404` | `VIRTUAL_HIERARCHY_ITEM_NOT_FOUND` | Hierarchy group with given `id` can not be found | Required privileges (one of the following):
  • privileges_un-authorized_orders_creation
  • privileges_orders_authorization
  • privileges_virtual_hierarchy_management
  • privileges_bulk_upload_data_of_end_user
operationId: createVirtualGroupUsingPOST consumes: - application/json produces: - '*/*' parameters: - in: body name: params description: params required: true schema: $ref: '#/definitions/CreateVirtualGroupRequestParams' responses: '200': description: OK schema: $ref: '#/definitions/CreateGroupResponse' '400': description: Bad Request schema: $ref: '#/definitions/ErrorResponse' '401': description: Unauthorized schema: $ref: '#/definitions/ErrorResponse' '403': description: Forbidden schema: $ref: '#/definitions/ErrorResponse' '404': description: Not Found schema: $ref: '#/definitions/ErrorResponse' '429': description: Too Many Requests schema: $ref: '#/definitions/ErrorResponse' '500': description: Server Error schema: $ref: '#/definitions/ErrorResponse' '503': description: Service Unavailable schema: $ref: '#/definitions/ErrorResponse' security: - OAuth2: [] /hierarchy/children/{id}: get: tags: - rest-hierarchy-controller summary: Get hierarchy entity details description: |- Get details for organisation structure entitity with given `id`. Different set of attributes is returned for different entity types. Supported item types are:
  • `CUSTOMER`
  • `DEBTOR`
  • `COST_CENTER`
  • `CUSTOM_GROUP`
  • `BUSINESS_LOCATION`
Details for `SUBSCRIBER` are not supported. `subscribers/{id}` should be used instead.
Possible exceptions: | HTTP code | Error code | Description | |-----------|------------------------------------|--------------------------------------------------------------| | `400` | `WRONG_GROUP_TYPE` | Item of unsupported type | | `404` | `VIRTUAL_HIERARCHY_ITEM_NOT_FOUND` | Information for item with the given `id` cannot be found | Required privileges (one of the following):
  • privileges_un-authorized_orders_creation
  • privileges_orders_authorization
  • privileges_virtual_hierarchy_view
  • privileges_virtual_hierarchy_management
  • privileges_bulk_upload_data_of_end_user
operationId: getDetailsUsingGET produces: - '*/*' parameters: - name: id in: path description: id required: true type: integer format: int64 responses: '200': description: OK schema: $ref: '#/definitions/HierarchyItemDetails' '400': description: Bad Request schema: $ref: '#/definitions/ErrorResponse' '401': description: Unauthorized schema: $ref: '#/definitions/ErrorResponse' '403': description: Forbidden schema: $ref: '#/definitions/ErrorResponse' '404': description: Not Found schema: $ref: '#/definitions/ErrorResponse' '429': description: Too Many Requests schema: $ref: '#/definitions/ErrorResponse' '500': description: Server Error schema: $ref: '#/definitions/ErrorResponse' '503': description: Service Unavailable schema: $ref: '#/definitions/ErrorResponse' security: - OAuth2: [] post: tags: - rest-hierarchy-controller summary: Update hierarchy entity (cost center, custom group) description: |- Change custom group or cost center data The request is validated. Possible validation errors: | HTTP code | Error code | Description | |-----------|------------------------------------|--------------------------------------------------------------| | `400` | `WRONG_GROUP_TYPE` | Only custom group and cost center data can be modified | | `400` | `VALUE_REQUIRED` | `costCenterNumber` field is required for cost center | | `400` | `VALUE_NOT_UNIQUE` | `costCenterNumber` field must be unique within the customer | | `404` | `VIRTUAL_HIERARCHY_ITEM_NOT_FOUND` | Hierarchy group with given `id` can not be found | Required privileges (one of the following):
  • privileges_un-authorized_orders_creation
  • privileges_orders_authorization
  • privileges_virtual_hierarchy_management
  • privileges_bulk_upload_data_of_end_user
operationId: updateChildUsingPOST consumes: - application/json produces: - '*/*' parameters: - name: id in: path description: id required: true type: integer format: int64 - in: body name: params description: params required: true schema: $ref: '#/definitions/UpdateChildRequestParams' responses: '200': description: OK '400': description: Bad Request schema: $ref: '#/definitions/ErrorResponse' '401': description: Unauthorized schema: $ref: '#/definitions/ErrorResponse' '403': description: Forbidden schema: $ref: '#/definitions/ErrorResponse' '404': description: Not Found schema: $ref: '#/definitions/ErrorResponse' '429': description: Too Many Requests schema: $ref: '#/definitions/ErrorResponse' '500': description: Server Error schema: $ref: '#/definitions/ErrorResponse' '503': description: Service Unavailable schema: $ref: '#/definitions/ErrorResponse' security: - OAuth2: [] /hierarchy/children/{id}/operations: get: tags: - rest-hierarchy-controller summary: Get operations availability for chosen item description: |- Get available operations for organisational hierarchy item with the given `id`. Possible operations are:
  • `create subscriber`
  • `create cost center`
  • `create virtual group`
  • `edit item`
  • `move item`
  • `remove item`
Operations for `SUBSCRIBER` are not supported. `subscribers/{id}/operations` should be used instead.
Possible exceptions: | HTTP code | Error code | Description | |-----------|------------------------------------|--------------------------------------------------------------| | `400` | `WRONG_GROUP_TYPE` | Item of unsupported type | | `404` | `VIRTUAL_HIERARCHY_ITEM_NOT_FOUND` | Information for item with the given `id` cannot be found | Required privileges (one of the following):
  • privileges_un-authorized_orders_creation
  • privileges_orders_authorization
  • privileges_virtual_hierarchy_management
  • privileges_bulk_upload_data_of_end_user
operationId: getItemOperationsUsingGET produces: - '*/*' parameters: - name: id in: path description: id required: true type: integer format: int64 responses: '200': description: OK schema: $ref: '#/definitions/HierarchyItemOperationsAvailability' '400': description: Bad Request schema: $ref: '#/definitions/ErrorResponse' '401': description: Unauthorized schema: $ref: '#/definitions/ErrorResponse' '403': description: Forbidden schema: $ref: '#/definitions/ErrorResponse' '404': description: Not Found schema: $ref: '#/definitions/ErrorResponse' '429': description: Too Many Requests schema: $ref: '#/definitions/ErrorResponse' '500': description: Server Error schema: $ref: '#/definitions/ErrorResponse' '503': description: Service Unavailable schema: $ref: '#/definitions/ErrorResponse' security: - OAuth2: [] /hierarchy/children/{id}/remove: post: tags: - rest-hierarchy-controller summary: Remove hierarchy entity (cost center, custom group) description: |- Remove custom group or cost center data. The underlying end users and organizational units will be moved to the next highest item in the organizational structure. The request is validated. Possible validation errors: | HTTP code | Error code | Description | |-----------|------------------------------------|--------------------------------------------------------------| | `400` | `WRONG_GROUP_TYPE` | Only custom group and cost center data can be modified | | `404` | `VIRTUAL_HIERARCHY_ITEM_NOT_FOUND` | Hierarchy group with given `id` can not be found | | `400` | `FORBIDDEN_PATH_WHEN_REMOVING` | Entity cannot be removed because that will cause error in items hierarchy. Exception is thrown when path in hierarchy is: ... -> CUSTOM_GROUP -> COST_CENTER -> CUSTOM_GROUP ... -> and user try to remove COST_CENTER. CUSTOM_GROUP cannot be under CUSTOM_GROUP. | Required privileges (one of the following):
  • privileges_un-authorized_orders_creation
  • privileges_orders_authorization
  • privileges_virtual_hierarchy_management
  • privileges_bulk_upload_data_of_end_user
operationId: removeGroupUsingPOST consumes: - application/json produces: - '*/*' parameters: - name: id in: path description: id required: true type: integer format: int64 responses: '200': description: OK '400': description: Bad Request schema: $ref: '#/definitions/ErrorResponse' '401': description: Unauthorized schema: $ref: '#/definitions/ErrorResponse' '403': description: Forbidden schema: $ref: '#/definitions/ErrorResponse' '404': description: Not Found schema: $ref: '#/definitions/ErrorResponse' '429': description: Too Many Requests schema: $ref: '#/definitions/ErrorResponse' '500': description: Server Error schema: $ref: '#/definitions/ErrorResponse' '503': description: Service Unavailable schema: $ref: '#/definitions/ErrorResponse' security: - OAuth2: [] /hierarchy/grip-entities: get: tags: - rest-user-controller summary: Get all grip entities not linked to subscriber description: Required privileges (one of the following):
  • privileges_un-authorized_orders_creation
  • privileges_orders_authorization
  • privileges_virtual_hierarchy_management
  • privileges_bulk_upload_data_of_end_user
operationId: getGripEntitiesUsingGET produces: - '*/*' responses: '200': description: OK schema: type: array items: $ref: '#/definitions/GripEntity' '400': description: Bad Request schema: $ref: '#/definitions/ErrorResponse' '401': description: Unauthorized schema: $ref: '#/definitions/ErrorResponse' '403': description: Forbidden schema: $ref: '#/definitions/ErrorResponse' '404': description: Not Found schema: $ref: '#/definitions/ErrorResponse' '429': description: Too Many Requests schema: $ref: '#/definitions/ErrorResponse' '500': description: Server Error schema: $ref: '#/definitions/ErrorResponse' '503': description: Service Unavailable schema: $ref: '#/definitions/ErrorResponse' security: - OAuth2: [] /hierarchy/subscribers: get: tags: - rest-subscriber-controller summary: Find all subscribers whom user manages description: Required privileges (one of the following):
  • privileges_un-authorized_orders_creation
  • privileges_orders_authorization
  • privileges_virtual_hierarchy_view
  • privileges_virtual_hierarchy_management
  • privileges_bulk_upload_data_of_end_user
operationId: findSubscribersUsingGET produces: - '*/*' parameters: - name: filters in: query description: 'Possible columns:FIRSTNAME, LASTNAME, SURNAME_PREFIX, CONTRACTS, DEBTORNAME, FIXED_NUMBER, EMPLOYEE_NUMBER. For example: FIRSTNAME: "abc", "abd"; LASTNAME: "add", "aad"' required: false type: string - name: from in: query description: Pagination parameter - start from (included). The elements are counted from 0. Default value is 0. required: false type: integer format: int32 x-example: 0 - name: order in: query required: false type: string enum: - ASC - DESC - name: patterns in: query required: false type: array items: type: string collectionFormat: multi - name: sortBy in: query required: false type: string enum: - FIRSTNAME - LASTNAME - DEBTORNAME - FIXED_NUMBER - EMPLOYEE_NUMBER - IS_USER - name: to in: query description: Pagination parameter - end element (exluded). Default value is 20. required: false type: integer format: int32 x-example: 20 - name: userOnly in: query required: false type: boolean responses: '200': description: OK schema: $ref: '#/definitions/PagedResult_Subscriber_' '400': description: Bad Request schema: $ref: '#/definitions/ErrorResponse' '401': description: Unauthorized schema: $ref: '#/definitions/ErrorResponse' '403': description: Forbidden schema: $ref: '#/definitions/ErrorResponse' '404': description: Not Found schema: $ref: '#/definitions/ErrorResponse' '429': description: Too Many Requests schema: $ref: '#/definitions/ErrorResponse' '500': description: Server Error schema: $ref: '#/definitions/ErrorResponse' '503': description: Service Unavailable schema: $ref: '#/definitions/ErrorResponse' security: - OAuth2: [] post: tags: - rest-subscriber-controller summary: Create subscriber (with or without user) description: |- If you want to create both subscriber and user at the same time, you should fill userAdditionalInfo. Required privileges (one of the following):
  • privileges_un-authorized_orders_creation
  • privileges_orders_authorization
  • privileges_virtual_hierarchy_management
  • privileges_bulk_upload_data_of_end_user
operationId: createSubscriberUsingPOST consumes: - application/json produces: - '*/*' parameters: - in: body name: request description: request required: true schema: $ref: '#/definitions/CreateSubscriberRequestParams' responses: '200': description: OK schema: $ref: '#/definitions/OrderSummary' '400': description: Bad Request schema: $ref: '#/definitions/ErrorResponse' '401': description: Unauthorized schema: $ref: '#/definitions/ErrorResponse' '403': description: Forbidden schema: $ref: '#/definitions/ErrorResponse' '404': description: Not Found schema: $ref: '#/definitions/ErrorResponse' '429': description: Too Many Requests schema: $ref: '#/definitions/ErrorResponse' '500': description: Server Error schema: $ref: '#/definitions/ErrorResponse' '503': description: Service Unavailable schema: $ref: '#/definitions/ErrorResponse' security: - OAuth2: [] /hierarchy/subscribers/link: post: tags: - rest-user-controller summary: Link existing subscriber to grip identity description: |- Possible errors when validating request: | ERROR CODE | CODE |DESCRIPTION | |-----------------------------------------------|-------|-------------------------------------------------------------------------------| | `ORDERING_IS_BLOCKED_FOR_CUSTOMER` | `403` | Current customer is frozen and can not order anything .| | `VIRTUAL_HIERARCHY_ITEM_NOT_FOUND` | `404` | given subscriber does not exist or user does not have access to him | | `GRIP_ENTITY_NOT_FOUND` | `404` | given gripEntity does not exist or user does not have access to it | | `ROLE_NOT_FOUND` | `404` | given role does not exist or user does not have access to it | | `MOBILE_OR_FIXED_NUMBER_IS_REQUIRED` | `400` | mobile or fixed number must be passed in request | | `SUBSCRIBER_IS_ALREADY_USER` | `400` | given subscriber is already an user | Required privileges (one of the following):
  • privileges_un-authorized_orders_creation
  • privileges_orders_authorization
  • privileges_virtual_hierarchy_management
  • privileges_bulk_upload_data_of_end_user
operationId: linkSubscriberToGripIdentityUsingPOST consumes: - application/json produces: - '*/*' parameters: - in: body name: params description: params required: true schema: $ref: '#/definitions/LinkSubscriberToGripRequestParams' responses: '200': description: OK schema: $ref: '#/definitions/OrderSummary' '400': description: Bad Request schema: $ref: '#/definitions/ErrorResponse' '401': description: Unauthorized schema: $ref: '#/definitions/ErrorResponse' '403': description: Forbidden schema: $ref: '#/definitions/ErrorResponse' '404': description: Not Found schema: $ref: '#/definitions/ErrorResponse' '429': description: Too Many Requests schema: $ref: '#/definitions/ErrorResponse' '500': description: Server Error schema: $ref: '#/definitions/ErrorResponse' '503': description: Service Unavailable schema: $ref: '#/definitions/ErrorResponse' security: - OAuth2: [] /hierarchy/subscribers/roles: get: tags: - rest-user-controller summary: Get all roles operationId: getAllRolesUsingGET produces: - '*/*' parameters: - name: from in: query description: Pagination parameter - start from (included). The elements are counted from 0. Default value is 0. required: false type: integer format: int32 x-example: 0 - name: order in: query required: false type: string enum: - ASC - DESC - name: pattern in: query required: false type: string - name: sortBy in: query required: false type: string enum: - NAME - SELECTED - name: to in: query description: Pagination parameter - end element (exluded). Default value is 20. required: false type: integer format: int32 x-example: 20 responses: '200': description: OK schema: $ref: '#/definitions/PagedResult_Role_' '400': description: Bad Request schema: $ref: '#/definitions/ErrorResponse' '401': description: Unauthorized schema: $ref: '#/definitions/ErrorResponse' '403': description: Forbidden schema: $ref: '#/definitions/ErrorResponse' '404': description: Not Found schema: $ref: '#/definitions/ErrorResponse' '429': description: Too Many Requests schema: $ref: '#/definitions/ErrorResponse' '500': description: Server Error schema: $ref: '#/definitions/ErrorResponse' '503': description: Service Unavailable schema: $ref: '#/definitions/ErrorResponse' security: - OAuth2: [] /hierarchy/subscribers/roles/{roleId}/privileges: get: tags: - rest-user-controller summary: Get privileges for given role operationId: getRolePrivilegesUsingGET produces: - '*/*' parameters: - name: roleId in: path description: roleId required: true type: integer format: int64 responses: '200': description: OK schema: type: array items: type: string '400': description: Bad Request schema: $ref: '#/definitions/ErrorResponse' '401': description: Unauthorized schema: $ref: '#/definitions/ErrorResponse' '403': description: Forbidden schema: $ref: '#/definitions/ErrorResponse' '404': description: Not Found schema: $ref: '#/definitions/ErrorResponse' '429': description: Too Many Requests schema: $ref: '#/definitions/ErrorResponse' '500': description: Server Error schema: $ref: '#/definitions/ErrorResponse' '503': description: Service Unavailable schema: $ref: '#/definitions/ErrorResponse' security: - OAuth2: [] /hierarchy/subscribers/{id}: get: tags: - rest-subscriber-controller summary: Get subscriber details description: |- Operations availability will be removed. Please use 'subscribers/{id}/operations' instead Required privileges (one of the following):
  • privileges_un-authorized_orders_creation
  • privileges_orders_authorization
  • privileges_virtual_hierarchy_view
  • privileges_virtual_hierarchy_management
  • privileges_bulk_upload_data_of_end_user
operationId: getSubscriberDetailsUsingGET produces: - '*/*' parameters: - name: id in: path description: id required: true type: integer format: int64 responses: '200': description: OK schema: $ref: '#/definitions/SubscriberDetails' '400': description: Bad Request schema: $ref: '#/definitions/ErrorResponse' '401': description: Unauthorized schema: $ref: '#/definitions/ErrorResponse' '403': description: Forbidden schema: $ref: '#/definitions/ErrorResponse' '404': description: Not Found schema: $ref: '#/definitions/ErrorResponse' '429': description: Too Many Requests schema: $ref: '#/definitions/ErrorResponse' '500': description: Server Error schema: $ref: '#/definitions/ErrorResponse' '503': description: Service Unavailable schema: $ref: '#/definitions/ErrorResponse' security: - OAuth2: [] put: tags: - rest-subscriber-controller summary: Update subscriber description: Required privileges (one of the following):
  • privileges_un-authorized_orders_creation
  • privileges_orders_authorization
  • privileges_virtual_hierarchy_management
  • privileges_bulk_upload_data_of_end_user
operationId: updateSubscriberUsingPUT consumes: - application/json produces: - '*/*' parameters: - name: id in: path description: id required: true type: integer format: int64 - in: body name: request description: request required: true schema: $ref: '#/definitions/UpdateSubscriberRequestParams' responses: '200': description: OK schema: $ref: '#/definitions/OrderSummary' '400': description: Bad Request schema: $ref: '#/definitions/ErrorResponse' '401': description: Unauthorized schema: $ref: '#/definitions/ErrorResponse' '403': description: Forbidden schema: $ref: '#/definitions/ErrorResponse' '404': description: Not Found schema: $ref: '#/definitions/ErrorResponse' '429': description: Too Many Requests schema: $ref: '#/definitions/ErrorResponse' '500': description: Server Error schema: $ref: '#/definitions/ErrorResponse' '503': description: Service Unavailable schema: $ref: '#/definitions/ErrorResponse' security: - OAuth2: [] /hierarchy/subscribers/{id}/assign-entities: post: tags: - rest-user-controller summary: Assign hierarchy entities managed by employee description: Required privileges (one of the following):
  • privileges_un-authorized_orders_creation
  • privileges_orders_authorization
  • privileges_virtual_hierarchy_management
  • privileges_bulk_upload_data_of_end_user
operationId: assignEntitiesUsingPOST consumes: - application/json produces: - '*/*' parameters: - name: id in: path description: id required: true type: integer format: int64 - in: body name: params description: params required: true schema: $ref: '#/definitions/ManagedGroupAssignmentParams' responses: '200': description: OK '400': description: Bad Request schema: $ref: '#/definitions/ErrorResponse' '401': description: Unauthorized schema: $ref: '#/definitions/ErrorResponse' '403': description: Forbidden schema: $ref: '#/definitions/ErrorResponse' '404': description: Not Found schema: $ref: '#/definitions/ErrorResponse' '429': description: Too Many Requests schema: $ref: '#/definitions/ErrorResponse' '500': description: Server Error schema: $ref: '#/definitions/ErrorResponse' '503': description: Service Unavailable schema: $ref: '#/definitions/ErrorResponse' security: - OAuth2: [] /hierarchy/subscribers/{id}/delete: post: tags: - rest-subscriber-controller summary: Delete subscriber description: Required privileges (one of the following):
  • privileges_un-authorized_orders_creation
  • privileges_orders_authorization
  • privileges_virtual_hierarchy_management
  • privileges_bulk_upload_data_of_end_user
operationId: deleteSubscriberUsingPOST consumes: - application/json produces: - '*/*' parameters: - name: id in: path description: id required: true type: integer format: int64 - in: body name: request description: request required: true schema: $ref: '#/definitions/DeleteSubscriberRequestParams' responses: '200': description: OK schema: $ref: '#/definitions/OrderSummary' '400': description: Bad Request schema: $ref: '#/definitions/ErrorResponse' '401': description: Unauthorized schema: $ref: '#/definitions/ErrorResponse' '403': description: Forbidden schema: $ref: '#/definitions/ErrorResponse' '404': description: Not Found schema: $ref: '#/definitions/ErrorResponse' '429': description: Too Many Requests schema: $ref: '#/definitions/ErrorResponse' '500': description: Server Error schema: $ref: '#/definitions/ErrorResponse' '503': description: Service Unavailable schema: $ref: '#/definitions/ErrorResponse' security: - OAuth2: [] /hierarchy/subscribers/{id}/managed-entities: get: tags: - rest-user-controller summary: Get hierarchy entities managed by employee description: Required privileges (one of the following):
  • privileges_un-authorized_orders_creation
  • privileges_orders_authorization
  • privileges_virtual_hierarchy_management
  • privileges_bulk_upload_data_of_end_user
operationId: getManagedGroupsUsingGET produces: - '*/*' parameters: - name: id in: path description: id required: true type: integer format: int64 responses: '200': description: OK schema: type: array items: $ref: '#/definitions/VirtualHierarchyItem' '400': description: Bad Request schema: $ref: '#/definitions/ErrorResponse' '401': description: Unauthorized schema: $ref: '#/definitions/ErrorResponse' '403': description: Forbidden schema: $ref: '#/definitions/ErrorResponse' '404': description: Not Found schema: $ref: '#/definitions/ErrorResponse' '429': description: Too Many Requests schema: $ref: '#/definitions/ErrorResponse' '500': description: Server Error schema: $ref: '#/definitions/ErrorResponse' '503': description: Service Unavailable schema: $ref: '#/definitions/ErrorResponse' security: - OAuth2: [] /hierarchy/subscribers/{id}/move: post: tags: - rest-subscriber-controller summary: Move subscriber description: |- Moves subscriber to a different location in company hierachy. `destinationGroupId` should be chosen through `GET /hierarchy/chidlren` with `MOVE_GROUP` as `operatinType` and subscriber id as `contextId`. `wishDate` is only supported when moving between two debtors, otherwise the employee will be moved immediately Service Request in Track & Trace will be created only when moving between debtors or cost centers. Required privileges (one of the following):
  • privileges_un-authorized_orders_creation
  • privileges_orders_authorization
  • privileges_virtual_hierarchy_management
  • privileges_bulk_upload_data_of_end_user
operationId: moveSubscriberUsingPOST consumes: - application/json produces: - '*/*' parameters: - name: id in: path description: id required: true type: integer format: int64 - in: body name: request description: request required: true schema: $ref: '#/definitions/MoveSubscriberRequestParams' responses: '200': description: OK schema: $ref: '#/definitions/OrderSummary' '400': description: Bad Request schema: $ref: '#/definitions/ErrorResponse' '401': description: Unauthorized schema: $ref: '#/definitions/ErrorResponse' '403': description: Forbidden schema: $ref: '#/definitions/ErrorResponse' '404': description: Not Found schema: $ref: '#/definitions/ErrorResponse' '429': description: Too Many Requests schema: $ref: '#/definitions/ErrorResponse' '500': description: Server Error schema: $ref: '#/definitions/ErrorResponse' '503': description: Service Unavailable schema: $ref: '#/definitions/ErrorResponse' security: - OAuth2: [] /hierarchy/subscribers/{id}/operations: get: tags: - rest-subscriber-controller summary: Get subscriber operations availability description: Required privileges (one of the following):
  • privileges_un-authorized_orders_creation
  • privileges_orders_authorization
  • privileges_virtual_hierarchy_management
  • privileges_bulk_upload_data_of_end_user
operationId: getSubscriberOperationsUsingGET produces: - '*/*' parameters: - name: id in: path description: id required: true type: integer format: int64 responses: '200': description: OK schema: $ref: '#/definitions/SubscriberOperationsAvailability' '400': description: Bad Request schema: $ref: '#/definitions/ErrorResponse' '401': description: Unauthorized schema: $ref: '#/definitions/ErrorResponse' '403': description: Forbidden schema: $ref: '#/definitions/ErrorResponse' '404': description: Not Found schema: $ref: '#/definitions/ErrorResponse' '429': description: Too Many Requests schema: $ref: '#/definitions/ErrorResponse' '500': description: Server Error schema: $ref: '#/definitions/ErrorResponse' '503': description: Service Unavailable schema: $ref: '#/definitions/ErrorResponse' security: - OAuth2: [] /hierarchy/subscribers/{id}/unassign-entities: post: tags: - rest-user-controller summary: Assign hierarchy entities managed by employee description: Required privileges (one of the following):
  • privileges_un-authorized_orders_creation
  • privileges_orders_authorization
  • privileges_virtual_hierarchy_management
  • privileges_bulk_upload_data_of_end_user
operationId: unassignEntitiesUsingPOST consumes: - application/json produces: - '*/*' parameters: - name: id in: path description: id required: true type: integer format: int64 - in: body name: params description: params required: true schema: $ref: '#/definitions/ManagedGroupAssignmentParams' responses: '200': description: OK '400': description: Bad Request schema: $ref: '#/definitions/ErrorResponse' '401': description: Unauthorized schema: $ref: '#/definitions/ErrorResponse' '403': description: Forbidden schema: $ref: '#/definitions/ErrorResponse' '404': description: Not Found schema: $ref: '#/definitions/ErrorResponse' '429': description: Too Many Requests schema: $ref: '#/definitions/ErrorResponse' '500': description: Server Error schema: $ref: '#/definitions/ErrorResponse' '503': description: Service Unavailable schema: $ref: '#/definitions/ErrorResponse' security: - OAuth2: [] /hierarchy/subscribers/{subscriberId}/contracts: get: tags: - rest-subscriber-controller summary: Find all contracts belonging to subscriber description: Required privileges (one of the following):
  • privileges_un-authorized_orders_creation
  • privileges_orders_authorization
  • privileges_virtual_hierarchy_view
  • privileges_virtual_hierarchy_management
  • privileges_bulk_upload_data_of_end_user
operationId: findSubscriberContractsUsingGET produces: - '*/*' parameters: - name: from in: query description: from required: false type: integer format: int32 - name: order in: query description: order required: false type: string enum: - ASC - DESC - name: subscriberId in: path description: subscriberId required: true type: integer format: int64 - name: to in: query description: to required: false type: integer format: int32 responses: '200': description: OK schema: $ref: '#/definitions/PagedResult_Contract_' '400': description: Bad Request schema: $ref: '#/definitions/ErrorResponse' '401': description: Unauthorized schema: $ref: '#/definitions/ErrorResponse' '403': description: Forbidden schema: $ref: '#/definitions/ErrorResponse' '404': description: Not Found schema: $ref: '#/definitions/ErrorResponse' '429': description: Too Many Requests schema: $ref: '#/definitions/ErrorResponse' '500': description: Server Error schema: $ref: '#/definitions/ErrorResponse' '503': description: Service Unavailable schema: $ref: '#/definitions/ErrorResponse' security: - OAuth2: [] /hierarchy/subscribers/{subscriberId}/contracts/overview: get: tags: - rest-subscriber-controller summary: Get contracts overview for a subscriber description: Required privileges (one of the following):
  • privileges_un-authorized_orders_creation
  • privileges_orders_authorization
  • privileges_virtual_hierarchy_view
  • privileges_virtual_hierarchy_management
  • privileges_bulk_upload_data_of_end_user
operationId: getContractOverviewForVGroupUsingGET produces: - '*/*' parameters: - name: subscriberId in: path description: subscriberId required: true type: integer format: int64 responses: '200': description: OK schema: type: object additionalProperties: $ref: '#/definitions/PagedResult_Contract_' '400': description: Bad Request schema: $ref: '#/definitions/ErrorResponse' '401': description: Unauthorized schema: $ref: '#/definitions/ErrorResponse' '403': description: Forbidden schema: $ref: '#/definitions/ErrorResponse' '404': description: Not Found schema: $ref: '#/definitions/ErrorResponse' '429': description: Too Many Requests schema: $ref: '#/definitions/ErrorResponse' '500': description: Server Error schema: $ref: '#/definitions/ErrorResponse' '503': description: Service Unavailable schema: $ref: '#/definitions/ErrorResponse' security: - OAuth2: [] /hierarchy/subscribers/{subscriberId}/roles: get: tags: - rest-user-controller summary: Get roles for given subscriber user description: Required privileges (one of the following):
  • privileges_un-authorized_orders_creation
  • privileges_orders_authorization
  • privileges_virtual_hierarchy_management
  • privileges_bulk_upload_data_of_end_user
operationId: getSubscriberUserRolesUsingGET produces: - '*/*' parameters: - name: from in: query description: Pagination parameter - start from (included). The elements are counted from 0. Default value is 0. required: false type: integer format: int32 x-example: 0 - name: order in: query required: false type: string enum: - ASC - DESC - name: pattern in: query required: false type: string - name: sortBy in: query required: false type: string enum: - NAME - SELECTED - name: subscriberId in: path description: subscriberId required: true type: integer format: int64 - name: to in: query description: Pagination parameter - end element (exluded). Default value is 20. required: false type: integer format: int32 x-example: 20 responses: '200': description: OK schema: $ref: '#/definitions/PagedResult_Role_' '400': description: Bad Request schema: $ref: '#/definitions/ErrorResponse' '401': description: Unauthorized schema: $ref: '#/definitions/ErrorResponse' '403': description: Forbidden schema: $ref: '#/definitions/ErrorResponse' '404': description: Not Found schema: $ref: '#/definitions/ErrorResponse' '429': description: Too Many Requests schema: $ref: '#/definitions/ErrorResponse' '500': description: Server Error schema: $ref: '#/definitions/ErrorResponse' '503': description: Service Unavailable schema: $ref: '#/definitions/ErrorResponse' security: - OAuth2: [] post: tags: - rest-user-controller summary: Edit roles assigned for given subscriber user description: Required privileges (one of the following):
  • privileges_un-authorized_orders_creation
  • privileges_orders_authorization
  • privileges_virtual_hierarchy_management
  • privileges_bulk_upload_data_of_end_user
operationId: editSubscriberUserRolesUsingPOST consumes: - application/json produces: - '*/*' parameters: - in: body name: request description: request required: true schema: $ref: '#/definitions/EditRolesRequest' - name: subscriberId in: path description: subscriberId required: true type: integer format: int64 responses: '200': description: OK '400': description: Bad Request schema: $ref: '#/definitions/ErrorResponse' '401': description: Unauthorized schema: $ref: '#/definitions/ErrorResponse' '403': description: Forbidden schema: $ref: '#/definitions/ErrorResponse' '404': description: Not Found schema: $ref: '#/definitions/ErrorResponse' '429': description: Too Many Requests schema: $ref: '#/definitions/ErrorResponse' '500': description: Server Error schema: $ref: '#/definitions/ErrorResponse' '503': description: Service Unavailable schema: $ref: '#/definitions/ErrorResponse' security: - OAuth2: [] /finances/billing-period: post: tags: - rest-invoice-controller summary: Change billing period for current customer description: |- Start service request of changing billing period for current customer. Possible errors: | HTTP code | Error code | Description | |-----------|------------------------------------|----------------------------------------------------------------------------------| | `403` | `ORDERING_IS_BLOCKED_FOR_CUSTOMER` | Current customer is frozen and can not order anything .| | `404` | `OPERATION_BLOCKED` | Given operation is blocked. Operation availability shows blocked and not visible.| Required privileges (one of the following):
  • privileges_un-authorized_orders_creation
  • privileges_orders_authorization
  • privileges_virtual_hierarchy_view
  • privileges_virtual_hierarchy_management
  • privileges_bulk_upload_data_of_end_user
and:
  • privileges_billing_retention_portlet
operationId: changeBillingPeriodUsingPOST consumes: - application/json produces: - '*/*' parameters: - in: body name: params description: params required: true schema: $ref: '#/definitions/ChangeBillingPeriodRequestParams' responses: '200': description: OK schema: $ref: '#/definitions/OrderSummary' '400': description: Bad Request schema: $ref: '#/definitions/ErrorResponse' '401': description: Unauthorized schema: $ref: '#/definitions/ErrorResponse' '403': description: Forbidden schema: $ref: '#/definitions/ErrorResponse' '404': description: Not Found schema: $ref: '#/definitions/ErrorResponse' '429': description: Too Many Requests schema: $ref: '#/definitions/ErrorResponse' '500': description: Server Error schema: $ref: '#/definitions/ErrorResponse' '503': description: Service Unavailable schema: $ref: '#/definitions/ErrorResponse' security: - OAuth2: [] /finances/billing-period/availability: get: tags: - rest-invoice-controller summary: Get billing period changing availability description: |- Get availability of changing billing period. Required privileges (one of the following):
  • privileges_un-authorized_orders_creation
  • privileges_orders_authorization
  • privileges_virtual_hierarchy_view
  • privileges_virtual_hierarchy_management
  • privileges_bulk_upload_data_of_end_user
and:
  • privileges_billing_retention_portlet
operationId: getBillingPeriodChangingAvailabilityUsingGET produces: - '*/*' responses: '200': description: OK schema: $ref: '#/definitions/OperationAvailability' '400': description: Bad Request schema: $ref: '#/definitions/ErrorResponse' '401': description: Unauthorized schema: $ref: '#/definitions/ErrorResponse' '403': description: Forbidden schema: $ref: '#/definitions/ErrorResponse' '404': description: Not Found schema: $ref: '#/definitions/ErrorResponse' '429': description: Too Many Requests schema: $ref: '#/definitions/ErrorResponse' '500': description: Server Error schema: $ref: '#/definitions/ErrorResponse' '503': description: Service Unavailable schema: $ref: '#/definitions/ErrorResponse' security: - OAuth2: [] /finances/invoices: get: tags: - rest-invoice-controller summary: Get list of invoices for given debtor description: |- Possible errors: | HTTP code | Error code | Description | |-----------|--------------------|--------------------------------------------------------------| | `404` | `DEBTOR_NOT_FOUND` | Given debtor does not exist or user don't have access to him | Required privileges (one of the following):
  • privileges_financial_documents_view
operationId: getInvoicesUsingGET produces: - '*/*' parameters: - name: debtorId in: query required: false type: integer format: int64 - name: from in: query description: Pagination parameter - start from (included). The elements are counted from 0. Default value is 0. required: false type: integer format: int32 x-example: 0 - name: order in: query required: false type: string enum: - ASC - DESC - name: pattern in: query required: false type: string - name: searchFrom in: query description: Start date to search from in ISO format (YYYY-MM-DD) required: false type: string format: date-time x-example: '2000-10-31' - name: searchTo in: query description: End date to search to in ISO format (YYYY-MM-DD) required: false type: string format: date-time x-example: '2020-10-31' - name: sortBy in: query required: false type: string enum: - NUMBER - DEBTOR_NAME - TYPE - DATE - PAY_BEFORE_DATE - TOTAL_AMOUNT - name: to in: query description: Pagination parameter - end element (exluded). Default value is 20. required: false type: integer format: int32 x-example: 20 - name: type in: query required: false type: string enum: - CREDIT_NOTE - HARDWARE_ADJUSTMENT - HARDWARE_INVOICE - HARDWARE_INVOICE_ADJUSTMENT - SERVICE_ADJUSTMENT - SERVICE_INVOICE - SERVICE_INVOICE_ADJUSTMENT responses: '200': description: OK schema: $ref: '#/definitions/PagedResult_Invoice_' '400': description: Bad Request schema: $ref: '#/definitions/ErrorResponse' '401': description: Unauthorized schema: $ref: '#/definitions/ErrorResponse' '403': description: Forbidden schema: $ref: '#/definitions/ErrorResponse' '404': description: Not Found schema: $ref: '#/definitions/ErrorResponse' '429': description: Too Many Requests schema: $ref: '#/definitions/ErrorResponse' '500': description: Server Error schema: $ref: '#/definitions/ErrorResponse' '503': description: Service Unavailable schema: $ref: '#/definitions/ErrorResponse' security: - OAuth2: [] /finances/invoices/{id}: get: tags: - rest-invoice-controller summary: Download the invoice as pdf file description: |- Possible errors: | HTTP code | Error code | Description | |-----------|---------------------|-----------------------------------| | `404` | `INVOICE_NOT_FOUND` | Invoice with given id not found | Required privileges (one of the following):
  • privileges_financial_documents_view
operationId: downloadInvoiceUsingGET produces: - '*/*' parameters: - name: id in: path description: id required: true type: integer format: int64 responses: '200': description: OK schema: type: string format: byte '400': description: Bad Request schema: $ref: '#/definitions/ErrorResponse' '401': description: Unauthorized schema: $ref: '#/definitions/ErrorResponse' '403': description: Forbidden schema: $ref: '#/definitions/ErrorResponse' '404': description: Not Found schema: $ref: '#/definitions/ErrorResponse' '429': description: Too Many Requests schema: $ref: '#/definitions/ErrorResponse' '500': description: Server Error schema: $ref: '#/definitions/ErrorResponse' '503': description: Service Unavailable schema: $ref: '#/definitions/ErrorResponse' security: - OAuth2: [] /address/all: get: tags: - rest-address-controller summary: Get a list of all addresses description: Required privileges (one of the following):
  • privileges_un-authorized_orders_creation
  • privileges_orders_authorization
operationId: getAllAddressesUsingGET produces: - '*/*' responses: '200': description: OK schema: type: array items: $ref: '#/definitions/DeliveryAddress' '400': description: Bad Request schema: $ref: '#/definitions/ErrorResponse' '401': description: Unauthorized schema: $ref: '#/definitions/ErrorResponse' '403': description: Forbidden schema: $ref: '#/definitions/ErrorResponse' '404': description: Not Found schema: $ref: '#/definitions/ErrorResponse' '429': description: Too Many Requests schema: $ref: '#/definitions/ErrorResponse' '500': description: Server Error schema: $ref: '#/definitions/ErrorResponse' '503': description: Service Unavailable schema: $ref: '#/definitions/ErrorResponse' security: - OAuth2: [] /address/customer: get: tags: - rest-address-controller summary: Get a list of general addresses description: Required privileges (one of the following):
  • privileges_un-authorized_orders_creation
  • privileges_orders_authorization
operationId: getGeneralAddressesUsingGET produces: - '*/*' responses: '200': description: OK schema: type: array items: $ref: '#/definitions/DeliveryAddress' '400': description: Bad Request schema: $ref: '#/definitions/ErrorResponse' '401': description: Unauthorized schema: $ref: '#/definitions/ErrorResponse' '403': description: Forbidden schema: $ref: '#/definitions/ErrorResponse' '404': description: Not Found schema: $ref: '#/definitions/ErrorResponse' '429': description: Too Many Requests schema: $ref: '#/definitions/ErrorResponse' '500': description: Server Error schema: $ref: '#/definitions/ErrorResponse' '503': description: Service Unavailable schema: $ref: '#/definitions/ErrorResponse' security: - OAuth2: [] post: tags: - rest-address-controller summary: Add new general address description: Required privileges (one of the following):
  • privileges_un-authorized_orders_creation
  • privileges_orders_authorization
operationId: newGeneralAddressUsingPOST consumes: - application/json produces: - '*/*' parameters: - in: body name: deliveryAddress description: deliveryAddress required: true schema: $ref: '#/definitions/DeliveryAddressRequest1' responses: '200': description: OK schema: $ref: '#/definitions/DeliveryAddress' '400': description: Bad Request schema: $ref: '#/definitions/ErrorResponse' '401': description: Unauthorized schema: $ref: '#/definitions/ErrorResponse' '403': description: Forbidden schema: $ref: '#/definitions/ErrorResponse' '404': description: Not Found schema: $ref: '#/definitions/ErrorResponse' '429': description: Too Many Requests schema: $ref: '#/definitions/ErrorResponse' '500': description: Server Error schema: $ref: '#/definitions/ErrorResponse' '503': description: Service Unavailable schema: $ref: '#/definitions/ErrorResponse' security: - OAuth2: [] /address/user: get: tags: - rest-address-controller summary: Get a list of personal addresses description: Required privileges (one of the following):
  • privileges_un-authorized_orders_creation
  • privileges_orders_authorization
operationId: getPersonalAddressesUsingGET produces: - '*/*' responses: '200': description: OK schema: type: array items: $ref: '#/definitions/DeliveryAddress' '400': description: Bad Request schema: $ref: '#/definitions/ErrorResponse' '401': description: Unauthorized schema: $ref: '#/definitions/ErrorResponse' '403': description: Forbidden schema: $ref: '#/definitions/ErrorResponse' '404': description: Not Found schema: $ref: '#/definitions/ErrorResponse' '429': description: Too Many Requests schema: $ref: '#/definitions/ErrorResponse' '500': description: Server Error schema: $ref: '#/definitions/ErrorResponse' '503': description: Service Unavailable schema: $ref: '#/definitions/ErrorResponse' security: - OAuth2: [] post: tags: - rest-address-controller summary: Add new personal address description: Required privileges (one of the following):
  • privileges_un-authorized_orders_creation
  • privileges_orders_authorization
operationId: newPersonalAddressUsingPOST consumes: - application/json produces: - '*/*' parameters: - in: body name: deliveryAddress description: deliveryAddress required: true schema: $ref: '#/definitions/DeliveryAddressRequest' responses: '200': description: OK schema: $ref: '#/definitions/DeliveryAddress' '400': description: Bad Request schema: $ref: '#/definitions/ErrorResponse' '401': description: Unauthorized schema: $ref: '#/definitions/ErrorResponse' '403': description: Forbidden schema: $ref: '#/definitions/ErrorResponse' '404': description: Not Found schema: $ref: '#/definitions/ErrorResponse' '429': description: Too Many Requests schema: $ref: '#/definitions/ErrorResponse' '500': description: Server Error schema: $ref: '#/definitions/ErrorResponse' '503': description: Service Unavailable schema: $ref: '#/definitions/ErrorResponse' security: - OAuth2: [] /address/{id}/delete: post: tags: - rest-address-controller summary: Delete given address from general or personal addresses description: Required privileges (one of the following):
  • privileges_un-authorized_orders_creation
  • privileges_orders_authorization
operationId: deleteAddressUsingPOST consumes: - application/json produces: - '*/*' parameters: - name: id in: path description: id required: true type: integer format: int64 responses: '200': description: OK '400': description: Bad Request schema: $ref: '#/definitions/ErrorResponse' '401': description: Unauthorized schema: $ref: '#/definitions/ErrorResponse' '403': description: Forbidden schema: $ref: '#/definitions/ErrorResponse' '404': description: Not Found schema: $ref: '#/definitions/ErrorResponse' '429': description: Too Many Requests schema: $ref: '#/definitions/ErrorResponse' '500': description: Server Error schema: $ref: '#/definitions/ErrorResponse' '503': description: Service Unavailable schema: $ref: '#/definitions/ErrorResponse' security: - OAuth2: [] /address/{id}/edit: post: tags: - rest-address-controller summary: Update personal or general address description: Required privileges (one of the following):
  • privileges_un-authorized_orders_creation
  • privileges_orders_authorization
operationId: updateAddressUsingPOST consumes: - application/json produces: - '*/*' parameters: - in: body name: deliveryAddress description: deliveryAddress required: true schema: $ref: '#/definitions/DeliveryAddressRequest1' - name: id in: path description: id required: true type: integer format: int64 responses: '200': description: OK '400': description: Bad Request schema: $ref: '#/definitions/ErrorResponse' '401': description: Unauthorized schema: $ref: '#/definitions/ErrorResponse' '403': description: Forbidden schema: $ref: '#/definitions/ErrorResponse' '404': description: Not Found schema: $ref: '#/definitions/ErrorResponse' '429': description: Too Many Requests schema: $ref: '#/definitions/ErrorResponse' '500': description: Server Error schema: $ref: '#/definitions/ErrorResponse' '503': description: Service Unavailable schema: $ref: '#/definitions/ErrorResponse' security: - OAuth2: [] /contract/all: get: tags: - rest-contract-controller summary: Get all contracts. description: Required privileges (one of the following):
  • privileges_un-authorized_orders_creation
  • privileges_orders_authorization
  • privileges_virtual_hierarchy_view
  • privileges_virtual_hierarchy_management
operationId: getContractsUsingGET produces: - '*/*' parameters: - name: Content-Language in: header description: Content-Language required: false type: string - name: category in: query required: false type: string enum: - MOBILE - FIXED - FIXED_MOBILE - HARDWARE - SKYPE_FOR_BUSINESS - SOFTWARE - OTHER - name: filters in: query description: 'Possible columns: FIRSTNAME, LASTNAME, SURNAME_PREFIX, PRODUCT_NAME, PRODUCT_CATEGORY, MOBILE_NUMBER, FIXED_NUMBER, STATE, EXTENSION, SIM_CARD_NUMBER, IMEI. For example: FIRSTNAME: "aab", "aac"; LASTNAME: "aba", "abb"' required: false type: string - name: from in: query description: Pagination parameter - start from (included). The elements are counted from 0. Default value is 0. required: false type: integer format: int32 x-example: 0 - name: order in: query required: false type: string enum: - ASC - DESC - name: patterns in: query required: false type: array items: type: string collectionFormat: multi - name: sortBy in: query required: false type: string enum: - FIRSTNAME - LASTNAME - SURNAME_PREFIX - PRODUCT_NAME - PRODUCT_CATEGORY - MOBILE_NUMBER - FIXED_NUMBER - STATE - SIM_CARD_NUMBER - EXTENSION - SIP_ACCOUNT_NAME - CATEGORY - name: to in: query description: Pagination parameter - end element (exluded). Default value is 20. required: false type: integer format: int32 x-example: 20 responses: '200': description: OK schema: $ref: '#/definitions/PagedResult_Contract_' '400': description: Bad Request schema: $ref: '#/definitions/ErrorResponse' '401': description: Unauthorized schema: $ref: '#/definitions/ErrorResponse' '403': description: Forbidden schema: $ref: '#/definitions/ErrorResponse' '404': description: Not Found schema: $ref: '#/definitions/ErrorResponse' '429': description: Too Many Requests schema: $ref: '#/definitions/ErrorResponse' '500': description: Server Error schema: $ref: '#/definitions/ErrorResponse' '503': description: Service Unavailable schema: $ref: '#/definitions/ErrorResponse' security: - OAuth2: [] /contract/id/{id}: get: tags: - rest-contract-controller summary: Get contract details. description: Required privileges (one of the following):
  • privileges_un-authorized_orders_creation
  • privileges_orders_authorization
  • privileges_virtual_hierarchy_view
  • privileges_virtual_hierarchy_management
operationId: getContractUsingGET produces: - '*/*' parameters: - name: id in: path description: id required: true type: integer format: int64 responses: '200': description: OK schema: $ref: '#/definitions/ContractDetails' '400': description: Bad Request schema: $ref: '#/definitions/ErrorResponse' '401': description: Unauthorized schema: $ref: '#/definitions/ErrorResponse' '403': description: Forbidden schema: $ref: '#/definitions/ErrorResponse' '404': description: Not Found schema: $ref: '#/definitions/ErrorResponse' '429': description: Too Many Requests schema: $ref: '#/definitions/ErrorResponse' '500': description: Server Error schema: $ref: '#/definitions/ErrorResponse' '503': description: Service Unavailable schema: $ref: '#/definitions/ErrorResponse' security: - OAuth2: [] /contract/id/{id}/items: get: tags: - rest-contract-controller summary: Get all contract items (in form of tree) for given contract. description: Required privileges (one of the following):
  • privileges_un-authorized_orders_creation
  • privileges_orders_authorization
  • privileges_virtual_hierarchy_view
  • privileges_virtual_hierarchy_management
operationId: getContractItemsUsingGET produces: - '*/*' parameters: - name: id in: path description: id required: true type: integer format: int64 responses: '200': description: OK schema: $ref: '#/definitions/ContractItem' '400': description: Bad Request schema: $ref: '#/definitions/ErrorResponse' '401': description: Unauthorized schema: $ref: '#/definitions/ErrorResponse' '403': description: Forbidden schema: $ref: '#/definitions/ErrorResponse' '404': description: Not Found schema: $ref: '#/definitions/ErrorResponse' '429': description: Too Many Requests schema: $ref: '#/definitions/ErrorResponse' '500': description: Server Error schema: $ref: '#/definitions/ErrorResponse' '503': description: Service Unavailable schema: $ref: '#/definitions/ErrorResponse' security: - OAuth2: [] /contract/id/{id}/vamo/fixed-numbers: get: tags: - rest-contract-controller summary: Get all possible fixed numbers for combining operation. description: Required privileges (one of the following):
  • privileges_un-authorized_orders_creation
  • privileges_orders_authorization
  • privileges_virtual_hierarchy_view
  • privileges_virtual_hierarchy_management
operationId: getFixedNumbersForMergingUsingGET produces: - '*/*' parameters: - name: filters in: query description: 'Possible columns: FIRSTNAME, LASTNAME, SURNAME_PREFIX, PRODUCT_NAME, PRODUCT_CATEGORY. MOBILE_NUMBER, STATE, EXTENSION, SIM_CARD_NUMBER. For example: FIRSTNAME: "aab", "aac"; LASTNAME: "aba", "abb"' required: false type: string - name: from in: query required: false type: integer format: int32 - name: id in: path description: id required: true type: integer format: int64 - name: order in: query required: false type: string enum: - ASC - DESC - name: patterns in: query required: false type: array items: type: string collectionFormat: multi - name: sortBy in: query required: false type: string enum: - FIRSTNAME - LASTNAME - SURNAME_PREFIX - PRODUCT_NAME - PRODUCT_CATEGORY - MOBILE_NUMBER - FIXED_NUMBER - STATE - SIM_CARD_NUMBER - EXTENSION - SIP_ACCOUNT_NAME - CATEGORY - name: to in: query required: false type: integer format: int32 responses: '200': description: OK schema: $ref: '#/definitions/PagedResult_ContractForOperation_' '400': description: Bad Request schema: $ref: '#/definitions/ErrorResponse' '401': description: Unauthorized schema: $ref: '#/definitions/ErrorResponse' '403': description: Forbidden schema: $ref: '#/definitions/ErrorResponse' '404': description: Not Found schema: $ref: '#/definitions/ErrorResponse' '429': description: Too Many Requests schema: $ref: '#/definitions/ErrorResponse' '500': description: Server Error schema: $ref: '#/definitions/ErrorResponse' '503': description: Service Unavailable schema: $ref: '#/definitions/ErrorResponse' security: - OAuth2: [] /contract/id/{id}/vamo/mobile-numbers: get: tags: - rest-contract-controller summary: Get all possible mobile numbers for combining operation. description: Required privileges (one of the following):
  • privileges_un-authorized_orders_creation
  • privileges_orders_authorization
  • privileges_virtual_hierarchy_view
  • privileges_virtual_hierarchy_management
operationId: getMobileNumbersForMergingUsingGET produces: - '*/*' parameters: - name: filters in: query description: 'Possible columns: FIRSTNAME, LASTNAME, SURNAME_PREFIX, PRODUCT_NAME, PRODUCT_CATEGORY, FIXED_NUMBER, STATE, EXTENSION, SIM_CARD_NUMBER. For example: FIRSTNAME: "aab", "aac"; LASTNAME: "aba", "abb"' required: false type: string - name: from in: query description: Pagination parameter - start from (included). The elements are counted from 0. Default value is 0. required: false type: integer format: int32 x-example: 0 - name: id in: path description: id required: true type: integer format: int64 - name: order in: query required: false type: string enum: - ASC - DESC - name: patterns in: query required: false type: array items: type: string collectionFormat: multi - name: sortBy in: query required: false type: string enum: - FIRSTNAME - LASTNAME - SURNAME_PREFIX - PRODUCT_NAME - PRODUCT_CATEGORY - MOBILE_NUMBER - FIXED_NUMBER - STATE - SIM_CARD_NUMBER - EXTENSION - SIP_ACCOUNT_NAME - CATEGORY - name: to in: query description: Pagination parameter - end element (exluded). Default value is 20. required: false type: integer format: int32 x-example: 20 responses: '200': description: OK schema: $ref: '#/definitions/PagedResult_ContractForOperation_' '400': description: Bad Request schema: $ref: '#/definitions/ErrorResponse' '401': description: Unauthorized schema: $ref: '#/definitions/ErrorResponse' '403': description: Forbidden schema: $ref: '#/definitions/ErrorResponse' '404': description: Not Found schema: $ref: '#/definitions/ErrorResponse' '429': description: Too Many Requests schema: $ref: '#/definitions/ErrorResponse' '500': description: Server Error schema: $ref: '#/definitions/ErrorResponse' '503': description: Service Unavailable schema: $ref: '#/definitions/ErrorResponse' security: - OAuth2: [] /contract/overview: get: tags: - rest-contract-controller summary: Get number of contracts grouped by contract type. description: |- Return contracts statistics. Possible contract types (key values): mobile, fixed, fixed_mobile, hardware, other Required privileges (one of the following):
  • privileges_un-authorized_orders_creation
  • privileges_orders_authorization
  • privileges_virtual_hierarchy_view
  • privileges_virtual_hierarchy_management
produces: - '*/*' responses: '200': description: OK schema: type: object additionalProperties: type: integer format: int64 '400': description: Bad Request schema: $ref: '#/definitions/ErrorResponse' '401': description: Unauthorized schema: $ref: '#/definitions/ErrorResponse' '403': description: Forbidden schema: $ref: '#/definitions/ErrorResponse' '404': description: Not Found schema: $ref: '#/definitions/ErrorResponse' '429': description: Too Many Requests schema: $ref: '#/definitions/ErrorResponse' '500': description: Server Error schema: $ref: '#/definitions/ErrorResponse' '503': description: Service Unavailable schema: $ref: '#/definitions/ErrorResponse' security: - OAuth2: [] /contract/thresholds: get: tags: - rest-threshold-controller summary: Get list of thresholds description: |- Return list of thresholds for current user. Required privileges (one of the following):
  • privileges_threshold_management
  • privileges_orders_authorization
  • privileges_un-authorized_orders_creation
operationId: getThresholdsUsingGET produces: - '*/*' responses: '200': description: OK schema: type: array items: $ref: '#/definitions/Threshold' '400': description: Bad Request schema: $ref: '#/definitions/ErrorResponse' '401': description: Unauthorized schema: $ref: '#/definitions/ErrorResponse' '403': description: Forbidden schema: $ref: '#/definitions/ErrorResponse' '404': description: Not Found schema: $ref: '#/definitions/ErrorResponse' '429': description: Too Many Requests schema: $ref: '#/definitions/ErrorResponse' '500': description: Server Error schema: $ref: '#/definitions/ErrorResponse' '503': description: Service Unavailable schema: $ref: '#/definitions/ErrorResponse' security: - OAuth2: [] post: tags: - rest-threshold-controller summary: Create new threshold description: |- Creates new threshold. Name must be unique in context of customer.
The request is validated. Possible validation errors: | HTTP code | Error code | Description | |-----------|--------------------------|-------------------------------------------------------| | `400` | `VALUE_NOT_UNIQUE` | `name` must be unique in context of customer | Required privilege:
  • privileges_threshold_management
operationId: createNewThresholdUsingPOST consumes: - application/json produces: - '*/*' parameters: - in: body name: params description: params required: true schema: $ref: '#/definitions/ThresholdRequestParams' responses: '200': description: OK '400': description: Bad Request schema: $ref: '#/definitions/ErrorResponse' '401': description: Unauthorized schema: $ref: '#/definitions/ErrorResponse' '403': description: Forbidden schema: $ref: '#/definitions/ErrorResponse' '404': description: Not Found schema: $ref: '#/definitions/ErrorResponse' '429': description: Too Many Requests schema: $ref: '#/definitions/ErrorResponse' '500': description: Server Error schema: $ref: '#/definitions/ErrorResponse' '503': description: Service Unavailable schema: $ref: '#/definitions/ErrorResponse' security: - OAuth2: [] /contract/thresholds/availability: get: tags: - rest-threshold-controller summary: Check if user should have access to thresholds description: |- Return if user should have access to thresholds. Required privileges (one of the following):
  • privileges_threshold_management
  • privileges_orders_authorization
  • privileges_un-authorized_orders_creation
operationId: getThresholdsAvailabilityUsingGET produces: - '*/*' responses: '200': description: OK schema: $ref: '#/definitions/OperationAvailability1' '400': description: Bad Request schema: $ref: '#/definitions/ErrorResponse' '401': description: Unauthorized schema: $ref: '#/definitions/ErrorResponse' '403': description: Forbidden schema: $ref: '#/definitions/ErrorResponse' '404': description: Not Found schema: $ref: '#/definitions/ErrorResponse' '429': description: Too Many Requests schema: $ref: '#/definitions/ErrorResponse' '500': description: Server Error schema: $ref: '#/definitions/ErrorResponse' '503': description: Service Unavailable schema: $ref: '#/definitions/ErrorResponse' security: - OAuth2: [] /contract/thresholds/remove: post: tags: - rest-threshold-controller summary: Remove thresholds description: |- If at least one item cannot be deleted, none of the items will be deleted.
The request is validated. Possible validation errors: | HTTP code | Error code | Description | |-----------|----------------------------|-----------------------------------------------------| | `404` | `REMOVING_BLOCKED` | Cannot remove at least one of threshold | | `404` | `THRESHOLD_NOT_FOUND` | Not an existing threshold was given in list | Required privilege:
  • privileges_threshold_management
operationId: removeThresholdUsingPOST consumes: - application/json produces: - '*/*' parameters: - in: body name: params description: params required: true schema: $ref: '#/definitions/RemoveThresholdParams' responses: '200': description: OK '400': description: Bad Request schema: $ref: '#/definitions/ErrorResponse' '401': description: Unauthorized schema: $ref: '#/definitions/ErrorResponse' '403': description: Forbidden schema: $ref: '#/definitions/ErrorResponse' '404': description: Not Found schema: $ref: '#/definitions/ErrorResponse' '429': description: Too Many Requests schema: $ref: '#/definitions/ErrorResponse' '500': description: Server Error schema: $ref: '#/definitions/ErrorResponse' '503': description: Service Unavailable schema: $ref: '#/definitions/ErrorResponse' security: - OAuth2: [] /contract/thresholds/{id}: get: tags: - rest-threshold-controller summary: Get threshold with information about operation availability description: |- Returns a single threshold by `id` with additional information about possibility to modify and delete subscription.Accessible only if user has priviliges to perform these operations at all. Required privilege:
  • privileges_threshold_management
operationId: getThresholdUsingGET produces: - '*/*' parameters: - name: id in: path description: id required: true type: integer format: int64 responses: '200': description: OK schema: $ref: '#/definitions/ThresholdDetails' '400': description: Bad Request schema: $ref: '#/definitions/ErrorResponse' '401': description: Unauthorized schema: $ref: '#/definitions/ErrorResponse' '403': description: Forbidden schema: $ref: '#/definitions/ErrorResponse' '404': description: Not Found schema: $ref: '#/definitions/ErrorResponse' '429': description: Too Many Requests schema: $ref: '#/definitions/ErrorResponse' '500': description: Server Error schema: $ref: '#/definitions/ErrorResponse' '503': description: Service Unavailable schema: $ref: '#/definitions/ErrorResponse' security: - OAuth2: [] post: tags: - rest-threshold-controller summary: Modify existing threshold description: |- Modifies existing threshold. Name must be unique in context of customer or the same as before.
The request is validated. Possible validation errors: | HTTP code | Error code | Description | |-----------|----------------------------|----------------------------------------------------------------------| | `400` | `VALUE_NOT_UNIQUE ` | `name` must be unique in context of customer or the same as before | | `400` | `TYPE_CHANGE_NOT_ALLOWED` | For chosen threshold change of type is not allowed | | `404` | `THRESHOLD_NOT_FOUND` | Not exisiting threshold was selected | Required privilege:
  • privileges_threshold_management
operationId: updateThresholdUsingPOST consumes: - application/json produces: - '*/*' parameters: - name: id in: path description: id required: true type: integer format: int64 - in: body name: params description: params required: true schema: $ref: '#/definitions/ThresholdRequestParams' responses: '200': description: OK '400': description: Bad Request schema: $ref: '#/definitions/ErrorResponse' '401': description: Unauthorized schema: $ref: '#/definitions/ErrorResponse' '403': description: Forbidden schema: $ref: '#/definitions/ErrorResponse' '404': description: Not Found schema: $ref: '#/definitions/ErrorResponse' '429': description: Too Many Requests schema: $ref: '#/definitions/ErrorResponse' '500': description: Server Error schema: $ref: '#/definitions/ErrorResponse' '503': description: Service Unavailable schema: $ref: '#/definitions/ErrorResponse' security: - OAuth2: [] /contract/thresholds/{id}/assign: post: tags: - rest-threshold-controller summary: Allows to assign list of contracts to given threshold description: |- Assigne list of contracts to threshold. The request is validated. Possible validation errors: | HTTP code | Error code | Description | |-----------|-------------------------------------------|------------------------------------------------------------------| | `400` | `CONTRACTS_ALREADY_ASSIGNED_TO_GIVEN_TYPE`| At least one contract is already assigned to this threshold type | | `400` | `NOT_VALID_PRODUCT_FOR_GIVEN_THRESHOLD` | At least one contract has not valid product for this threshold | | `403` | `FORBIDDEN_FOR_USER` | Thresholds are not available for loggin in user | | `404` | `CONTRACT_NOT_FOUND` | At least one contract is not visible for user or doesn't exist | | `404` | `THRESHOLD_NOT_FOUND` | Not exisiting threshold was selected | Required privileges (one of the following):
  • privileges_threshold_management
  • privileges_orders_authorization
  • privileges_un-authorized_orders_creation
operationId: assignContractsUsingPOST consumes: - application/json produces: - '*/*' parameters: - name: id in: path description: id required: true type: integer format: int64 - in: body name: params description: params required: true schema: $ref: '#/definitions/AssignContractsToThresholdRequestParams' responses: '200': description: OK '400': description: Bad Request schema: $ref: '#/definitions/ErrorResponse' '401': description: Unauthorized schema: $ref: '#/definitions/ErrorResponse' '403': description: Forbidden schema: $ref: '#/definitions/ErrorResponse' '404': description: Not Found schema: $ref: '#/definitions/ErrorResponse' '429': description: Too Many Requests schema: $ref: '#/definitions/ErrorResponse' '500': description: Server Error schema: $ref: '#/definitions/ErrorResponse' '503': description: Service Unavailable schema: $ref: '#/definitions/ErrorResponse' security: - OAuth2: [] /contract/thresholds/{id}/unassign: post: tags: - rest-threshold-controller summary: Allows to unassign contracts from given threshold description: |- Unassigns the given list of contracts from the given threshold.
The request is validated. Possible validation errors: | HTTP code | Error code | Description | |-----------|----------------------------|-----------------------------------------------------------------------------------------| | `403` | `FORBIDDEN_FOR_USER` | Thresholds are not available for loggin in user | | `404` | `THRESHOLD_NOT_FOUND` | Threshold with the given `id` was not found | | `404` | `CONTRACT_NOT_FOUND` | At least one of the given contracts does not exists or is not assigned to the threshold | Required privileges (one of the following):
  • privileges_threshold_management
  • privileges_orders_authorization
  • privileges_un-authorized_orders_creation
operationId: unassignContractsUsingPOST consumes: - application/json produces: - '*/*' parameters: - name: id in: path description: id required: true type: integer format: int64 - in: body name: params description: params required: true schema: $ref: '#/definitions/UnassignContractsFromThresholdRequestParams' responses: '200': description: OK '400': description: Bad Request schema: $ref: '#/definitions/ErrorResponse' '401': description: Unauthorized schema: $ref: '#/definitions/ErrorResponse' '403': description: Forbidden schema: $ref: '#/definitions/ErrorResponse' '404': description: Not Found schema: $ref: '#/definitions/ErrorResponse' '429': description: Too Many Requests schema: $ref: '#/definitions/ErrorResponse' '500': description: Server Error schema: $ref: '#/definitions/ErrorResponse' '503': description: Service Unavailable schema: $ref: '#/definitions/ErrorResponse' security: - OAuth2: [] /contract/thresholds/{thresholdId}/contracts: get: tags: - rest-threshold-controller summary: Get contracts assigned to threshold description: |- Possible validation errors: | HTTP code | Error code | Description | |-----------|----------------------------|----------------------------------------------------| | `404` | `THRESHOLD_NOT_FOUND` | Not an existing threshold was given in list | | `403` | `FORBIDDEN_FOR_USER` | Operation not allowed for current user | Required privileges (one of the following):
  • privileges_threshold_management
  • privileges_orders_authorization
  • privileges_un-authorized_orders_creation
operationId: getContractsUsingGET_1 produces: - '*/*' parameters: - name: Content-Language in: header description: Content-Language required: false type: string - name: category in: query required: false type: string enum: - MOBILE - FIXED - FIXED_MOBILE - HARDWARE - SKYPE_FOR_BUSINESS - SOFTWARE - OTHER - name: filters in: query description: 'Possible columns: FIRSTNAME, LASTNAME, SURNAME_PREFIX, PRODUCT_NAME, PRODUCT_CATEGORY, MOBILE_NUMBER, FIXED_NUMBER, STATE, EXTENSION, SIM_CARD_NUMBER, IMEI. For example: FIRSTNAME: "aab", "aac"; LASTNAME: "aba", "abb"' required: false type: string - name: from in: query description: Pagination parameter - start from (included). The elements are counted from 0. Default value is 0. required: false type: integer format: int32 x-example: 0 - name: order in: query required: false type: string enum: - ASC - DESC - name: patterns in: query required: false type: array items: type: string collectionFormat: multi - name: sortBy in: query required: false type: string enum: - FIRSTNAME - LASTNAME - SURNAME_PREFIX - PRODUCT_NAME - PRODUCT_CATEGORY - MOBILE_NUMBER - FIXED_NUMBER - STATE - SIM_CARD_NUMBER - EXTENSION - SIP_ACCOUNT_NAME - CATEGORY - name: thresholdId in: path description: thresholdId required: true type: integer format: int64 - name: to in: query description: Pagination parameter - end element (exluded). Default value is 20. required: false type: integer format: int32 x-example: 20 responses: '200': description: OK schema: $ref: '#/definitions/PagedResult_Contract_' '400': description: Bad Request schema: $ref: '#/definitions/ErrorResponse' '401': description: Unauthorized schema: $ref: '#/definitions/ErrorResponse' '403': description: Forbidden schema: $ref: '#/definitions/ErrorResponse' '404': description: Not Found schema: $ref: '#/definitions/ErrorResponse' '429': description: Too Many Requests schema: $ref: '#/definitions/ErrorResponse' '500': description: Server Error schema: $ref: '#/definitions/ErrorResponse' '503': description: Service Unavailable schema: $ref: '#/definitions/ErrorResponse' security: - OAuth2: [] /contract/thresholds/{thresholdId}/contracts-to-assign: get: tags: - rest-threshold-controller summary: Get a list of contracts which can be later assigned to given threshold. description: |- Possible validation errors: | HTTP code | Error code | Description | |-----------|----------------------------|-----------------------------------------------------| | `403` | `FORBIDDEN_FOR_USER` | Operation not allowed for current user | | `404` | `THRESHOLD_NOT_FOUND` | Given threshold can not be found | Required privileges (one of the following):
  • privileges_threshold_management
  • privileges_orders_authorization
  • privileges_un-authorized_orders_creation
operationId: getContractsToAssignUsingGET produces: - '*/*' parameters: - name: Content-Language in: header description: Content-Language required: false type: string - name: category in: query required: false type: string enum: - MOBILE - FIXED - FIXED_MOBILE - HARDWARE - SKYPE_FOR_BUSINESS - SOFTWARE - OTHER - name: filters in: query description: 'Possible columns: FIRSTNAME, LASTNAME, SURNAME_PREFIX, PRODUCT_NAME, PRODUCT_CATEGORY, MOBILE_NUMBER, FIXED_NUMBER, STATE, EXTENSION, SIM_CARD_NUMBER, IMEI. For example: FIRSTNAME: "aab", "aac"; LASTNAME: "aba", "abb"' required: false type: string - name: from in: query description: Pagination parameter - start from (included). The elements are counted from 0. Default value is 0. required: false type: integer format: int32 x-example: 0 - name: order in: query required: false type: string enum: - ASC - DESC - name: patterns in: query required: false type: array items: type: string collectionFormat: multi - name: sortBy in: query required: false type: string enum: - FIRSTNAME - LASTNAME - SURNAME_PREFIX - PRODUCT_NAME - PRODUCT_CATEGORY - MOBILE_NUMBER - FIXED_NUMBER - STATE - SIM_CARD_NUMBER - EXTENSION - SIP_ACCOUNT_NAME - CATEGORY - name: thresholdId in: path description: thresholdId required: true type: integer format: int64 - name: to in: query description: Pagination parameter - end element (exluded). Default value is 20. required: false type: integer format: int32 x-example: 20 responses: '200': description: OK schema: $ref: '#/definitions/PagedResult_Contract_' '400': description: Bad Request schema: $ref: '#/definitions/ErrorResponse' '401': description: Unauthorized schema: $ref: '#/definitions/ErrorResponse' '403': description: Forbidden schema: $ref: '#/definitions/ErrorResponse' '404': description: Not Found schema: $ref: '#/definitions/ErrorResponse' '429': description: Too Many Requests schema: $ref: '#/definitions/ErrorResponse' '500': description: Server Error schema: $ref: '#/definitions/ErrorResponse' '503': description: Service Unavailable schema: $ref: '#/definitions/ErrorResponse' security: - OAuth2: [] /contracting/basket: get: tags: - rest-contracting-controller summary: Get basket content with products tree and prices description: Required privileges (one of the following):
  • privileges_un-authorized_orders_creation
  • privileges_orders_authorization
operationId: getBasketUsingGET produces: - '*/*' parameters: - name: sessionId in: query description: sessionId required: false type: string responses: '200': description: OK schema: $ref: '#/definitions/BasketSnapshot' '400': description: Bad Request schema: $ref: '#/definitions/ErrorResponse' '401': description: Unauthorized schema: $ref: '#/definitions/ErrorResponse' '403': description: Forbidden schema: $ref: '#/definitions/ErrorResponse' '404': description: Not Found schema: $ref: '#/definitions/ErrorResponse' '429': description: Too Many Requests schema: $ref: '#/definitions/ErrorResponse' '500': description: Server Error schema: $ref: '#/definitions/ErrorResponse' '503': description: Service Unavailable schema: $ref: '#/definitions/ErrorResponse' security: - OAuth2: [] post: tags: - rest-contracting-controller summary: Modify state of current basket description: |-
This is a central enpoint for contracting or modifing products. Depending on `change` object passed to this method you can initialize basket, mark product to be contracted, mark product to be terminated, set some parameter for contracting process and so on. Below you will find example scenarios of using basket. # Modify contract 1. Find contract to modify using: `GET /contract/all` 2. Check if contract modification is possible for selected contract using: `GET /order/operations`. Check flags for `modify` in response (`visible` and `enabled` are set to true). 3. Initialize basket using selected contract: `POST /contracting/basket` ``` { "contractId": [id of contract to be modified] } ``` 4. Get basket content (including products tree): `GET /contracting/basket` 5. Now you can select and deselect products (you can send more than one - every change will be proceeded one after another) using: `POST /contracting/basket` ``` { "productActions": [{ "productId": [id field from tree], "amount": [optional number of products to be put - important only for PUT action, min 1, max 100, default 1], "type": ["PUT" | "REMOVE"] }] } ``` Sending multiply changes should be used mainly if you are sure all changes can be applied (i.e. one action won't exclude following ones). Step 4 and 5 can be repeated multiply times. 6. You can create order with introduced changes via `POST /contracting/basket/order` ``` { "referenceNumber": [reference number], "wishDate": [date when the order is going to be started] } ``` # Create new contract 1. Find subscriber for whom you want to create new contract, e.g. `GET /hierarchy/subscribers` 2. Initialize basket using selected account (subscriber): `POST /contracting/basket` ``` { "accountGroupId": [subscriber id found in previous step] } ``` 3. Get basket content (including products tree): `GET /contracting/basket` 4. Select and deselect products - in the same way as during contract modification 5. Right now you can fill in some characteristic values. Characteristics are all values which are needed to fully configured the future contract. The set of characteristics depends on previously selected products (for example you will receive different values for mobile subscription and for fixed one). What is more, it is possible that setting some characteristics can enable another ones. So after every such action you should check basket content. Let's assume you've selected in the previous step `IP Centrex`. In such situation you will get in your basket something like this: ``` (...) "characteristics": { "firstName": { "name": "firstName", "value": "Jan", "possibleValues": [{"value": "Jan"}] }, "lastName": { "name": "lastName", "value": "Kowalski", "possibleValues": [{"value": "Kowalski"}] }, "loginExtension": { "name": "loginExtension" }, "loginExtensionPrefix": { "name": "loginExtensionPrefix", "value": "", "possibleValues": [{"value": ""}] }, "deviceOption": { "name": "deviceOption", "possibleValues": [ { "value": "Off-The-Shelf", "caption": {"en": "Off-The-Shelf", "nl": "Off-The-Shelf"} }, { "value": "Deviceless", "caption": {"en": "Deviceless", "nl": "Deviceless"} }, { "value": "Existing Shared", "caption": {"en": "Existing Shared", "nl": "Existing Shared"} } ] }, "fixedNumber": { "name": "fixedNumber" }, "email": { "name": "email", "value": "jan.kowalski@comarch.com", "possibleValues": [{"value": "jan.kowalski@comarch.com"}] }, "group": { "name": "group", "possibleValues": [ { "value": "166715563", "caption": {"en": "Codemaster Group 1", "nl": "Codemaster Group 1"} }, { "value": "166715564", "caption": {"en": "Codemaster Group 2", "nl": "Codemaster Group 2"} } ] } } (...) ``` Some of these characteristics are read-only as they have only one possible value which is prefilled and can't be changed to anything else (for example `firstName`, `lastName`). They are included in the response for informational purpose and can be presented on a front-end. The rest of characteristics should be entered: * `loginExtension`, * `deviceOption`, * `fixedNumber`, * `group`. Setting characteristic value is done through the same `POST /contracting/basket` endpoint, but now we are going to use `characteristicActions` key, for example: ``` { "characteristicActions": [{ "name": "deviceOption", "value": "Off-The-Shelf" }] } ``` After `deviceOption` is set to `Off-The-Shelf` you will receive additionally `deviceType` characteristic to set. Theoretically, you can merge many characteristic requests into one request by passing a list of actions instead of single one. But please be aware, that in such case they are proceeded sequentially one-by-one, so their order may be important (for example you need set ` deviceOption` characteristic before `deviceType`). Or you can just make separated request for each individual value. It's up to you. The process of consulting basket content and setting characteristics value should be repeated until all required values are set.6. Next, if you decide to give a new sim card (possible only when you haven't ordered a new one), you should `POST /basket` the following object: ``` {"simCardNumber": } ``` 7. You can create order with introduced changes via `POST /contracting/basket/order` ``` { "referenceNumber": [reference number], "wishDate": [date when the order is going to be started] } ``` Please note that if you selected some order you have to extend this object with address section. # Create new contract (by template) 1. Find subscriber for whom you want to create new contract, e.g. `GET /hierarchy/subscribers` 2. Initialize basket using selected account (subscriber): `POST /contracting/basket` ``` { "accountGroupId": [subscriber id found in previous step] } ``` 3. From now you can get template list using `GET /contracing/basket/templates` 4. You can use one of those templates (select it) using `POST /contracting/basket`: ``` { "templateId": [template id] } ``` 5. Get basket content (including products tree): `GET /contracting/basket` The rest of steps is analogous to standard way of creating contract. # Reactivate contract 1. Find subscriber for whom you want to create new contract, e.g. `GET /hierarchy/subscribers` 2. Find service request in which contract was terminated, e.g. `GET /track-and-trace/service-requests` 3. Initialize basket using selected account (subscriber) and contract: `POST /contracting/basket` ``` { "accountGroupId": [subscriber id found in previous step], "orderId": [termination order id found in previous step] } ``` 4. A read-only characteristic `previousPhoneNumber` is initialized. You can use it to get the previous phone number and present it to an end user. The rest of steps is analogous to standard way of creating contract. # Port in number Initials steps are the same as for creating a new contract. After configuring products tree (by hand or by template) you should be able to set porting characteristics. Please note that this characteristic will be only available if you select mobile product. You can check possible list of characteristics to be set using: `GET /basket` or `GET /basket/characteristics`. Example response after selecting mobile product (fragment of `GET /basket` response): ``` (...) "characteristics": { "porting": { "name": "porting", "value": "false", "possibleValues": [ { "value": "false", "caption": { "en": "false", "nl": "false" } }, { "value": "true", "caption": { "en": "true", "nl": "true" } } ] } } (...) ``` The response says that: * you can set `porting` characteristic (field `name`), * current value is `false` (field `value`), * it can take one of two values: `true` or `false` (field `possibleValues`). To switch porting value to `true`, you have to make the following request: ``` { "characteristicActions": [{ "name": "porting", "value": "true" }] } ``` After setting porting to `true` there will be possibility to set few more porting-specific parameters (you can get new list of characteristics again using `GET /basket`): * `phoneNumber` - required, regex: `316\d{8} | 3197\d{9}` * `customerNumber` - required, length <= 70 * `customerName`, lenght <= 20 * `keepExistingSimCard` - default `false` * `note` - length <= 60 Theoretically, you can merge characteristic requests into one request by passing a list of actions instead of single action. But please be aware, that in such case they are proceeded sequentially one-by-one, so their order may be important (for example you need set `porting` characteristic before `phoneNumber`). Or you can just make separated request for each individual value. It's up to you. Turning on `porting` flag additionally disable possibility to get more main products and contract additional main products such as handsets, sim cards etc. During porting contracting such products is not possible. If sent characteristic value does not met validation criteria an error is raised (`400 Bad Request`) with possible code values: * `INVALID_CUSTOMER_NAME`, * `INVALID_CUSTOMER_NUMBER`, * `INVALID_NOTE`, * `BASKET_INVALID`, * `INVALID_MSISDN_ALREADY_EXISTS_FOR_A_CUSTOMER`, * `INVALID_MSISDN_IS_BLOCKED`, * `INVALID_MSISDN_FORMAT_NOT_VALID`, * `INVALID_MSISDN_LENGTH_FOR_THIS_PRODUCT`, * `INVALID_MSISDN_FOR_CUSTOMER_OFFER`, Next, if you decide to give a new sim card (possible only when `keepExistingSimCard` = `false`), you should `POST /basket` the following object: ``` { "simCardNumber": } ``` to pass short UICCD of ported number. Keeping existing sim card is only possible for phone number registered currently in KPN (internal porting). Start a new order is possible via 'POST /basket/order'. You can pass: * `wishDate` - preferred date of porting (null is treated as ASAP), * `referenceNumber`. We do not pass address to backend. Possible error codes (for `400 Bad Request` response): * `BASKET_INVALID` - not all parameters have been set, or product tree is in error state, * `INVALID_WISH_DATE` - as wish date should be <= current date + 90, and can not be set on holiday. # Combine fixed and mobile contract 1. Find first contract to combine using: `GET /contract/all` 2. Check if contract combination is possible for selected contract using: `GET /order/operations`. Check flags for `combineFixedMobile` in response (`visible` and `enabled` are set to true). 3. Depending on previous contract type find second contract using `GET /contracting/id/{id}/vamo/fixed-numbers` or `GET /contracting/id/{id}/vamo/mobile-numbers` 4. Initialize basket using selected contracts: `POST /contracting/basket` ``` { "fixedContractId": [id of fixed contract], "mobileContractId": [id of mobile contract], } ``` 5. Get list of possible characterists to bet set (for example pbx groups, service types, combine types). The response contains also current value of every characteristics: `GET /contracting/basket/characteristics 6. Set selected characteristics using modify basket (you can send more than one - every change will be proceeded one after another) ``` { "characteristicActions": [{ "name": [characteristic name], "value": [characteristic value] }] } Step 5 and 6 can be repeated multiply times. 7. Get products tree: `GET /contracting/basket/products` The rest of steps are still not implemented. # Modify existing template 1. Find valid template to modify using: `GET /contracting/templates` 2. Initialize basket using selected template: `POST /contracting/basket` ``` { "templatedIdToModify": [id of template to be modified] } ``` 3. You can preview and modify basket state the same way as during create new subscrition or dduring contract modification 4. When the basket is in valid state you can save all change using `POST /contracting/basket/modify-template`
Required privileges (one of the following):
  • privileges_un-authorized_orders_creation
  • privileges_orders_authorization
operationId: modifyBasketUsingPOST consumes: - application/json produces: - '*/*' parameters: - in: body name: change description: change required: true schema: $ref: '#/definitions/BasketChange' - name: sessionId in: query description: sessionId required: false type: string responses: '200': description: OK schema: type: object additionalProperties: type: string '400': description: Bad Request schema: $ref: '#/definitions/ErrorResponse' '401': description: Unauthorized schema: $ref: '#/definitions/ErrorResponse' '403': description: Forbidden schema: $ref: '#/definitions/ErrorResponse' '404': description: Not Found schema: $ref: '#/definitions/ErrorResponse' '429': description: Too Many Requests schema: $ref: '#/definitions/ErrorResponse' '500': description: Server Error schema: $ref: '#/definitions/ErrorResponse' '503': description: Service Unavailable schema: $ref: '#/definitions/ErrorResponse' security: - OAuth2: [] /contracting/basket/characteristics: get: tags: - rest-contracting-controller summary: Get characteristics grouped by its names description: |- Example characteristics names: `pbxGroup`, `serviceType`, `combineType` Required privileges (one of the following):
  • privileges_un-authorized_orders_creation
  • privileges_orders_authorization
operationId: getCharacteristicsUsingGET produces: - '*/*' parameters: - name: sessionId in: query description: sessionId required: false type: string responses: '200': description: OK schema: type: object additionalProperties: $ref: '#/definitions/Characteristic' '400': description: Bad Request schema: $ref: '#/definitions/ErrorResponse' '401': description: Unauthorized schema: $ref: '#/definitions/ErrorResponse' '403': description: Forbidden schema: $ref: '#/definitions/ErrorResponse' '404': description: Not Found schema: $ref: '#/definitions/ErrorResponse' '429': description: Too Many Requests schema: $ref: '#/definitions/ErrorResponse' '500': description: Server Error schema: $ref: '#/definitions/ErrorResponse' '503': description: Service Unavailable schema: $ref: '#/definitions/ErrorResponse' security: - OAuth2: [] /contracting/basket/main-products: get: tags: - rest-contracting-controller summary: Get list of main products to order description: Required privileges (one of the following):
  • privileges_un-authorized_orders_creation
  • privileges_orders_authorization
operationId: getMainProductsUsingGET produces: - '*/*' parameters: - name: Content-Language in: header description: Content-Language required: false type: string - name: category in: query description: 'Possible values: MOBILE, SIM CARDS, FIXED, HARDWARE, SOFTWARE, OTHER' required: false type: string - name: filters in: query description: 'Possible columns: PRODUCT_NAME, PRICE_IN_CENTS, PRIVATE_COPYING_LEVY_IN_CENTS. For example: STATUS: "a", "b"; PRICE_IN_CENTS: "1", "2"' required: false type: string - name: from in: query description: Pagination parameter - start from (included). The elements are counted from 0. Default value is 0. required: false type: integer format: int32 x-example: 0 - name: order in: query required: false type: string enum: - ASC - DESC - name: patterns in: query required: false type: array items: type: string collectionFormat: multi - name: sessionId in: query description: sessionId required: false type: string - name: sortBy in: query required: false type: string enum: - PRODUCT_NAME - CATEGORY - FOLDER_NAME - PRICE_IN_CENTS - PRIVATE_COPYING_LEVY_IN_CENTS - name: to in: query description: Pagination parameter - end element (exluded). Default value is 20. required: false type: integer format: int32 x-example: 20 responses: '200': description: OK schema: $ref: '#/definitions/PagedResult_Product_1' '400': description: Bad Request schema: $ref: '#/definitions/ErrorResponse' '401': description: Unauthorized schema: $ref: '#/definitions/ErrorResponse' '403': description: Forbidden schema: $ref: '#/definitions/ErrorResponse' '404': description: Not Found schema: $ref: '#/definitions/ErrorResponse' '429': description: Too Many Requests schema: $ref: '#/definitions/ErrorResponse' '500': description: Server Error schema: $ref: '#/definitions/ErrorResponse' '503': description: Service Unavailable schema: $ref: '#/definitions/ErrorResponse' security: - OAuth2: [] /contracting/basket/modify-template: post: tags: - rest-contracting-controller summary: Modify template description: Required privileges (one of the following):
  • privileges_un-authorized_orders_creation
  • privileges_orders_authorization
and:
  • privileges_portfolio_and_profiles_management
operationId: modifyTemplateUsingPOST consumes: - application/json produces: - '*/*' parameters: - name: sessionId in: query description: sessionId required: false type: string - name: spectatedUserId in: query description: spectatedUserId required: false type: integer format: int64 responses: '200': description: OK '400': description: Bad Request schema: $ref: '#/definitions/ErrorResponse' '401': description: Unauthorized schema: $ref: '#/definitions/ErrorResponse' '403': description: Forbidden schema: $ref: '#/definitions/ErrorResponse' '404': description: Not Found schema: $ref: '#/definitions/ErrorResponse' '429': description: Too Many Requests schema: $ref: '#/definitions/ErrorResponse' '500': description: Server Error schema: $ref: '#/definitions/ErrorResponse' '503': description: Service Unavailable schema: $ref: '#/definitions/ErrorResponse' security: - OAuth2: [] /contracting/basket/order: post: tags: - rest-contracting-controller summary: Create order applying changes introduced to basket staring from initializing description: |- Possible errors: | HTTP code | Error code | Description | |------------------------------------|---------------------|----------------------------------------------------------| | `ORDERING_IS_BLOCKED_FOR_CUSTOMER` | `403` | Current customer is frozen and can not order anything | Required privileges (one of the following):
  • privileges_un-authorized_orders_creation
  • privileges_orders_authorization
operationId: orderUsingPOST_1 consumes: - application/json produces: - '*/*' parameters: - in: body name: request description: request required: true schema: $ref: '#/definitions/OrderRequest' - name: sessionId in: query description: sessionId required: false type: string responses: '200': description: OK schema: $ref: '#/definitions/OrderConfirmation' '400': description: Bad Request schema: $ref: '#/definitions/ErrorResponse' '401': description: Unauthorized schema: $ref: '#/definitions/ErrorResponse' '403': description: Forbidden schema: $ref: '#/definitions/ErrorResponse' '404': description: Not Found schema: $ref: '#/definitions/ErrorResponse' '429': description: Too Many Requests schema: $ref: '#/definitions/ErrorResponse' '500': description: Server Error schema: $ref: '#/definitions/ErrorResponse' '503': description: Service Unavailable schema: $ref: '#/definitions/ErrorResponse' security: - OAuth2: [] /contracting/basket/products: get: tags: - rest-contracting-controller summary: Get products tree description: Required privileges (one of the following):
  • privileges_un-authorized_orders_creation
  • privileges_orders_authorization
operationId: getProductsTreeUsingGET produces: - '*/*' parameters: - name: sessionId in: query description: sessionId required: false type: string responses: '200': description: OK schema: type: array items: $ref: '#/definitions/ProductTreeItem' '400': description: Bad Request schema: $ref: '#/definitions/ErrorResponse' '401': description: Unauthorized schema: $ref: '#/definitions/ErrorResponse' '403': description: Forbidden schema: $ref: '#/definitions/ErrorResponse' '404': description: Not Found schema: $ref: '#/definitions/ErrorResponse' '429': description: Too Many Requests schema: $ref: '#/definitions/ErrorResponse' '500': description: Server Error schema: $ref: '#/definitions/ErrorResponse' '503': description: Service Unavailable schema: $ref: '#/definitions/ErrorResponse' security: - OAuth2: [] /contracting/basket/reset: post: tags: - rest-contracting-controller summary: Reset basket description: |- Some of the methods are stateful and depend on basket state. Due to this it is sometimes helpful to reinitialize basket. Required privileges (one of the following):
  • privileges_un-authorized_orders_creation
  • privileges_orders_authorization
operationId: resetBasketUsingPOST consumes: - application/json produces: - '*/*' parameters: - name: sessionId in: query description: sessionId required: false type: string responses: '200': description: OK '400': description: Bad Request schema: $ref: '#/definitions/ErrorResponse' '401': description: Unauthorized schema: $ref: '#/definitions/ErrorResponse' '403': description: Forbidden schema: $ref: '#/definitions/ErrorResponse' '404': description: Not Found schema: $ref: '#/definitions/ErrorResponse' '429': description: Too Many Requests schema: $ref: '#/definitions/ErrorResponse' '500': description: Server Error schema: $ref: '#/definitions/ErrorResponse' '503': description: Service Unavailable schema: $ref: '#/definitions/ErrorResponse' security: - OAuth2: [] /contracting/basket/resources: get: tags: - rest-contracting-controller summary: Get resources description: Required privileges (one of the following):
  • privileges_un-authorized_orders_creation
  • privileges_orders_authorization
operationId: getResourcesUsingGET produces: - '*/*' parameters: - name: limit in: query description: limit required: false type: integer format: int32 - name: prefix in: query description: prefix required: true type: string - name: sessionId in: query description: sessionId required: false type: string responses: '200': description: OK schema: type: array items: $ref: '#/definitions/Resource' '400': description: Bad Request schema: $ref: '#/definitions/ErrorResponse' '401': description: Unauthorized schema: $ref: '#/definitions/ErrorResponse' '403': description: Forbidden schema: $ref: '#/definitions/ErrorResponse' '404': description: Not Found schema: $ref: '#/definitions/ErrorResponse' '429': description: Too Many Requests schema: $ref: '#/definitions/ErrorResponse' '500': description: Server Error schema: $ref: '#/definitions/ErrorResponse' '503': description: Service Unavailable schema: $ref: '#/definitions/ErrorResponse' security: - OAuth2: [] /contracting/basket/save-as-template: post: tags: - rest-contracting-controller summary: Save as template description: Required privileges (one of the following):
  • privileges_un-authorized_orders_creation
  • privileges_orders_authorization
and:
  • privileges_portfolio_and_profiles_management
operationId: saveAsTemplateUsingPOST consumes: - application/json produces: - '*/*' parameters: - in: body name: request description: request required: true schema: $ref: '#/definitions/SaveAsTemplateRequest' - name: sessionId in: query description: sessionId required: false type: string responses: '200': description: OK schema: $ref: '#/definitions/SaveAsTemplateResponse' '400': description: Bad Request schema: $ref: '#/definitions/ErrorResponse' '401': description: Unauthorized schema: $ref: '#/definitions/ErrorResponse' '403': description: Forbidden schema: $ref: '#/definitions/ErrorResponse' '404': description: Not Found schema: $ref: '#/definitions/ErrorResponse' '429': description: Too Many Requests schema: $ref: '#/definitions/ErrorResponse' '500': description: Server Error schema: $ref: '#/definitions/ErrorResponse' '503': description: Service Unavailable schema: $ref: '#/definitions/ErrorResponse' security: - OAuth2: [] /contracting/basket/templates: get: tags: - rest-contracting-controller summary: Get templates description: |- List of templates can be limited by main product category (if null given all templates will be returned). Required privileges (one of the following):
  • privileges_un-authorized_orders_creation
  • privileges_orders_authorization
operationId: getTemplatesUsingGET produces: - '*/*' parameters: - name: from in: query description: Pagination parameter - start from (included). The elements are counted from 0. Default value is 0. required: false type: integer format: int32 x-example: 0 - name: mainProductCategory in: query required: false type: string enum: - HARDWARE - FIXED - MOBILE - SOFTWARE - FIXED_MOBILE - SKYPE_FOR_BUSINESS - CENTREX - OTHER - name: pattern in: query required: false type: string - name: sessionId in: query description: sessionId required: false type: string - name: to in: query description: Pagination parameter - end element (exluded). Default value is 20. required: false type: integer format: int32 x-example: 20 responses: '200': description: OK schema: $ref: '#/definitions/PagedResult_Template_' '400': description: Bad Request schema: $ref: '#/definitions/ErrorResponse' '401': description: Unauthorized schema: $ref: '#/definitions/ErrorResponse' '403': description: Forbidden schema: $ref: '#/definitions/ErrorResponse' '404': description: Not Found schema: $ref: '#/definitions/ErrorResponse' '429': description: Too Many Requests schema: $ref: '#/definitions/ErrorResponse' '500': description: Server Error schema: $ref: '#/definitions/ErrorResponse' '503': description: Service Unavailable schema: $ref: '#/definitions/ErrorResponse' security: - OAuth2: [] /contracting/bvm/availability: get: tags: - rest-business-voice-mail-controller summary: Business voicemail availability description: |- Check if business voicemail service is availabe for current user. Required privileges (one of the following):
  • privileges_un-authorized_orders_creation
  • privileges_orders_authorization
operationId: getAvailabilityUsingGET produces: - '*/*' responses: '200': description: OK schema: $ref: '#/definitions/OperationAvailability' '400': description: Bad Request schema: $ref: '#/definitions/ErrorResponse' '401': description: Unauthorized schema: $ref: '#/definitions/ErrorResponse' '403': description: Forbidden schema: $ref: '#/definitions/ErrorResponse' '404': description: Not Found schema: $ref: '#/definitions/ErrorResponse' '429': description: Too Many Requests schema: $ref: '#/definitions/ErrorResponse' '500': description: Server Error schema: $ref: '#/definitions/ErrorResponse' '503': description: Service Unavailable schema: $ref: '#/definitions/ErrorResponse' security: - OAuth2: [] /contracting/bvm/order: post: tags: - rest-business-voice-mail-controller summary: Order Business voicemail description: |- Order business voicemail. Subscriptions file validations: | FILE ERROR CODE | CODE | DESCRIPTION | ERRORS | |------------------------------------|-------|------------------------------------------------------------------------------- |-------------------------------------| | `INVALID_BVM_FILE` | `400` | The file does not contain the .csv extension or it's binary content is not .csv | | | `WRONG_COLUMN_SEPARATOR` | `400` | Wrong column separator. Required is `;` character. | | | `MISSING_HEADER_IN_FILE` | `400` | At least one of headers was not found in the file (`mobiel nummer`, `voornaam`, `voornaam fonetisch`, `achternaam`, `achternaam fonetisch`, `geslacht`) | List of missing headers | | `RECORDS_NOT_VALID_IN_FILE` | `400` | At least one of fields was not correct. Required fields are `mobiel nummer`, `voornaam`, `achternaam`, `geslacht`. Field `mobiel nummer` needs to match pattern: 316[0-9]{8} and `geslacht` needs to be `M` or `V`. | List of incorrect rows | | `PHONE_NUMBERS_NOT_UNIQUE` | `400` | Given list of phone numbers was given multiple times. | List if incorrect phone numbers | | `SUBSCRIPTIONS_NOT_FOUND` | `400` | Not all given numbers are contracted for customer. | | | `MAXIMUM_AMOUNT_OF_ROWS_EXCEEDED` | `400` | Maximum rows size (2000) exceeded. | | | `KGG_NUMBERS_NOT_EQUAL` | `400` | Not all contracts have the same KGG number `These numbers are set for customers and debtors. `Ordes should usually be filled for a single debtor. | | | `ORDERING_IS_BLOCKED_FOR_CUSTOMER` | `403` | Current customer is frozen and can not order anything | | | | `413` | Request entity too large. Max file size is 128KB | | Required privileges (one of the following):
  • privileges_un-authorized_orders_creation
  • privileges_orders_authorization
operationId: orderUsingPOST consumes: - multipart/form-data produces: - '*/*' parameters: - name: companyName in: query required: true type: string - name: companyNamePronunciation in: query required: true type: string - name: customerReferenceNumber in: query required: false type: string - name: subscriptionsFile in: formData description: subscriptionsFile required: true type: file - name: voiceLanguage in: query required: true type: string enum: - EN - NL - name: voiceMailMessage in: query required: true type: string - name: wishDate in: query required: false type: string format: date-time responses: '200': description: OK schema: $ref: '#/definitions/OrderSummary' '400': description: Bad Request schema: $ref: '#/definitions/ErrorResponse' '401': description: Unauthorized schema: $ref: '#/definitions/ErrorResponse' '403': description: Forbidden schema: $ref: '#/definitions/ErrorResponse' '404': description: Not Found schema: $ref: '#/definitions/ErrorResponse' '429': description: Too Many Requests schema: $ref: '#/definitions/ErrorResponse' '500': description: Server Error schema: $ref: '#/definitions/ErrorResponse' '503': description: Service Unavailable schema: $ref: '#/definitions/ErrorResponse' security: - OAuth2: [] /contracting/categories: get: tags: - rest-contracting-controller summary: Get available product categories to be contracted for currently logged user description: |- Possible values: mobile, fixed, hardware, other, software Required privileges (one of the following):
  • privileges_un-authorized_orders_creation
  • privileges_orders_authorization
operationId: getAvailableCategoriesUsingGET produces: - '*/*' parameters: - name: sessionId in: query description: sessionId required: false type: string responses: '200': description: OK schema: type: array items: type: string '400': description: Bad Request schema: $ref: '#/definitions/ErrorResponse' '401': description: Unauthorized schema: $ref: '#/definitions/ErrorResponse' '403': description: Forbidden schema: $ref: '#/definitions/ErrorResponse' '404': description: Not Found schema: $ref: '#/definitions/ErrorResponse' '429': description: Too Many Requests schema: $ref: '#/definitions/ErrorResponse' '500': description: Server Error schema: $ref: '#/definitions/ErrorResponse' '503': description: Service Unavailable schema: $ref: '#/definitions/ErrorResponse' security: - OAuth2: [] /contracting/hardware/categories: get: tags: - rest-contracting-controller summary: Get available hardware categories description: |- Possible values: `handsets`, `additional mobile hardware`, `sim cards` Required privileges (one of the following):
  • privileges_un-authorized_orders_creation
  • privileges_orders_authorization
operationId: getHardwareCategoriesUsingGET produces: - '*/*' parameters: - name: sessionId in: query description: sessionId required: false type: string responses: '200': description: OK schema: type: array items: type: string '400': description: Bad Request schema: $ref: '#/definitions/ErrorResponse' '401': description: Unauthorized schema: $ref: '#/definitions/ErrorResponse' '403': description: Forbidden schema: $ref: '#/definitions/ErrorResponse' '404': description: Not Found schema: $ref: '#/definitions/ErrorResponse' '429': description: Too Many Requests schema: $ref: '#/definitions/ErrorResponse' '500': description: Server Error schema: $ref: '#/definitions/ErrorResponse' '503': description: Service Unavailable schema: $ref: '#/definitions/ErrorResponse' security: - OAuth2: [] /contracting/separate-fixed-mobile: post: tags: - rest-separate-fixed-mobile-controller summary: Separate fixed-mobile subscription description: |- Possible errors: | HTTP code | Error code | Description | |------------------------------------|---------------------|----------------------------------------------------------| | `ORDERING_IS_BLOCKED_FOR_CUSTOMER` | `403` | Current customer is frozen and can not order anything | Required privileges (one of the following):
  • privileges_un-authorized_orders_creation
  • privileges_orders_authorization
operationId: separateFixedMobileUsingPOST consumes: - application/json produces: - '*/*' parameters: - in: body name: request description: request required: true schema: $ref: '#/definitions/SeparateFixedMobileRequest' responses: '200': description: OK schema: $ref: '#/definitions/OrderConfirmation' '400': description: Bad Request schema: $ref: '#/definitions/ErrorResponse' '401': description: Unauthorized schema: $ref: '#/definitions/ErrorResponse' '403': description: Forbidden schema: $ref: '#/definitions/ErrorResponse' '404': description: Not Found schema: $ref: '#/definitions/ErrorResponse' '429': description: Too Many Requests schema: $ref: '#/definitions/ErrorResponse' '500': description: Server Error schema: $ref: '#/definitions/ErrorResponse' '503': description: Service Unavailable schema: $ref: '#/definitions/ErrorResponse' security: - OAuth2: [] /contracting/templates: get: tags: - rest-template-controller summary: Get template overview description: Required privileges (one of the following):
  • privileges_portfolio_and_profiles_management
produces: - '*/*' parameters: - name: groupId in: query description: groupId required: true type: integer format: int64 responses: '200': description: OK schema: type: array items: $ref: '#/definitions/TemplateOverview' '400': description: Bad Request schema: $ref: '#/definitions/ErrorResponse' '401': description: Unauthorized schema: $ref: '#/definitions/ErrorResponse' '403': description: Forbidden schema: $ref: '#/definitions/ErrorResponse' '404': description: Not Found schema: $ref: '#/definitions/ErrorResponse' '429': description: Too Many Requests schema: $ref: '#/definitions/ErrorResponse' '500': description: Server Error schema: $ref: '#/definitions/ErrorResponse' '503': description: Service Unavailable schema: $ref: '#/definitions/ErrorResponse' security: - OAuth2: [] /contracting/templates/{id}: get: tags: - rest-template-controller summary: Get template details description: Required privileges (one of the following):
  • privileges_portfolio_and_profiles_management
produces: - '*/*' parameters: - name: id in: path description: id required: true type: integer format: int64 responses: '200': description: OK schema: $ref: '#/definitions/TemplateDetailsWithLocations' '400': description: Bad Request schema: $ref: '#/definitions/ErrorResponse' '401': description: Unauthorized schema: $ref: '#/definitions/ErrorResponse' '403': description: Forbidden schema: $ref: '#/definitions/ErrorResponse' '404': description: Not Found schema: $ref: '#/definitions/ErrorResponse' '429': description: Too Many Requests schema: $ref: '#/definitions/ErrorResponse' '500': description: Server Error schema: $ref: '#/definitions/ErrorResponse' '503': description: Service Unavailable schema: $ref: '#/definitions/ErrorResponse' security: - OAuth2: [] /contracting/templates/{id}/delete: post: tags: - rest-template-controller summary: Remove template description: Required privileges (one of the following):
  • privileges_portfolio_and_profiles_management
operationId: deleteTemplateUsingPOST consumes: - application/json produces: - '*/*' parameters: - name: id in: path description: id required: true type: integer format: int64 responses: '200': description: OK '400': description: Bad Request schema: $ref: '#/definitions/ErrorResponse' '401': description: Unauthorized schema: $ref: '#/definitions/ErrorResponse' '403': description: Forbidden schema: $ref: '#/definitions/ErrorResponse' '404': description: Not Found schema: $ref: '#/definitions/ErrorResponse' '429': description: Too Many Requests schema: $ref: '#/definitions/ErrorResponse' '500': description: Server Error schema: $ref: '#/definitions/ErrorResponse' '503': description: Service Unavailable schema: $ref: '#/definitions/ErrorResponse' security: - OAuth2: [] securityDefinitions: OAuth2: type: "oauth2" tokenUrl: "https://api-prd.kpn.com/oauth/grip/msm/accesstoken?grant_type=client_credentials" flow: "application" definitions: ErrorResponse: type: object properties: transactionId: type: string description: transaction id of the the request title: Transaction ID status: type: string description: Status title: Status name: type: string description: Error name title: Error name message: type: string description: Error message title: Error message info: type: string description: Additional information about error title: Info Address: type: object properties: attention: type: string city: type: string companyName: type: string country: type: string floor: type: string houseNumber: type: string location: type: string postalCode: type: string provinceOrState: type: string room: type: string street: type: string title: Address Attachment: type: object properties: fileName: type: string id: type: integer format: int64 title: Attachment ChangePortingData: type: object properties: asap: type: boolean customerNumber: type: string newWishDate: type: string format: date-time title: ChangePortingData # Edited old one ContractItem: type: object properties: children: type: array items: $ref: '#/definitions/ContractItem' citemBsId: type: integer format: int64 contractId: type: integer format: int64 id: type: integer format: int64 name: $ref: '#/definitions/LocalizedString' productBsId: type: integer format: int64 tariffPlanVariantBsId: type: integer format: int64 title: ContractItem ContractServiceUpdate: type: object properties: children: type: array items: $ref: '#/definitions/ContractServiceUpdate' name: $ref: '#/definitions/LocalizedString' newState: type: string enum: - 'ON' - 'OFF' oldState: type: string enum: - 'ON' - 'OFF' title: ContractServiceUpdate ContractingSuborder: type: object properties: children: type: array items: $ref: '#/definitions/ContractingSuborder' expectedDeliveryDate: type: string id: type: string imeiNumbers: type: array items: type: string mobileNumbers: type: array items: type: string multiplicity: type: integer format: int64 name: $ref: '#/definitions/LocalizedString' oneTimePriceInCents: type: integer format: int64 privateCopyingLevyInCents: type: integer format: int64 productName: type: string serialNumbers: type: array items: type: string status: type: string title: ContractingSuborder FixedNumberPresentation: type: object properties: description: type: string enum: - ORGANISATION - FIXED_NUMBER - HUNTGROUP - CALL_CENTER number: type: string title: FixedNumberPresentation FlexibleNumberPresentation: type: object properties: defaultNumber: type: string fixedNumbers: type: array items: $ref: '#/definitions/FixedNumberPresentation' mobileNumberPresentation: type: boolean title: FlexibleNumberPresentation Hardware: type: object properties: apple: type: boolean contractItem: $ref: '#/definitions/ContractItem' imei: type: string product: $ref: '#/definitions/Product' returned: type: boolean samsung: type: boolean serialNumber: type: string title: Hardware HardwareSuborder: type: object properties: imeiNumber: type: string name: $ref: '#/definitions/LocalizedString' priceInCents: type: integer format: int64 serialNumber: type: string title: HardwareSuborder LocalizedString: type: object properties: en: type: string description: English version nl: type: string description: Dutch version title: LocalizedString description: Text with two language versions #Edited #OperationAvailability: #type: object #properties: #enabled: #type: boolean #visible: #type: boolean #title: OperationAvailability OperationAvailability: type: object properties: blockingOrders: type: array items: $ref: '#/definitions/BlockingOrder' enabled: type: boolean visible: type: boolean title: OperationAvailability Order: type: object properties: contractItems: type: array items: $ref: '#/definitions/ContractItem' creationDate: type: string customerReference: type: string finishDate: type: string id: type: integer format: int64 isBeingCanceled: type: boolean kpnReference: type: string msisdn: type: string orderedBy: $ref: '#/definitions/OrderParticipant' orderedFor: $ref: '#/definitions/OrderReceiver' portingMessage: type: string requiredAction: type: string enum: - AUTHORIZATION - PORT_IN_DATA_CHANGE status: type: string enum: - IN_PROGRESS - UNAUTHORIZED - NEW - CLOSED - CANCELED - REJECTED - DRAFT - THIRD_PARTY - HOLD_CUSTOMER - WAITING type: $ref: '#/definitions/LocalizedString' title: Order OrderAuthorizer: type: object properties: accountName: type: string firstName: type: string id: type: integer format: int64 lastName: type: string prefix: type: string spectatedBy: type: string title: OrderAuthorizer OrderCancelStatus: type: object properties: enabled: type: boolean visible: type: boolean title: OrderCancelStatus #Edited OrderDetails1: type: object properties: appleDepEnrollment: $ref: '#/definitions/OperationAvailability2' appleDepId: type: string attributes: type: object cancelOrder: $ref: '#/definitions/OrderCancelStatus1' changePortingData: $ref: '#/definitions/OperationAvailability2' changeWishDate: $ref: '#/definitions/OperationAvailability2' contextAccountId: type: integer format: int64 contextCustomerId: type: integer format: int64 creationDate: type: string format: date-time customerReference: type: string deliveryAddress: $ref: '#/definitions/Address1' deliveryId: type: string eSimConfirmationCode: type: string eSimEmail: type: string eid: type: integer format: int64 finishDate: type: string format: date-time firstPossibleWishDate: type: string format: date-time flexibleNumberPresentation: $ref: '#/definitions/FlexibleNumberPresentation1' id: type: integer format: int64 invoiceAddress: $ref: '#/definitions/Address2' items: type: array items: $ref: '#/definitions/ContractingSuborder1' kpnReference: type: string msisdn: type: string oneTimeCostInCents: type: integer format: int32 personsInvolved: $ref: '#/definitions/OrderParticipants1' portingCustomerNumber: type: string portingMessage: type: string recurringCostInCents: type: integer format: int32 registeredForAppleDep: type: boolean registeredForSamsungKnox: type: boolean requiredAction: type: string enum: - AUTHORIZATION - PORT_IN_DATA_CHANGE returnHardware: $ref: '#/definitions/OperationAvailability2' samsungKnoxEnrollment: $ref: '#/definitions/OperationAvailability2' samsungKnoxId: type: string sim: type: string startDate: type: string format: date-time status: type: string enum: - CANCELED - CLOSED - DRAFT - HOLD_CUSTOMER - IN_PROGRESS - NEW - REJECTED - THIRD_PARTY - UNAUTHORIZED - WAITING thresholds: type: object description: 'Possible keys: VOICE_NATIONAL_MIN, VOICE_ROAMING_EUR, DATA_NATIONAL_MB, DATA_ROAMING_MB' additionalProperties: $ref: '#/definitions/Threshold1' type: $ref: '#/definitions/LocalizedString1' wishDate: type: string format: date-time title: OrderDetails1 OperationAvailability2: type: object properties: enabled: type: boolean visible: type: boolean title: OperationAvailability2 OrderCancelStatus1: type: object properties: enabled: type: boolean visible: type: boolean title: OrderCancelStatus1 Address1: type: object properties: attention: type: string city: type: string companyName: type: string country: type: string floor: type: string houseNumber: type: string location: type: string postalCode: type: string provinceOrState: type: string room: type: string street: type: string title: Address1 FlexibleNumberPresentation1: type: object properties: defaultNumber: type: string fixedNumbers: type: array items: $ref: '#/definitions/FixedNumberPresentation' mobileNumberPresentation: type: boolean title: FlexibleNumberPresentation1 Address2: type: object properties: attention: type: string city: type: string companyName: type: string country: type: string floor: type: string houseNumber: type: string location: type: string postalCode: type: string provinceOrState: type: string room: type: string street: type: string title: Address2 ContractingSuborder1: type: object properties: children: type: array items: $ref: '#/definitions/ContractingSuborder' expectedDeliveryDate: type: string id: type: string imeiNumbers: type: array items: type: string mobileNumbers: type: array items: type: string multiplicity: type: integer format: int64 name: $ref: '#/definitions/LocalizedString' oneTimePriceInCents: type: integer format: int64 privateCopyingLevyInCents: type: integer format: int64 productName: type: string serialNumbers: type: array items: type: string status: type: string title: ContractingSuborder1 OrderParticipants1: type: object properties: approvedBy: $ref: '#/definitions/OrderAuthorizer1' orderedBy: $ref: '#/definitions/OrderParticipant1' receivedBy: $ref: '#/definitions/OrderReceiver1' title: OrderParticipants1 OrderAuthorizer1: type: object properties: accountName: type: string firstName: type: string id: type: integer format: int64 lastName: type: string prefix: type: string spectatedBy: type: string title: OrderAuthorizer1 OrderParticipant1: type: object properties: accountName: type: string firstName: type: string id: type: integer format: int64 lastName: type: string prefix: type: string title: OrderParticipant1 OrderReceiver1: type: object properties: accountName: type: string companyName: type: string employeeNumber: type: string firstName: type: string id: type: integer format: int64 lastName: type: string prefix: type: string title: OrderReceiver1 Threshold1: type: object properties: id: type: integer format: int64 name: type: string title: Threshold1 LocalizedString1: type: object properties: en: type: string description: English version nl: type: string description: Dutch version title: LocalizedString1 description: Text with two language versions #Edit Ends OrderParticipant: type: object properties: accountName: type: string firstName: type: string id: type: integer format: int64 lastName: type: string prefix: type: string title: OrderParticipant OrderParticipants: type: object properties: approvedBy: $ref: '#/definitions/OrderAuthorizer' orderedBy: $ref: '#/definitions/OrderParticipant' receivedBy: $ref: '#/definitions/OrderReceiver' title: OrderParticipants OrderReceiver: type: object properties: accountName: type: string companyName: type: string employeeNumber: type: string firstName: type: string id: type: integer format: int64 lastName: type: string prefix: type: string title: OrderReceiver PagedResult_Order_: type: object properties: result: type: array description: One page of result items: $ref: '#/definitions/Order' total: type: integer format: int32 description: Total number of all elements in collection title: PagedResult_Order_ description: Paged list of elements PagedResult_ReturnedHardwareServiceRequests_: type: object properties: result: type: array description: One page of result items: $ref: '#/definitions/ReturnedHardwareServiceRequests' total: type: integer format: int32 description: Total number of all elements in collection title: PagedResult_ReturnedHardwareServiceRequests_ description: Paged list of elements PagedResult_ServiceRequest_: type: object properties: result: type: array description: One page of result items: $ref: '#/definitions/ServiceRequest' total: type: integer format: int32 description: Total number of all elements in collection title: PagedResult_ServiceRequest_ description: Paged list of elements PrettyContractingSuborder: type: object properties: expectedDeliveryDate: type: string imeiNumbers: type: array items: type: string mobileNumbers: type: array items: type: string multiplicity: type: integer format: int64 name: $ref: '#/definitions/LocalizedString' oneTimePriceInCents: type: integer format: int64 privateCopyingLevyInCents: type: integer format: int64 serialNumbers: type: array items: type: string status: type: string title: PrettyContractingSuborder PrettyOrderDetails: type: object properties: appleDepEnrollment: $ref: '#/definitions/OperationAvailability' appleDepId: type: string cancelOrder: $ref: '#/definitions/OrderCancelStatus' changePortingData: $ref: '#/definitions/OperationAvailability' changeWishDate: $ref: '#/definitions/OperationAvailability' creationDate: type: string format: date-time customerReference: type: string deliveryAddress: $ref: '#/definitions/Address' deliveryId: type: string eSimConfirmationCode: type: string eSimEmail: type: string finishDate: type: string format: date-time firstPossibleWishDate: type: string format: date-time flexibleNumberPresentation: $ref: '#/definitions/FlexibleNumberPresentation' id: type: integer format: int64 invoiceAddress: $ref: '#/definitions/Address' items: type: object additionalProperties: type: array items: $ref: '#/definitions/PrettyContractingSuborder' kpnReference: type: string msisdn: type: string oneTimeCostInCents: type: integer format: int32 personsInvolved: $ref: '#/definitions/OrderParticipants' portingCustomerNumber: type: string portingMessage: type: string recurringCostInCents: type: integer format: int32 registeredForAppleDep: type: boolean registeredForSamsungKnox: type: boolean requiredAction: type: string enum: - AUTHORIZATION - PORT_IN_DATA_CHANGE returnHardware: $ref: '#/definitions/OperationAvailability' samsungKnoxEnrollment: $ref: '#/definitions/OperationAvailability' samsungKnoxId: type: string sim: type: string status: type: string enum: - IN_PROGRESS - UNAUTHORIZED - NEW - CLOSED - CANCELED - REJECTED - DRAFT - THIRD_PARTY - HOLD_CUSTOMER - WAITING thresholds: type: object description: 'Possible keys: VOICE_NATIONAL_MIN, VOICE_ROAMING_EUR, DATA_NATIONAL_MB, DATA_ROAMING_MB' additionalProperties: $ref: '#/definitions/Threshold' type: $ref: '#/definitions/LocalizedString' wishDate: type: string format: date-time title: PrettyOrderDetails Product: type: object properties: bsId: type: integer format: int64 name: type: string oneTimePriceInCents: type: integer format: int64 privateCopyingLevyInCents: type: integer format: int64 title: Product ReturnedHardware: type: object properties: multiplicity: type: integer format: int32 product: type: string title: ReturnedHardware ReturnedHardwareServiceRequests: type: object properties: creationDate: type: string id: type: integer format: int64 kpnReference: type: string parentOrderSymbol: type: string requestBy: $ref: '#/definitions/OrderParticipant' returnedHardware: type: array items: $ref: '#/definitions/ReturnedHardware' status: type: string enum: - IN_PROGRESS - UNAUTHORIZED - NEW - CLOSED - CANCELED - REJECTED - DRAFT - THIRD_PARTY - HOLD_CUSTOMER - WAITING title: ReturnedHardwareServiceRequests Serializable: type: object title: Serializable ServiceRequest: type: object properties: creationDate: type: string customerReference: type: string finishDate: type: string format: date-time fixedNumber: type: string id: type: integer format: int64 isBeingCanceled: type: boolean kpnReference: type: string msisdn: type: string orderedBy: $ref: '#/definitions/OrderParticipant' orderedFor: $ref: '#/definitions/OrderReceiver' requiredAction: type: string enum: - AUTHORIZATION - PORT_IN_DATA_CHANGE status: type: string enum: - IN_PROGRESS - UNAUTHORIZED - NEW - CLOSED - CANCELED - REJECTED - DRAFT - THIRD_PARTY - HOLD_CUSTOMER - WAITING type: $ref: '#/definitions/LocalizedString' title: ServiceRequest ServiceRequestDetails: type: object properties: attachments: type: array items: $ref: '#/definitions/Attachment' attributes: type: object cancelOrder: $ref: '#/definitions/OrderCancelStatus' creationDate: type: string format: date-time customerReference: type: string expectedDate: type: string format: date-time finishDate: type: string format: date-time flexibleNumberPresentation: $ref: '#/definitions/FlexibleNumberPresentation' hardwareItems: type: array items: $ref: '#/definitions/HardwareSuborder' id: type: integer format: int64 invoiceAddress: $ref: '#/definitions/Address' kpnReference: type: string modifiedItems: type: array items: $ref: '#/definitions/ContractServiceUpdate' newSim: type: string personsInvolved: $ref: '#/definitions/OrderParticipants' reactivate: $ref: '#/definitions/OperationAvailability' requiredAction: type: string enum: - AUTHORIZATION - PORT_IN_DATA_CHANGE sim: type: string status: type: string enum: - IN_PROGRESS - UNAUTHORIZED - NEW - CLOSED - CANCELED - REJECTED - DRAFT - THIRD_PARTY - HOLD_CUSTOMER - WAITING thresholds: type: object description: 'Possible keys: VOICE_NATIONAL_MIN, VOICE_ROAMING_EUR, DATA_NATIONAL_MB, DATA_ROAMING_MB' additionalProperties: $ref: '#/definitions/Threshold' totalPriceInCents: type: integer format: int64 type: $ref: '#/definitions/LocalizedString' wishDate: type: string format: date-time title: ServiceRequestDetails #Edited Threshold: type: object properties: dailyValue: type: number format: float id: type: integer format: int64 name: type: string type: type: string enum: - DATA_NATIONAL_MB - DATA_ROAMING_MB - VOICE_NATIONAL_MIN - VOICE_ROAMING_EUR title: Threshold AuthorizeRequest: type: object properties: orderId: type: integer format: int64 title: AuthorizeRequest BlockSimRequest: type: object properties: contractId: type: integer format: int64 referenceNumber: type: string title: BlockSimRequest BlockingOrder: type: object properties: id: type: integer format: int64 kpnReference: type: string status: type: string enum: - IN_PROGRESS - UNAUTHORIZED - NEW - CLOSED - CANCELED - REJECTED - DRAFT - THIRD_PARTY - HOLD_CUSTOMER - WAITING type: type: string enum: - CONTRACTING - SERVICE_REQUEST title: BlockingOrder HardwareEnrollmentRequest: type: object properties: orderId: type: integer format: int64 description: Id of order which hardware was ordered referenceNumber: type: string title: HardwareEnrollmentRequest MoveContractRequest: type: object properties: contractId: type: integer format: int64 destinationGroupId: type: integer format: int64 moveAddonBundles: type: boolean referenceNumber: type: string wishDate: type: string format: date-time title: MoveContractRequest OperationAvailability1: type: object properties: blockingOrders: type: array items: $ref: '#/definitions/BlockingOrder' enabled: type: boolean visible: type: boolean title: OperationAvailability OperationsAvailability: type: object properties: blockSim: $ref: '#/definitions/OperationAvailability' combineFixedMobile: $ref: '#/definitions/OperationAvailability' contractId: type: integer format: int64 modify: $ref: '#/definitions/OperationAvailability' move: $ref: '#/definitions/OperationAvailability' portOut: $ref: '#/definitions/OperationAvailability' replaceSim: $ref: '#/definitions/OperationAvailability' separateFixedMobile: $ref: '#/definitions/OperationAvailability' terminate: $ref: '#/definitions/OperationAvailability' unblockSim: $ref: '#/definitions/OperationAvailability' title: OperationsAvailability OrderSummary: type: object properties: contextName: type: string creationDate: type: string id: type: integer format: int64 operation: type: string referenceNumber: type: string status: type: string enum: - Failed - Aborted - Finished - Suspended - InProgress - Waiting - Draft - WaitingForAuthorization - Authorized - Restored - Canceled - Scheduled - Initialized - Rejected - ExternalScheduled title: OrderSummary PortingOutRequest: type: object properties: contractId: type: integer format: int64 referenceNumber: type: string wishDate: type: string format: date-time title: PortingOutRequest ReplaceSimRequest: type: object properties: confirmationCode: type: string contractId: type: integer format: int64 email: type: string esim: type: boolean newSimCardNumber: type: string referenceNumber: type: string wishDate: type: string format: date-time title: ReplaceSimRequest ReturnHardwareRequest: type: object properties: email: type: string hardwareToReturn: type: array description: Contract items' ids which represent hardware (you can find them in track-and-trace-service/orders/{id}/hardware) items: type: integer format: int64 orderId: type: integer format: int64 description: Id of order which hardware was ordered reason: type: string enum: - WRONG_DELIVERY - DEFECTIVE_ON_ARRIVAL - OTHER referenceNumber: type: string remarks: type: string title: ReturnHardwareRequest TerminateContractRequest: type: object properties: contractId: type: integer format: int64 referenceNumber: type: string wishDate: type: string format: date-time title: TerminateContractRequest TerminationFee: type: object properties: terminationFeeInCents: type: integer format: int32 title: TerminationFee UiccidValidationData: type: object properties: contractId: type: integer format: int64 newSimCardNumber: type: string title: UiccidValidationData UnblockSimRequest: type: object properties: contractId: type: integer format: int64 referenceNumber: type: string title: UnblockSimRequest BulkOrderSummary: type: object properties: orders: type: array items: $ref: '#/definitions/CreatedOrder' referenceNumber: type: string title: BulkOrderSummary BusinessLocationDetails: type: object properties: activeFrom: type: string format: date-time activeTo: type: string format: date-time contactEmail: type: string contactName: type: string contactPhoneNumber: type: string expectedNumberOfUsers: type: integer format: int64 externalAccountNumber: type: string primaryAddress: $ref: '#/definitions/LocationAddress' title: BusinessLocationDetails Contract: type: object properties: category: type: string extension: type: string firstName: type: string fixedNumber: type: string id: type: integer format: int64 imei: type: string lastName: type: string mobileNumber: type: string namePrefix: type: string product: $ref: '#/definitions/LocalizedString' productCategory: type: string simCardNumber: type: string sipAccount: type: string state: type: string enum: - ACTIVE - CLOSED - ORDERED - PENDING - BLOCKED title: Contract CostCenterDetails: type: object properties: number: type: string title: CostCenterDetails CreateCostCenterRequestParams: type: object properties: costCenterNumber: type: string groupId: type: integer format: int64 name: type: string title: CreateCostCenterRequestParams CreateGroupResponse: type: object properties: groupId: type: integer format: int64 title: CreateGroupResponse CreateSubscriberRequestParams: type: object properties: groupId: type: integer format: int64 referenceNumber: type: string subscriber: $ref: '#/definitions/SubscriberDetailsRequestParams' userAdditionalInfo: $ref: '#/definitions/UserAdditionalInfo' title: CreateSubscriberRequestParams CreateVirtualGroupRequestParams: type: object properties: groupId: type: integer format: int64 name: type: string title: CreateVirtualGroupRequestParams CreatedOrder: type: object properties: contextName: type: string id: type: integer format: int64 operation: type: string title: CreatedOrder CustomerDetails: type: object properties: billingOwner: type: string billingRetentionPeriod: type: string enum: - '6' - '25' ckrNumber: type: string krnNumber: type: string orderFrozen: type: boolean orderFrozenFrom: type: string format: date-time orderFrozenTo: type: string format: date-time title: CustomerDetails DebtorDetails: type: object properties: activeFrom: type: string format: date-time additionalInvoiceLayuot: type: string enum: - CSV - XML appleDepId: type: string billingAddress: $ref: '#/definitions/LocationAddress' inviceFlag: type: boolean invoiceDistribution: type: string enum: - MAIL - EMAIL - EINVOICE invoiceLanguage: type: string enum: - EN - NL krnNumber: type: string primaryAddress: $ref: '#/definitions/LocationAddress' primaryEmail: type: string samsungKnoxId: type: string title: DebtorDetails DeleteSubscriberRequestParams: type: object properties: referenceNumber: type: string title: DeleteSubscriberRequestParams EditRolesRequest: type: object properties: rolesToAdd: type: array items: type: integer format: int64 rolesToRemove: type: array items: type: integer format: int64 title: EditRolesRequest GripEntity: type: object properties: email: type: string employeeNumber: type: string firstName: type: string fixedNumber: type: string gender: type: string enum: - MALE - FEMALE - OTHER id: type: integer format: int64 mobileNumber: type: string preferredLanguage: type: string enum: - EN - NL surname: type: string userName: type: string title: GripEntity HierarchyItemDetails: type: object properties: businessLocation: $ref: '#/definitions/BusinessLocationDetails' costCenter: $ref: '#/definitions/CostCenterDetails' customer: $ref: '#/definitions/CustomerDetails' debtor: $ref: '#/definitions/DebtorDetails' name: type: string path: type: array items: $ref: '#/definitions/VirtualHierarchyItem' title: HierarchyItemDetails HierarchyItemOperationsAvailability: type: object properties: createCostCenter: $ref: '#/definitions/HierarchyOperationEnabled' createSubscriber: $ref: '#/definitions/HierarchyOperationEnabled' createVirtualGroup: $ref: '#/definitions/HierarchyOperationEnabled' move: $ref: '#/definitions/HierarchyOperationEnabled' remove: $ref: '#/definitions/HierarchyOperationEnabled' update: $ref: '#/definitions/HierarchyOperationEnabled' title: HierarchyItemOperationsAvailability HierarchyOperationEnabled: type: object properties: enabled: type: boolean reason: type: string title: HierarchyOperationEnabled HierarchyOperationsAvailability: type: object properties: create: $ref: '#/definitions/HierarchyOperationEnabled' edit: $ref: '#/definitions/HierarchyOperationEnabled' move: $ref: '#/definitions/HierarchyOperationEnabled' remove: $ref: '#/definitions/HierarchyOperationEnabled' view: $ref: '#/definitions/HierarchyOperationEnabled' title: HierarchyOperationsAvailability LinkSubscriberToGripRequestParams: type: object properties: email: type: string fixedNumber: type: string description: Should apply to format 31XXXYYYZZZ or 0XXXYYYZZZ gripEntityId: type: integer format: int64 managedEntities: type: array items: type: integer format: int64 mobileNumber: type: string description: Should apply to format 316XXXYYYZZ or 06XXXYYYZZ referenceNumber: type: string roles: type: array items: type: integer format: int64 subscriberId: type: integer format: int64 title: LinkSubscriberToGripRequestParams LocationAddress: type: object properties: attention: type: string city: type: string country: type: string floor: type: string houseNumber: type: string location: type: string partyName: type: string poBoxNumber: type: string postalCode: type: string room: type: string street: type: string title: LocationAddress ManagedGroupAssignmentParams: type: object properties: groupIds: type: array items: type: integer format: int64 title: ManagedGroupAssignmentParams MoveGroupsParams: type: object properties: destinationGroupId: type: integer format: int64 movedGroupIds: type: array items: type: integer format: int64 referenceNumber: type: string wishDate: type: string format: date-time title: MoveGroupsParams MoveSubscriberRequestParams: type: object properties: destinationGroupId: type: integer format: int64 referenceNumber: type: string wishDate: type: string format: date-time title: MoveSubscriberRequestParams OperationEnabled: type: object properties: blockingOrders: type: array items: $ref: '#/definitions/BlockingOrder' enabled: type: boolean title: OperationEnabled OperationState: type: object properties: blocked: type: boolean blockingOrders: type: array items: $ref: '#/definitions/BlockingOrder' reason: type: string title: OperationState PagedResult_Contract_: type: object properties: result: type: array description: One page of result items: $ref: '#/definitions/Contract' total: type: integer format: int32 description: Total number of all elements in collection title: PagedResult_Contract_ description: Paged list of elements PagedResult_Role_: type: object properties: result: type: array description: One page of result items: $ref: '#/definitions/Role' total: type: integer format: int32 description: Total number of all elements in collection title: PagedResult_Role_ description: Paged list of elements PagedResult_Subscriber_: type: object properties: result: type: array description: One page of result items: $ref: '#/definitions/Subscriber' total: type: integer format: int32 description: Total number of all elements in collection title: PagedResult_Subscriber_ description: Paged list of elements PagedResult_VirtualHierarchyItem_: type: object properties: result: type: array description: One page of result items: $ref: '#/definitions/VirtualHierarchyItem' total: type: integer format: int32 description: Total number of all elements in collection title: PagedResult_VirtualHierarchyItem_ description: Paged list of elements Role: type: object properties: id: type: integer format: int64 name: type: string selected: type: boolean title: Role Subscriber: type: object properties: contracts: $ref: '#/definitions/SubscriberContracts' employeeNumber: type: string firstName: type: string fixedNumber: type: string gripUser: type: boolean id: type: integer format: int64 lastName: type: string path: type: array items: $ref: '#/definitions/VirtualHierarchyItem' prefix: type: string user: type: boolean title: Subscriber SubscriberContracts: type: object properties: amount: type: integer format: int32 firstPhoneNumber: type: string title: SubscriberContracts SubscriberDetails: type: object properties: comments: type: string email: type: string employeeNumber: type: string firstName: type: string fixedNumber: type: string gender: type: string enum: - MALE - FEMALE - OTHER gripUser: type: boolean id: type: integer format: int64 location: type: array items: type: string mobileNumber: type: string path: type: array items: $ref: '#/definitions/VirtualHierarchyItem' preferredLanguage: type: string enum: - EN - NL surname: type: string surnamePrefix: type: string user: type: boolean vip: type: boolean title: SubscriberDetails SubscriberDetailsRequestParams: type: object required: - surname properties: comments: type: string minLength: 0 maxLength: 4000 email: type: string employeeNumber: type: string minLength: 0 maxLength: 100 firstName: type: string minLength: 0 maxLength: 100 fixedNumber: type: string description: Should apply to format 31XXXYYYZZZ or 0XXXYYYZZZ gender: type: string enum: - MALE - FEMALE - OTHER mobileNumber: type: string description: Should apply to format 316XXXYYYZZ or 06XXXYYYZZ preferredLanguage: type: string enum: - EN - NL surname: type: string minLength: 1 maxLength: 100 surnamePrefix: type: string minLength: 0 maxLength: 32 vip: type: boolean title: SubscriberDetailsRequestParams SubscriberOperationsAvailability: type: object properties: editable: $ref: '#/definitions/OperationEnabled' movable: $ref: '#/definitions/OperationEnabled' removable: $ref: '#/definitions/OperationEnabled' rolesEditable: $ref: '#/definitions/OperationEnabled' title: SubscriberOperationsAvailability UpdateChildRequestParams: type: object properties: costCenterNumber: type: string name: type: string title: UpdateChildRequestParams UpdateSubscriberRequestParams: type: object properties: referenceNumber: type: string subscriber: $ref: '#/definitions/SubscriberDetailsRequestParams' title: UpdateSubscriberRequestParams UserAdditionalInfo: type: object properties: gripEntityId: type: integer format: int64 managedEntities: type: array items: type: integer format: int64 roles: type: array items: type: integer format: int64 title: UserAdditionalInfo VirtualHierarchyItem: type: object properties: costCenterNumber: type: string email: type: string employeeNumber: type: string firstName: type: string id: type: integer format: int64 lastName: type: string name: type: string operation: $ref: '#/definitions/OperationState' path: type: array items: $ref: '#/definitions/VirtualHierarchyItem' prefix: type: string type: type: string enum: - CUSTOMER - DEBTOR - SUBSCRIBER - COST_CENTER - CUSTOM_GROUP - BUSINESS_LOCATION title: VirtualHierarchyItem ChangeBillingPeriodRequestParams: type: object properties: period: type: string enum: - '6' - '25' referenceNumber: type: string title: ChangeBillingPeriodRequestParams Invoice: type: object properties: date: type: string format: date-time debtorName: type: string id: type: integer format: int64 number: type: string payBeforeDate: type: string format: date-time totalAmountToPayInCents: type: integer format: int32 type: type: string enum: - CREDIT_NOTE - HARDWARE_ADJUSTMENT - HARDWARE_INVOICE - HARDWARE_INVOICE_ADJUSTMENT - SERVICE_ADJUSTMENT - SERVICE_INVOICE - SERVICE_INVOICE_ADJUSTMENT title: Invoice PagedResult_Invoice_: type: object properties: result: type: array description: One page of result items: $ref: '#/definitions/Invoice' total: type: integer format: int32 description: Total number of all elements in collection title: PagedResult_Invoice_ description: Paged list of elements DeliveryAddress: type: object properties: addressName: type: string attention: type: string city: type: string companyName: type: string country: type: string floor: type: string houseNumber: type: string id: type: integer format: int64 location: type: string postalCode: type: string room: type: string street: type: string title: DeliveryAddress DeliveryAddressRequest: type: object required: - city - companyName - country - houseNumber - postalCode - street properties: addressName: type: string attention: type: string minLength: 0 maxLength: 35 city: type: string minLength: 1 maxLength: 30 companyName: type: string minLength: 1 maxLength: 35 country: type: string description: Only "NL" value is supported floor: type: string minLength: 0 maxLength: 21 houseNumber: type: string minLength: 1 maxLength: 5 location: type: string minLength: 0 maxLength: 21 postalCode: type: string example: 1234AB description: should contain 4 digits first and then 2 letters room: type: string minLength: 0 maxLength: 20 street: type: string minLength: 1 maxLength: 24 title: DeliveryAddressRequest AssignContractsToThresholdRequestParams: type: object properties: contractsIds: type: array items: type: integer format: int64 title: AssignContractsToThresholdRequestParams ContractDetails: type: object properties: activationDate: type: string format: date-time endDate: type: string format: date-time enterpriseId: type: string enterpriseName: type: string extension: type: string fixedMobilePbxId: type: string fixedMobilePbxName: type: string fixedNumber: type: string flexibleNumberPresentation: $ref: '#/definitions/FlexibleNumberPresentation' hierarchyPath: type: array description: Location of contract in company hierarchy items: $ref: '#/definitions/VirtualHierarchyItem' id: type: integer format: int64 imei: type: string individualBundle: type: boolean lastStatusChangeDate: type: string format: date-time multiplicity: type: integer format: int64 name: $ref: '#/definitions/LocalizedString' pbxName: type: string phoneNumber: type: string pin: type: string puk: type: string simCardNumber: type: string sipAccount: type: string startDate: type: string format: date-time status: type: string description: 'Possible values: A - active, C - closed, O - ordered, P - pending, S - blocked' tariffPlan: type: string uiccid: type: string userGroupId: type: string userGroupName: type: string userId: type: string userPrincipalName: type: string title: ContractDetails ContractForOperation: type: object properties: firstName: type: string fixedNumber: type: string id: type: integer format: int64 lastName: type: string mobileNumber: type: string namePrefix: type: string operation: description: 'Information if combination is possible and eventualy reason why it is not' $ref: '#/definitions/OperationState' title: ContractForOperation PagedResult_ContractForOperation_: type: object properties: result: type: array description: One page of result items: $ref: '#/definitions/ContractForOperation' total: type: integer format: int32 description: Total number of all elements in collection title: PagedResult_ContractForOperation_ description: Paged list of elements RemoveThresholdParams: type: object properties: thresholdIds: type: array items: type: integer format: int64 title: RemoveThresholdParams ThresholdDetails: type: object properties: changeType: $ref: '#/definitions/OperationEnabled' delete: $ref: '#/definitions/OperationEnabled' threshold: $ref: '#/definitions/Threshold' title: ThresholdDetails ThresholdRequestParams: type: object properties: dailyValue: type: number format: float name: type: string type: type: string enum: - VOICE_NATIONAL_MIN - VOICE_ROAMING_EUR - DATA_NATIONAL_MB - DATA_ROAMING_MB title: ThresholdRequestParams UnassignContractsFromThresholdRequestParams: type: object properties: contractsIds: type: array items: type: integer format: int64 title: UnassignContractsFromThresholdRequestParams BasketChange: type: object properties: accountGroupId: type: integer format: int64 description: Account group for which new contract is to be created (usually it is subscriber) characteristicActions: type: array items: $ref: '#/definitions/CharacteristicAction' contractId: type: integer format: int64 fixedContractId: type: integer format: int64 mobileContractId: type: integer format: int64 orderId: type: integer format: int64 description: Termination order (use this field to initialize reactivation in conjuction with accountGroupId) productActions: type: array items: $ref: '#/definitions/ProductAction' simCardNumber: type: string templateId: type: string templateIdToModify: type: integer format: int64 title: BasketChange BasketSnapshot: type: object properties: characteristics: type: object additionalProperties: $ref: '#/definitions/Characteristic' oldPrice: $ref: '#/definitions/Price' productTree: type: array items: $ref: '#/definitions/ProductTreeItem' totalPrice: $ref: '#/definitions/Price' title: BasketSnapshot Characteristic: type: object properties: name: type: string possibleValues: type: array items: $ref: '#/definitions/CharacteristicRestriction' value: type: string title: Characteristic CharacteristicAction: type: object properties: name: type: string value: type: string title: CharacteristicAction CharacteristicRestriction: type: object properties: caption: $ref: '#/definitions/LocalizedString' value: type: string title: CharacteristicRestriction DeliveryAddressRequest1: type: object required: - city - companyName - country - houseNumber - postalCode - street properties: addressName: type: string attention: type: string minLength: 0 maxLength: 35 city: type: string minLength: 1 maxLength: 30 companyName: type: string minLength: 1 maxLength: 35 country: type: string description: Only "NL" value is supported floor: type: string minLength: 0 maxLength: 21 houseNumber: type: string minLength: 1 maxLength: 5 location: type: string minLength: 0 maxLength: 21 postalCode: type: string example: 1234AB description: should contain 4 digits first and then 2 letters room: type: string minLength: 0 maxLength: 20 street: type: string minLength: 1 maxLength: 24 title: DeliveryAddressRequest Error: type: object properties: hint: $ref: '#/definitions/LocalizedString' message: $ref: '#/definitions/LocalizedString' title: Error File: type: object properties: absolute: type: boolean absoluteFile: $ref: '#/definitions/File' absolutePath: type: string canonicalFile: $ref: '#/definitions/File' canonicalPath: type: string directory: type: boolean executable: type: boolean file: type: boolean freeSpace: type: integer format: int64 hidden: type: boolean lastModified: type: integer format: int64 name: type: string parent: type: string parentFile: $ref: '#/definitions/File' path: type: string readable: type: boolean totalSpace: type: integer format: int64 usableSpace: type: integer format: int64 writable: type: boolean title: File OneTimePrice: type: object properties: activationFeeInCents: type: number hardwareFeeInCents: type: number privateCopyingLevyInCents: type: number title: OneTimePrice OrderConfirmation: type: object properties: orderId: type: integer format: int64 title: OrderConfirmation OrderRequest: type: object properties: address: $ref: '#/definitions/DeliveryAddressRequest' addressId: type: integer format: int64 referenceNumber: type: string wishDate: type: string format: date-time title: OrderRequest #Edited PagedResult_Product_1: type: object properties: result: type: array description: One page of result items: $ref: '#/definitions/Product1' total: type: integer format: int32 description: Total number of all elements in collection title: PagedResult_Product_1 description: Paged list of elements Product1: type: object properties: category: type: string enum: - CENTREX - FIXED - FIXED_MOBILE - HARDWARE - MOBILE - OTHER - SKYPE_FOR_BUSINESS - SOFTWARE id: type: string name: $ref: '#/definitions/LocalizedString' priceInCents: type: number privateCopyingLevyInCents: type: number subcategory: type: string title: Product1 #Edit End PagedResult_Product_: type: object properties: result: type: array description: One page of result items: $ref: '#/definitions/Product' total: type: integer format: int32 description: Total number of all elements in collection title: PagedResult_Product_ description: Paged list of elements PagedResult_Template_: type: object properties: result: type: array description: One page of result items: $ref: '#/definitions/Template' total: type: integer format: int32 description: Total number of all elements in collection title: PagedResult_Template_ description: Paged list of elements Price: type: object properties: oneTime: $ref: '#/definitions/OneTimePrice' recurring: $ref: '#/definitions/RecurringPrice' title: Price ProductAction: type: object properties: amount: type: integer format: int32 productId: type: string type: type: string enum: - PUT - REMOVE title: ProductAction ProductTreeItem: type: object properties: amount: type: integer format: int32 canOrderMoreThanOne: type: boolean children: type: array items: $ref: '#/definitions/ProductTreeItem' childrenSelectionStrategy: type: string description: Information how many children of this item can be selected enum: - SELECT_ONE - SELECT_MANY - NONE contracted: type: boolean description: Is already contracted (important during contract modification)? disabled: type: boolean description: Can be select / deselect? error: $ref: '#/definitions/Error' id: type: string name: $ref: '#/definitions/LocalizedString' price: $ref: '#/definitions/Price' selected: type: boolean description: Is currently selected? visible: type: boolean description: Should be presented to end user? title: ProductTreeItem RecurringPrice: type: object properties: monthlyFeeInCents: type: number title: RecurringPrice Resource: type: object properties: address: type: string id: type: integer format: int64 title: Resource SaveAsTemplateRequest: type: object properties: groupId: type: integer format: int64 name: type: string title: SaveAsTemplateRequest SaveAsTemplateResponse: type: object properties: id: type: integer format: int64 title: SaveAsTemplateResponse SeparateFixedMobileRequest: type: object properties: contractId: type: integer format: int64 referenceNumber: type: string title: SeparateFixedMobileRequest Template: type: object properties: customerLevel: type: boolean id: type: string name: type: string product: $ref: '#/definitions/Product' reason: type: string enum: - INVALID_PRODUCT_CONFIGURATION - HARDWARE_IN_TEMPLATE - NOT_SUPPORTED_PRODUCT templateDefinitionId: type: integer format: int64 valid: type: boolean title: Template TemplateDetailsWithLocations: type: object properties: customerLevel: type: boolean id: type: integer format: int64 items: type: array items: $ref: '#/definitions/TemplateItem' locations: type: array items: type: array items: $ref: '#/definitions/VirtualHierarchyItem' name: type: string valid: type: boolean title: TemplateDetailsWithLocations TemplateItem: type: object properties: items: type: array items: $ref: '#/definitions/TemplateItem' option: type: string enum: - NOT_AVAILABLE - AVAILABLE - DEFAULT_DESELECTED - DEFAULT_SELECTED - REQUIRED productName: $ref: '#/definitions/LocalizedString' title: TemplateItem TemplateOverview: type: object properties: customerLevel: type: boolean id: type: integer format: int64 name: type: string valid: type: boolean title: TemplateOverview # Added by API Auto Mocking Plugin